我正在使用 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 事务。
以下是我的代码:
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,它会在我的列表小部件中添加水平和垂直滚动条。但是我看不到任何滚动条。当我增加列表中的记录数时,它只会增加列表的大小(长度)。滚动或设置列表小部件的长度是否有问题?
我正在编写一个客户端,使用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注释])
任何帮助.
我使用BlockingQueue的现有代码创建了一个BlockingQueue列表(如私有List>队列;),我可以在其中处理消息.但是由于持久性问题,我们计划转向activemq.如果我们可以获得activemq队列列表(在java程序中不是来自配置文件),任何人都可以帮助我.我知道我可以在会话中使用createQueue来创建队列的单个实例,但我想要像BlockingQueue那样完成队列列表.
任何帮助将非常感激.
我试图通过加入来获取记录.我是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.