2017-09-26 99 views
2

在Wildfly 10独立模式我使用下面得到SessionContext对象代码段SessionContext是Wildfly 10域模式空

InitialContext context = new InitialContext(); 
UserTransaction userTrans = null; 
userTrans = (UserTransaction) m_Context.lookup("java:jboss/UserTransaction"); 
userTrans.setTransactionTimeout(600000); 

然后在SLSB我使用

@Resource 
protected SessionContext sessionontext; 

但是相同的代码时在DOMAIN执行模式,因为它的值为null,所以无法使用SessionContext。

更新

@Stateless(mappedName="AppManager") 
@Local(value = AppManager.class) 
@Remote(value = AppManagerRemote.class) 
@TransactionAttribute(TransactionAttributeType.REQUIRED) 
@TransactionManagement(TransactionManagementType.CONTAINER) 


    public class AppManagerBean extends AppManagerAdapter implements AppManagerRemote 
    { 
     try 
     { 
     } 
     catch(Exp..) 
     { 
     sessionontext.setRollbackOnly(); ///Here sessionontext is null 
     } 
    } 

    public class AppManagerAdapter 
    { 
     @Resource 
     protected SessionContext sessionontext; 
    // 
    } 
+0

你的第一个代码片段似乎与'SessionContext'没有任何关系。请查看并添加更多详情 –

+0

@SteveC更新了问题。这适用于Wildfly的独立模式 – happy

回答

0

SessionContext注射应在无状态bean本身。 太感动

@Resource 
     protected SessionContext sessionontext; 

从AppManagerAdapter到AppManagerBean然后它的工作。