【问题标题】:SessionContext is null in Wildfly 10 Domain modeWildfly 10 域模式下的 SessionContext 为空
【发布时间】:2018-03-07 12:55:59
【问题描述】:

在 Wildfly 10 独立模式下,我使用下面的 sn-p 获取 SessionContext 对象

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

然后在 SLSB 中我使用

@Resource
protected SessionContext sessionontext;

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

更新

@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;
    //
    }

【问题讨论】:

  • 您的第一个代码片段似乎与SessionContext 没有任何关系。请查看并添加更多详细信息
  • @SteveC 更新了问题。这适用于 Wildfly 的独立模式

标签: java ejb wildfly ejb-3.0 wildfly-10


【解决方案1】:

SessionContext 注入应该在无状态 bean 本身中。 好感动

@Resource
        protected SessionContext sessionontext;

从 AppManagerAdapter 到 AppManagerBean 然后它工作了。

【讨论】:

    猜你喜欢
    • 2016-01-19
    • 2015-05-12
    • 1970-01-01
    • 2015-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-30
    • 2017-06-20
    相关资源
    最近更新 更多