小编bur*_*ete的帖子

Rails单表继承 - 显式设置类型的最佳方法是什么?

我在rails应用程序中使用单表继承,并希望显式设置实例的类型.

我有以下几点;

class Event < ActiveRecord::Base
class SpecialEvent < Event
Run Code Online (Sandbox Code Playgroud)

这是通过单表继承实现的.

SpecialEvent.new 按预期工作,但我希望能够做到这样的事情

Event.new(:type => 'SpecialEvent')
Run Code Online (Sandbox Code Playgroud)

所以我可以在应用程序中轻松创建不同的子类型.

然而,这并不工作,似乎设置:typenil,没有价值我将其设置为; 我怀疑这是因为通过调用Event.new它会覆盖:type参数.

有没有人有这样做的好方法?

ruby-on-rails

10
推荐指数
3
解决办法
9862
查看次数

使用@ javax.validation.constraints.Digits检查bigdecimal在精度之后是否只有2位数

我有以下课程.

Class Item {

   private BigDecimal amount;

   ....
}
Run Code Online (Sandbox Code Playgroud)

我如何可以验证,它应该精度后只包含两个数字.即

2.19是正确的

2.292不正确

使用注释@javax.validation.constraints.Digits 以及如何显示自定义错误消息?

谢谢 :)

java annotations bigdecimal

10
推荐指数
2
解决办法
1万
查看次数

通过Linq表达式树识别事件

当一个事件没有出现在a +=或a 旁边时,编译器通常会窒息-=,所以我不确定这是否可行.

我希望能够通过使用表达式树来识别事件,因此我可以为测试创建事件监视器.语法看起来像这样:

using(var foo = new EventWatcher(target, x => x.MyEventToWatch) {
    // act here
}   // throws on Dispose() if MyEventToWatch hasn't fired
Run Code Online (Sandbox Code Playgroud)

我的问题有两个:

  1. 编译器会窒息吗?如果是这样,有关如何防止这种情况的任何建议?
  2. 如何从构造函数中解析Expression对象以附加到MyEventToWatch事件target

c# linq expression-trees

9
推荐指数
1
解决办法
2925
查看次数

如何将PNG文件设置为ImageView?

我有一个名为文件nochart.png/drawable.

我怎样才能将其设置为ImageView

chartImageView.setImageDrawable(R.drawable.nochart);
Run Code Online (Sandbox Code Playgroud)

不编译.

png android drawable imageview

9
推荐指数
1
解决办法
2万
查看次数

在logback中记录并行线程

我将尝试简要描述我的Selenium框架,以便我可以解释我的问题.

我使用Selenium 2(当前版本2.3.1)+ testNG 5.14

我设置了testng.xml文件来并行运行测试套件中的测试,只有2个实例

出于日志记录的目的,我使用logback(我读过的是日志世界中最好的东西)

我的问题是,当检查应用程序日志时,我得到这样的东西:

18:48:58.551 [TestNG] INFO daastsetup.TestConfiguration - 从用户池中检索随机用户

18:48:58.551 [TestNG] INFO daastsetup.TestConfiguration - 从用户池中检索随机用户

18:48:58.551 [TestNG] DEBUG daastsetup.TestConfiguration - 创建用于访问DataBase的DataSource

18:48:58.551 [TestNG] DEBUG daastsetup.TestConfiguration - 创建用于访问DataBase的DataSource

18:48:58.552 [TestNG] DEBUG daastsetup.TestConfiguration - 启动SQL查询

18:48:58.552 [TestNG] DEBUG daastsetup.TestConfiguration - 启动SQL查询

18:48:59.613 [TestNG] TRACE daastsetup.TestConfiguration - 查询成功

18:48:59.613 [TestNG] TRACE daastsetup.TestConfiguration - 查询成功

正如您所看到的,无法看到同时运行的两个线程之间的差异.我的问题是,有没有办法我可以配置回溯设置,以便他们还添加一个数字或Id来识别正在运行的每个线程?

PD为了防止它有所帮助,我的logback.xml文件如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>

  <appender name="FILE" class="ch.qos.logback.core.FileAppender">
    <file>logs/selenium.log</file>

    <encoder>
      <pattern>%date %level [%thread] %logger{10} [%file:%line] %msg%n</pattern>
    </encoder> …
Run Code Online (Sandbox Code Playgroud)

testng multithreading webdriver logback

9
推荐指数
3
解决办法
2万
查看次数

Java XMLGregorianCalendar中的TimeZone问题

我希望这不是重复.我在这里检查了其他搜索,他们似乎都在谈论使用SimpleDateFormat以正确的TimeZone格式"显示"日期.

但是,我的问题是我获得了一个XMLGregorianCalendar对象,让我们在"CET"中说.

我必须从这个对象中找出格式,并将当前时间也发送到与服务器相同的TimeZone中.

例如:我需要一个XMLGregorianCalendar对象,以这种格式返回我(使用Timezone):

2012-09-19T15:23:36.421 + 02:00

所以我只是尝试了以下代码片段似乎只返回本地时区的时间:(

TimeZone utc = TimeZone.getTimeZone("CET");
GregorianCalendar gc = new GregorianCalendar();
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ssZ");
df.setTimeZone(utc);
System.out.println(" - Gregorian UTC [" + df.format(gc.getTime()) + "]")

XMLGregorianCalendar currServTime = DatatypeFactory.newInstance().newXMLGregorianCalendar(gc);

System.out.println("currServTime is "+currServTime);
Run Code Online (Sandbox Code Playgroud)

java time timezone datetime-format

9
推荐指数
1
解决办法
3万
查看次数

大量提高插入性能

在我的应用程序中,我需要大量提高插入性能.示例:具有大约21K记录的文件需要超过100分钟才能插入.有理由可能需要一些时间,比如20分钟左右,但超过100分钟就太长了.

数据被插入3个表(多对多).Id是从序列生成的,但我已经用Google搜索并设置hibernate.id.new_generator_mappings = true并将allocationSize + sequence增量设置为1000.

此外,数据量根本不是特别的,文件是90 MB.

我已经用visual vm验证了大部分时间花在jdbc驱动程序(postgresql)和hibernate上.我认为该问题与子表中的唯一约束有关.服务层在插入之前进行手动检查(= SELECT).如果记录已存在,则重用它而不是等待约束异常.

因此,对于特定文件的总结,每个表将有1个插入(可能不同但不适用于此文件,这是理想(最快)的情况).这意味着总共60k插入+ 20k选择.仍然超过100分钟似乎很长(是的硬件计数,它是在一个简单的PC驱动器7200转,没有ssd或raid).然而,这是对先前应用程序(普通jdbc)的改进版本,在该应用程序上,此硬件上的相同插入大约需要15分钟.考虑到在两种情况下花费大约4-5分钟用于"预处理",增加是巨大的.

有什么提示可以改进吗?有没有批量加载功能?

bulkinsert spring-data-jpa

9
推荐指数
1
解决办法
1万
查看次数

在spring-boot webapp准备就绪后自动启动浏览器

如何在启动spring boot应用程序后自动启动浏览器.是否有任何侦听器方法回调以检查webapp是否已部署并准备好为请求提供服务,以便在加载浏览器时,用户可以看到索引页面并可以开始与webapp交互?

public static void main(String[] args) {
    SpringApplication.run(Application.class, args);
    // launch browser on localhost 
}
Run Code Online (Sandbox Code Playgroud)

spring spring-boot

9
推荐指数
3
解决办法
7715
查看次数

如何用java流添加所有内容?

如何使用java 8添加所有内容?

processeditemList is a Map<Integer, Map<Item, Boolean>> 
Run Code Online (Sandbox Code Playgroud)

至于现在我在做:

List<Item> itemList = Lists.newLinkedList();
for (Map<Item, Boolean> entry : processeditemList.values()) {
    itemList.addAll(entry.keySet());
}
return itemList;
Run Code Online (Sandbox Code Playgroud)

java java-8 java-stream

9
推荐指数
2
解决办法
9192
查看次数

MapStruct Mapper作为Spring Framework Converter-可以惯用吗?

我想将MapStruct映射器与Spring的Conversion模型结合起来。因此,我将每个Mapper接口声明为Spring的扩展Converter

@Mapper
public interface CarMapper extends Converter<Car, CarDto> {    
    @Override
    CarDto convert(Car car);    
}
Run Code Online (Sandbox Code Playgroud)

然后,我可以通过注入standard来使用mapper bean ConversionService

class CarWarehouse {
    @Autowired
    private ConversionService conversionService;

    ...

    public CarDto getCarInformation(Car car) {
        return conversionService.convert(car, CarDto.class);
    }
}
Run Code Online (Sandbox Code Playgroud)

这很好用,但是我想知道是否有一种方法可以避免通过uses属性直接将一些Mappers注入到其他对象中。我想要做的是告诉映射到useConversionService雇用其他制图。但是,由于ConversionServiceconvert方法与MapStruct的映射方法的标准模式不匹配,因此代码生成插件无法识别在寻找子映射时可以使用该服务。基本上,我想写的是

@Mapper(uses=ConversionService.class)
public interface ParentMapper extends Converter<Parent, ParentDto>
Run Code Online (Sandbox Code Playgroud)

代替

@Mapper(uses={ChildMapper1.class, ChildMapper2.class, ChildMapper3.class})
public interface ParentMapper extends Converter<Parent, ParentDto>
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点?

编辑

既然有人问过了,可以说我有一个CarMapper上面的定义,它的类型CarCarDto …

java spring mapstruct

9
推荐指数
1
解决办法
281
查看次数