2017-09-26 131 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然後它的工作。