Liberty Profile-在Linux中出错[无法启动新的UOW。 LocalTransactionContainment已在工作中处于活动状态]

问题描述 投票:0回答:1

我正在使用以下版本的Websphere Liberty Profile,>

Windows

 WebSphere Application Server 19.0.0.6 (1.0.29.cl190620190617-1530) on Java HotSpot(TM) 64-Bit Server VM, version 1.8.0_211-b12 (en_US)

Linux

WebSphere Application Server 19.0.0.6 (1.0.29.cl190620190617-1530) on IBM J9 VM, version 8.0.5.35 - pwa6480sr5fp35-20190418_01(SR5 FP35) (en_US)  

[当我运行涉及线程的服务时,我在linux中收到以下错误,而在Windows中却未收到该错误,

java.lang.IllegalStateException: Cannot start a new UOW. A LocalTransactionContainment is already active with work.
    at com.ibm.tx.ltc.impl.LTCUOWCallback.uowPreBegin(LTCUOWCallback.java:128) ~[?:?]
    at com.ibm.tx.ltc.embeddable.impl.EmbeddableLTCUOWCallback.uowPreBegin(EmbeddableLTCUOWCallback.java:110) ~[?:?]
    at com.ibm.tx.ltc.embeddable.impl.EmbeddableLTCUOWCallback.contextChange(EmbeddableLTCUOWCallback.java:66) ~[?:?]
    at com.ibm.ws.transaction.services.LTCUOWCallbackService.contextChange(LTCUOWCallbackService.java:44) ~[?:?]
    at com.ibm.ws.uow.UOWScopeCallbackManager.notifyCallbacks(UOWScopeCallbackManager.java:66) ~[?:?]
    at com.ibm.tx.jta.impl.UserTransactionImpl.begin(UserTransactionImpl.java:65) ~[?:?]
    at com.ibm.tx.jta.embeddable.impl.EmbeddableUserTransactionImpl.begin(EmbeddableUserTransactionImpl.java:69) ~[?:?]
    at com.ibm.ws.transaction.services.UserTransactionService.begin(UserTransactionService.java:65) ~[?:?]
    at com.ibm.ejs.container.UserTransactionWrapper.begin(UserTransactionWrapper.java:111) ~[com.ibm.ws.ejbcontainer_1.0.29.jar:?]  

我正在Java HotSpot(TM)64位服务器VM版本1.8.0_211 -...上的Windows WebSphere Application Server 19.0.0.6(1.0.29.cl190620190617617-1530)中使用以下版本的Websphere Liberty Profile。

linux windows multithreading websphere-liberty open-liberty
1个回答
0
投票

[IllegalStateException建议在之前在线程上执行事务性工作(例如数据库操作),而当UserTransaction.begin操作尝试启动新事务时,该工作尚未提交或回滚。请检查到目前为止的应用程序代码,如果可能,请将其发布到您的问题中。如果在两种情况下都运行相同的代码,则没有理由在平台之间的行为应该有所不同。

© www.soinside.com 2019 - 2024. All rights reserved.