可以为在模块/上下文初始化中调用的EJB3.0.jar定义一个监听器吗?类似web项目的ServerContextListener? 最佳答案 据我所知,不适用于EJB3.0。在EJB3.1中,您可以使用单例EJB来做到这一点。来自ApplicationStartup/ShutdownCallbacks:1:@Startup2:@Singleton3:publicclassFooBean{4:5:@PostConstruct6:voidatStartup(){...}7:8:@PreDestroy9:voidatShutdown()
我需要为我的EJB中的keystore提供密码,但我不希望它对开发人员可见。我的想法是在Websphere控制台中创建身份验证别名,然后查找MY_ALIAS并从别名获取密码。我在以下位置找到了一些与主题相关的讨论:http://www.coderanch.com/t/79439/Websphere/Authentication-Data有人知道可以查找别名吗?您建议使用什么方法来实现我的目标?非常感谢! 最佳答案 您可以使用以下代码从J2C身份验证数据条目中获取凭据:importcom.ibm.wsspi.security.auth
我有以下情况(在JBossAS6和AS7上运行):具有预定方法的单例EJB。SomethingChangedEvent类型的注入(inject)事件考虑以下示例:@SingletonpublicfinalclassScheduler{@InjectprivateEventevent;@ScheduleprivatevoidscheduleSomething(){event.fire(newSomethingChangedEvent());}}我希望这个事件被添加到服务器上的某种队列中并由它分发。任何使用@Observers观察此类事件的方法都会收到通知。event.fire()方法将立
很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visitthehelpcenter.关闭9年前。我为什么要使用EJB?我能从中获得哪些其他方式无法获得的东西?与POJO相比,使用EJB有什么优势?
通过JBoss/Wildfly,可以使用@TransactionTimeout专有注释并为特定sessionBean定义事务超时。使用IBMWebSphere的等效方法是什么?我们正在使用EJBTimer,其中一个Bean需要一个多小时才能完成。Wildfly示例代码:importorg.jboss.ejb3.annotation.TransactionTimeout;@Stateless@TransactionTimeout(value=7200)publicclassTimerBean{}注意:使用WebSphere8.5。修改全局事务时间不是一个选项,我们需要为特定的sessio
使用EJB3时是否有任何理由进行委托(delegate)?因为我从委托(delegate)中看到的唯一真正好处是它允许隐藏EJB体系结构的查找和访问细节。好吧,它还提供了一些解耦功能,但恕我直言,它基本上未被使用。使用EJB3我们有注入(inject),所以现在我可以创建一个带有@EJB注释的变量并按原样使用它。我还需要代表吗?这个注入(inject)资源消耗大吗?我的意思是,如果我在JSF的请求托管bean中使用它,使用委托(delegate)来减少这些注入(inject)调用可能会更好吗?谢谢! 最佳答案 让我们回顾一下原始bu
我正在学习EJB,到目前为止我已经读到EJB中不允许使用多线程,因为容器应该关心线程安全并让开发人员只关注业务逻辑,所以基本上意味着EJB确保只有一个线程可以同时访问Sessionbean中的方法。当我们有许多用户访问EJB中的同一个方法时会发生什么?容器是序列化访问,还是创建不同的bean实例,每个线程一个?谁能解释一下这方面的政策是什么?另外我有点困惑,为什么如果不允许多线程,那么我们不能创建自己的线程,为什么我们有这个@Asynchronous注释? 最佳答案 是的,它创建了多个实例,并将它们集中在一起。查看officialO
根据我的理解,无状态sessionbean用于对业务逻辑进行编码。它们不能将数据存储在它们的实例变量中,因为它们的实例被多个请求共享。所以它们看起来更像是单例类。然而,不同之处在于包含为每个请求创建(或从池中重用)无状态sessionbean的单独实例。谷歌搜索后,我可以找到JavaEE规范说它们应该是单线程的原因。但是我不明白为什么指定为SINGLETHREADED? 最佳答案 由于TX上下文,SLSB是单线程的,Principal在调用时与bean实例相关联。这些beans被合并,除非达到最大池大小,否则将在单独的线程中处理(取
你能告诉我如何在Weblogic上查找EJB吗?我有以下bean:@Stateless@EJB(name="DataAccess",beanInterface=DataAccessLocal.class)publicclassDataAccessimplementsDataAccessLocal{...}我在其他类中需要这个bean,它不是托管内容的一部分(只是简单的类),所以我想应该这样做:DataAccessLocaldataAccess=DataAccessLocal.class.cast((newInitialContext()).lookup("%SOME_JNDI_NAME
我在嵌入式模式下使用openEjb来测试无状态sessionbean,它有一个注入(inject)的EntityManager。但是,当我运行测试时,它失败了,因为它无法初始化应用程序。当我看到控制台时,我还可以看到与无法找到persistence.xml有关的错误注意:我尝试将WebContent和META-INF放在类路径中,但这也无济于事。更新:在使用openejb+eclipse时,资源查找有一些非常奇怪的地方。我将WebContent添加到源文件夹。我不再收到persistence.xml错误,但现在我收到一个错误,表明openejb找不到任何托管资源我将WebContent