Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从EJBContext检索UserTransaction时出错,引发IllegalStateException_Java_Jersey_Websphere_Illegalstateexception - Fatal编程技术网

Java 从EJBContext检索UserTransaction时出错,引发IllegalStateException

Java 从EJBContext检索UserTransaction时出错,引发IllegalStateException,java,jersey,websphere,illegalstateexception,Java,Jersey,Websphere,Illegalstateexception,我试图在WebSphere8.5中部署一个应用程序,该应用程序可以正确部署,但在尝试对EJBContext的UserTransaction进行对象化时,我遇到了一个异常 This is my code: @Stateless @TransactionManagement(TransactionManagementType.BEAN) @TransactionAttribute(TransactionAttributeType.SUPPORTS) public class FooManagerBe

我试图在WebSphere8.5中部署一个应用程序,该应用程序可以正确部署,但在尝试对EJBContext的UserTransaction进行对象化时,我遇到了一个异常

This is my code:
@Stateless
@TransactionManagement(TransactionManagementType.BEAN)
@TransactionAttribute(TransactionAttributeType.SUPPORTS)
public class FooManagerBean implements FooManager {

    @Resource
    private EJBContext context;

    public FooManagerBean() {
    }

    //other methods

    /**
     * {@inheritDoc}
     */
    @Override
    @TransactionAttribute(TransactionAttributeType.REQUIRED)
    public FooResponseDTO fooMethod(FooRequestDTO fooRequest) throws Exception {

        final UserTransaction userTx = context.getUserTransaction(); <- EXCEPTION!

        //other code & return

        return ...;
    }
这是我的代码:
@无国籍
@TransactionManagement(TransactionManagementType.BEAN)
@TransactionAttribute(TransactionAttribute.SUPPORTS)
公共类FooManagerBean实现FooManager{
@资源
私有EJBContext上下文;
公共FooManagerBean(){
}
//其他方法
/**
*{@inheritardoc}
*/
@凌驾
@TransactionAttribute(TransactionAttributeType.REQUIRED)
public FooResponseDTO fooMethod(FooRequestDTO fooRequest)引发异常{

final UserTransaction userTx=context.getUserTransaction();您混淆了两种事务管理方法。要么声明定义BEAN将管理事务的
TransactionManagementType.BEAN
,要么使用需要容器管理事务的
TransactionAttribute.XXX
。因此,要么删除
getUserTransaction()
method call或remove transaction attributes。顺便说一句,您想归档什么?非常感谢,我的问题是我用java 1.8版创建了ear,而不是1.6版。我已经更改了版本,部署时没有出现此错误。@Gas