小编sha*_*son的帖子

使用 JAXB XMLAnyElement 类型的样式返回动态元素名称

我在这些论坛以及其他博客文章中阅读了很多答案,但我似乎无法将这些部分联系在一起。

因此,我们从一个包含 Map 属性的基本 POJO 开始。如何包装它已经很好地确定了,但这会返回一些值。我要做的是取然后名称(又名标签)并使其成为有效的 XML“属性”。所以我们会得到一些价值。

我找到了一个例子(如果我能再次找到它会链接)如下:

@XmlAnyElement
public List<JAXBElement<String>> getXmlProperties() {
   List<JAXBElement<String>> elements = new ArrayList<JAXBElement<String>>();
   for (Map.Entry<String, String> property: properties.entrySet()) 
      elements.add(new JAXBElement<String>(new QName(property.getKey()), 
      String.class, property.getValue()));
      return elements;
}
Run Code Online (Sandbox Code Playgroud)

这工作得很好,但我在我的 Bean/Pojo 类中有这个,它与 GWT 前端共享,因此不能包含对 JAXBElement 和 QName 的引用(需要源代码)。

那么,有没有办法使用 XmlAdapter 和 JAXBElement/QName/XmlAnyElement 梦之队之类的东西来获得类似的结果?顺便说一句,如果考虑到这些因素,我正在使用 RESTEasy。

这是带有@XmlAnyElement+JAXBElement 的论坛帖子: Dynamic tag names with JAXB

java jaxb resteasy

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

为什么 Spring Batch 为每个线程使用 1 个数据库连接?

为什么 Spring Batch 为每个线程使用 1 个数据库连接?

堆:

  • 爪哇 8
  • 弹簧靴 1.5
  • 春季批次 3.0.7
  • HikariCP 2.7.6

数据源配置:

  • batcdb (postgres)
  • 读取数据库(甲骨文)
  • 写数据库(postgres)

每个数据源都使用 HikariCP,每个数据源默认有 10 个连接。

Spring Batch 配置:ThreadExecutor-1:

core-pool-size: 10
max-pool-size: 10
throttle-limit: 10
Run Code Online (Sandbox Code Playgroud)

Job-1 Config / ThreadPoolTask​​Executor:(通过 application.yml 设置的池大小和节流限制)

@Bean
public Step job1Step() {
    return stepBuilderFactory.get("job1Step")
            .<ReadModel, WriteModel>chunk(chunkSize)
            .reader(itemReader())
            .processor(compositeProcessor())
            .writer(itemWriter())
            .faultTolerant()
            .taskExecutor(job1TaskExecutor())
            .throttleLimit(throttleLimit)
            .build();
}

@Bean
public ThreadPoolTaskExecutor job1TaskExecutor() {
     ThreadPoolTaskExecutor pool = new ThreadPoolTaskExecutor();
     pool.setCorePoolSize(poolSize);
     pool.setMaxPoolSize(maxPoolSize);
     pool.setWaitForTasksToCompleteOnShutdown(false);
     return pool;
 }

@Bean
@StepScope
public Job1ItemReader job1ItemReader() {
    return new …
Run Code Online (Sandbox Code Playgroud)

java multithreading spring-batch spring-boot hikaricp

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