可以为在模块/上下文初始化中调用的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
很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,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
你能告诉我如何在Weblogic上查找EJB吗?我有以下bean:@Stateless@EJB(name="DataAccess",beanInterface=DataAccessLocal.class)publicclassDataAccessimplementsDataAccessLocal{...}我在其他类中需要这个bean,它不是托管内容的一部分(只是简单的类),所以我想应该这样做:DataAccessLocaldataAccess=DataAccessLocal.class.cast((newInitialContext()).lookup("%SOME_JNDI_NAME
我知道使用@EJB注释的注入(inject)只能在EJB类、servlet或JSF托管bean中使用,但同时我需要在POJO类中有一些注入(inject)业务接口(interface)的实例,所以我想到了执行以下操作:在我的JSF托管bean中@EJBBusinessInterfaceLocalbusinessInterface;privatevoidsomeMethod(){PojoInterfacepojo=newPojoClass(this.businessInterface);}在我的POJO类中我有这个构造函数BusinessInterfaceLocalbusinessInt
我正在关注UsingtheTimerService构建简单计划执行的教程。尝试自动方法并使用WildFly8.1.0FinalsessionBean@Singleton@StartuppublicclassHelloJob{privatestaticfinalLoggerlogger=Logger.getLogger(HelloJob.class);publicHelloJob(){logger.error(">>>HelloJobCreated.");}@Schedule(second="*")publicvoidsayHello(){logger.error(">>>ServerH
出于多种原因,在servlet中使用线程并不是好的做法。java.util.Timer似乎是线程的包装器。那么,使用它是否也不安全?如果是这样,在servlet中安排任务的最安全方法是什么? 最佳答案 是的,您可以使用计时器。要记住的一件重要事情是在servlet停止时取消那个计时器。如果您忘记取消定时器,您的webapp将遭受内存泄漏(类加载器泄漏,因为定时器的线程通过其ContextClassLoader绑定(bind)到WebappClassLoader)并且无法多次部署。 关于j