小编Man*_*esh的帖子

将 jta 事务超时从默认更改为自定义

我正在使用 Atomikos 进行 JTA 事务。我对 JTA 有以下设置:

UserTransactionImp userTransactionImp = new UserTransactionImp();
userTransactionImp.setTransactionTimeout(900);
Run Code Online (Sandbox Code Playgroud)

但是当我的代码执行 JTA 事务时,如果它需要超过 5 分钟(这是默认值),那么它会抛出异常:

Caused by: com.atomikos.icatch.RollbackException: Prepare: NO vote
    at com.atomikos.icatch.imp.ActiveStateHandler.prepare(ActiveStateHandler.java:231)
    at com.atomikos.icatch.imp.CoordinatorImp.prepare(CoordinatorImp.java:681)
    at com.atomikos.icatch.imp.CoordinatorImp.terminate(CoordinatorImp.java:970)
    at com.atomikos.icatch.imp.CompositeTerminatorImp.commit(CompositeTerminatorImp.java:82)
    at com.atomikos.icatch.imp.CompositeTransactionImp.commit(CompositeTransactionImp.java:336)
    at com.atomikos.icatch.jta.TransactionImp.commit(TransactionImp.java:190)
    ... 25 common frames omitted
Run Code Online (Sandbox Code Playgroud)

看起来它采用了默认的 jta 事务超时(即使我明确地设置了超时(到 15 分钟/900 秒)。

我尝试在 application.properties 文件中使用以下属性,但它仍然采用默认超时值(300 秒)。

spring.jta.atomikos.properties.max-timeout=600000
spring.jta.atomikos.properties.default-jta-timeout=10000
Run Code Online (Sandbox Code Playgroud)

我也尝试过以下属性,但没有运气:

spring.transaction.default-timeout=900
Run Code Online (Sandbox Code Playgroud)

任何人都可以建议我是否需要任何其他设置?我正在使用 wildfly 插件、spring boot 和 atomikos api 进行 JTA 事务。

jta atomikos

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

SWT 列表小部件的垂直滚动条

以下是我的代码:

Group leftGroup = new Group(parent, SWT.NONE);

leftListWidget = new org.eclipse.swt.widgets.List(leftGroup,
            SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL | SWT.MULTI);

leftListWidget.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
Run Code Online (Sandbox Code Playgroud)

从上面的代码中,我认为如果我添加V_SCROLL AND H_SCROLL,它会在我的列表小部件中添加水平和垂直滚动条。但是我看不到任何滚动条。当我增加列表中的记录数时,它只会增加列表的大小(长度)。滚动或设置列表小部件的长度是否有问题?

rcp swt scrollbar eclipse-rcp

5
推荐指数
1
解决办法
3998
查看次数

使用spring webservice模板的原始xml响应

我正在编写一个客户端,使用webserviceTemplate(spring-ws)调用SOAP webservice.我正在使用JAXB将wsdl转换为POJO.我将请求作为POJO发送到webservice但是想要以xml格式的响应(原始xml而不是unmarshalled pojo格式).

wsTemplate.marshalSendAndReceive(requestPayload)会给我unmarshalled pojo对象作为输出但是我需要原始xml来响应webservice调用.

还有一个查询,如果我将响应作为原始xml,我仍然需要将marshaller bean定义为:

<bean id="messageFactory" class="org.springframework.ws.soap.saaj.SaajSoapMessageFactory"/>

<bean id="marshaller" class="org.springframework.oxm.jaxb.Jaxb2Marshaller">
    <property name="contextPath" value="com.abc.xyz" />
</bean>
Run Code Online (Sandbox Code Playgroud)

(当我定义这个编组,我得到误差不能编组型"com.abc.xyz.GetAbc"为元素,因为它缺少一个@XmlRootElement注释])

任何帮助.

spring

5
推荐指数
1
解决办法
3530
查看次数

创建activemq队列列表

我使用BlockingQueue的现有代码创建了一个BlockingQueue列表(如私有List>队列;),我可以在其中处理消息.但是由于持久性问题,我们计划转向activemq.如果我们可以获得activemq队列列表(在java程序中不是来自配置文件),任何人都可以帮助我.我知道我可以在会话中使用createQueue来创建队列的单个实例,但我想要像BlockingQueue那样完成队列列表.

任何帮助将非常感激.

activemq-classic

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

在spring jparepository中加入多个表

我试图通过加入来获取记录.我是spring jparepository的新手.我知道每个实体(表)都有单独的存储库,当我实现时,我需要定义主键的实体和数据类型.

任何人都可以建议我如何通过加入两个表来获取记录.

我有两个回购如下:

public interface AEntityRepository extends JpaRepository<AEntity, Integer>

public interface BEntityRepository extends JpaRepository<BEntity, Integer>
Run Code Online (Sandbox Code Playgroud)

我想加入两个实体(AEntity,BEntity).我知道我可以使用以下内容进行自定义查询:

@Query("SELECT ****** FROM AEntity ae")
AEntity findCustomrRecords();
Run Code Online (Sandbox Code Playgroud)

但是我可以使用join编写相同类型的查询(连接查询).我是否需要一个单独的存储库来实现其他类.

谁能请帮忙.

我正在使用mysql.

spring jpql spring-data spring-data-jpa

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