草庐IT

ejb-timer

全部标签

java - EJB - 查找 'ejb/BookRequestBean' 失败

我是EJB的新手,正在尝试“HelloWorld”类型的EJBJava程序。这是我的EJB:packagedukesbookstore.ejb;@Stateless(name="BookRequestBean",mappedName="ejb/BookRequestBean")@NamedpublicclassBookRequestBean{//Othercodeshere}这是我的客户:Propertiesprop=newProperties();prop.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.enterprise.naming.S

java - EJB 中如何实现事务概念

我想知道事务是如何在EJB内部实现的。我想知道他们用来创建交易的逻辑。如果你能指出一些有用的文章 最佳答案 Hibernate不实现事务,它依赖并包装JDBC事务或JTA事务(容器管理或应用程序管理)。关于EJB,如果您想了解JTA事务管理器的详细信息,您需要精通JTA接口(interface)UserTransaction,TransactionManager,和XAResource在JTAspecification中进行了描述.JDBCAPITutorialandReference,ThirdEdition也有助于理解JDBC驱

java - EJB 与 CDI 和 "Entity Boundary Control"模式

我正在努力了解CDI和EJB以及实体边界控制(ECB)模式。我对ECB模式的理解是Boundary是事务边界的起点和终点。此外,CDI不像EJB那样提供事务支持。所以如果我想成功的实现ECB模式,那么以下是正确的;我可以使用EJB(即@stateless、@stateful、@singleton)实现边界部分,并使用CDI或EJB实现控制层。我可以使用CDI实现边界和控制部分,但在类似于(http://smokeandice.blogspot.com/2009/12/cdi-and-declarative-transactions.html)的边界中实现事务支持我无法使用CDI实现边界

java - Java 7 SE 是否支持 EJB?

如果我需要EJB3.0支持并希望运行Java7,我需要JavaEE还是可以坚持使用SE?过去(许多JDK版本之前),需要JDK的“J2EE”版本才能运行EJB。看来这不再是真的了。请指教。更新:我应该提到该应用程序将在OracleWebLogic10.3.6中运行。 最佳答案 EJB是JavaEE的一部分。但是,如果您想要的是JPA,即使该API包含在JavaEE(here'stheAPIdocumentation)中,您也不再需要用于JPA的JavaEE应用程序服务器(与EJB实体bean的情况不同)。JPA可以与JavaSE一起

java - EJB3.1 系统异常与 javax.ejb.EJBException

在提出我的问题之前,先了解一下EJB3.1异常的背景知识-应用程序异常包括用户定义的已检查或未检查异常@ApplicationException注解所有检查的异常java.lang.Exception&它的子类异常除了java.rmi.RemoteException和它的子类异常系统异常包括java.rmi.RemoteException及其子类异常所有未经检查的异常java.lang.RuntimeException及其子类异常java.lang.Error及其子类异常以下是我在此book中读到的声明InEJBSystemexceptionsarenotexceptedbythecl

java - Maven EJB 打包依赖库

我面临一个问题,即如何使用简单的WAR和EJB3模块为JBoss7应用服务器正确打包我的企业(EAR)应用程序。问题是,EJB模块正在使用XML-RPC库(来自Apache),并且在部署EAR期间我仍然得到NoDefClassFound(来自这个xmlrpc库的类)。问题是,maven-ejb-plugin在最终的EJBjar中不打包依赖项,但maven-ear-plugin打包它位于EAR目录的根目录中。部署EAR时,在内部EJB模块上调用INSTALL,但它没有找到xmlrpclib类(它不是与EJBjar一起打包,而是与EAR一起打包,并且在list中没有任何条目)。EJBpom

java - 未注入(inject) Arquillian 的显式本地 EJB

我使用Arquillian来测试具有显式本地和远程接口(interface)的无状态sessionbean。但在测试中,Arquillian不会在具有本地接口(interface)类型的字段中“注入(inject)”任何内容,但它适用于远程接口(interface)。@StatelesspublicclassTestServiceImplimplementsTestServiceLocal,TestServiceRemote{publicStringgreet(){return"hallo";}}远程接口(interface):@RemotepublicinterfaceTestSer

java - 为什么 EJB 是线程安全的而 servlet 不是?

根据我的理解,servlet容器创建有限的servlet实例和每个servlet实例的多个线程,并重用这些线程和实例。因为一个线程有多个实例,所以它们不是“线程安全的”(尽管我知道用线程安全对它们进行编码并不困难)。另一方面,EJB容器不创建EJB线程,而是仅重用EJB对象(使用池)。由于一个EJB实例没有多线程,所以不存在线程安全问题。我的问题:为什么会有不同的行为?让EJB作为Servlet(线程不安全)工作不是一个好主意吗?我确定我遗漏了一些东西并且想了解那个遗漏的部分。 最佳答案 对您的问题的最简短回答当然是让EJB像Ser

java - EJB 和线程

据我所知,从EJB中生成线程是非法的,因为它可能会干扰EJB的生命周期。但是,使用JDK中的预定义Java类是否违法,这些类在EJB(特别是MDB)中内部产生和处理线程(例如Executor)? 最佳答案 你“不能”(不应该)使用线程、线程池、执行器……所有这些。使用应用服务器的重点是只编写业务逻辑并让应用服务器完成繁重的工作。如果您真的非常需要自己处理线程,请使用EJB3.1“单例”服务来管理线程。但是,正如其他人所提到的,最好将其留给应用服务器。在应用服务器中进行并行处理的一种方法是使用MDB(听起来您已经在使用它),尽管根据并

java - 使用 "crontab syntax"安排 EJB 任务

我正在尝试找出解决以下问题的可能性。a)我想要一个使用“crontab语法”来安排任务的数据库表,结构应该是这样的:|-Id-|---CrontabSyntax---|---------Task----------||1|30*****|MyClass.TaskA(args[])||2|01**1-5*|MyClass.TaskB(args[])|||||上表将随时被外部应用程序修改。添加或删除的任务应立即影响调度程序。b)调度程序本身应该驻留在Java应用程序服务器上。它应该不断地与数据库表中的Activity计划任务同步。每当发生计划事件时,它应该触发/调用EJB,并将“任务”中的