访问 <transaction-type> EJB 类中的 ejb-jar .xml 的配置



我有一个在 ejb-jar 中部署配置的 EJB.xml我想访问

<transaction-type>

在 ejbCreate() 期间我的 EJB 类中的配置,即 Bean 或容器,因为我必须将此值传递给我的框架以进行内部工作。

注意:我不想重复并定义一个额外的 env 条目,因为它已经存在,我想使用它

没有直接确定此信息的方法。 但是,您可以通过依赖EJBContext.getUserTransaction为CMT抛出异常的事实间接获取信息:

@Resource EJBContext ejbContext;
private boolean isBeanManagedTransaction() {
  try {
    ejbContext.getUserTransaction();
    return true;
  } catch (IllegalStateException e) {
    return false;
  }
}

注意,getUserTransaction 方法不能从所有容器回调中调用(参见 EJB 规范中允许的操作表),但幸运的是,getUserTransaction 可以从 ejbCreate/PostConstruct 调用,所以此方法应该可以满足您的目的。

相关内容

  • 没有找到相关文章

最新更新