草庐IT

ejb-timer

全部标签

java - 定时器正在创建多个定时器实例

我想这是一个非常简单的问题,但我无法弄清楚为什么会这样。我有一个EJB计时器的实现,它使用@Singleton注释,即单例计时器。我已将其设置为每5分钟运行一次。代码看起来像这样:@Singleton@TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED)publicclassScheduler{privatestaticfinaldoubletimerVar=Math.random()*33;staticLoggerlogger=Logger.getLogger("Scheduler");@Schedule(secon

java - classcastexception in narrow a jndi reference in ejb

我正在尝试编写一个简单的无状态sessionbean,但我在查找时间中给出的窄引用有问题。我得到了classcastexeption我用eclipseIDE我的bean类packagecodes;importjava.rmi.RemoteException;importjavax.ejb.EJBException;importjavax.ejb.SessionBean;importjavax.ejb.SessionContext;publicclassSinaBeanimplementsSessionBean{/****/privatestaticfinallongserialVers

java - JAX-RS 和 EJB 异常处理

我在处理RESTful服务中的异常时遇到问题:@Path("/blah")@StatelesspublicclassBlahResource{@EJBBlahServiceblahService;@GETpublicResponsegetBlah(){try{Blahblah=blahService.getBlah();SomeUtil.doSomething();returnblah;}catch(Exceptione){thrownewRestException(e.getMessage(),"unknownreason",Response.Status.INTERNAL_SERV

java - EJB:在 PostConstruct 方法中使用 EntityManager

构建bean后,我想使用EntityManager从数据库中检索数据。在构造函数中是不可能的,因为EntityManager是在调用构造函数之后注入(inject)的。所以我尝试用@PostConstruct注释的方法来做。根据API,在完成所有注入(inject)后调用PostConstruct方法。执行查询有效,但它总是返回一个空列表。如果我在其他方法中使用相同的查询,它会返回正确的结果。有谁知道,为什么它在PostConstruct方法中不起作用?@Stateful(mappedName="price")@Singleton@StartuppublicclassPriceMana

java - 在 EAR 内的多个 EJB JAR 之间共享相同的 JPA persistence.xml

我们的项目有多个EJB模块,我们希望在它们之间共享一个persistence.xml文件。我们将persistence.xml文件放在EAR的META-INF目录中,但持久性单元在运行时不可用。由于我们强制使用了不正确的类和jar文件,因此似乎从未读取过该文件,但没有任何反应。为什么WebLogic不读取EAR中的persistence.xml文件?运行代码时出现以下错误,未找到PU(可用持久性单元:[])。CausedBy:java.lang.IllegalArgumentException:Nopersistenceunitnamed'em'isavailableinscopeej

java - 优缺点 : Hibernate vs. EJB 3

Hibernate和EJB3相对于彼此的优点和缺点是什么?我找到了this帖子,但它并没有真正解决我的问题。如果我对这两种技术都没有任何特别的联系,什么会导致我选择其中一种而不是另一种?或者在某些情况下我想同时使用两者?谢谢,扎克编辑:回应评论:我不太了解EJB3。我只是想了解它是否对我的公司可行。如果EJB3不能与Hibernate相媲美,请解释原因。 最佳答案 JPA提供了Hibernate功能的一个子集,但是EJB3提供了Hibernate没有解决的其他服务(例如Web服务、EJB、定时器服务)与Hibernate相比,JPA

java - 在 Weblogic 10.3 中调用 EJB 时出现 NameNotFoundException

我有一个EJB定义如下:packagecom.foo;@Stateless(mappedName="HelloWorld")publicclassHelloWorldBeanimplementsHelloWorld,HelloWorldLocal....当它部署到Weblogic(WL)时,它获得名称myBean。我不确定这是否重要。我尝试用这段代码调用bean:Hashtableht=newHashtable();ht.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory");ht.put

java - 缓存远程 EJB 3.0 引用

我在想如何才能节省通过jndi查找远程ejb引用的时间。我有一个应用程序需要非常快地运行,但它还必须调用远程ejb,这会减慢它的速度。所以我的解决方案是这样的:我采用了apachecommons-pool库并将其StackObjectPool实现用于我的远程ejb引用缓存。privatestaticfinalObjectPoolpool=newStackObjectPool(newRemoteEjbFactory());工厂看起来像这样:publicstaticclassRemoteEjbFactoryextendsBasePoolableObjectFactory{@Override

java - 在有状态 EJB 3.1 bean 中保持 session ?

我正在开发一个试图结合以下技术的Java网络应用程序:JavaEE6CDIJSF2EJB3.1Spring安全我为我的JSF页面提供基于CDI的支持bean(@ViewScoped、@Named)。我使用@StatelessEJBbean来完成实际工作。我只需要一些session信息,如jSessionCookie(由容器管理)、内部用户名和一些其他内部ID。现在,我想知道将此session信息放在哪里,以便我可以在JSF的支持bean中访问它,同时也将它提供给无状态EJB?我应该使用@StatefulEJBsessionbean还是应该使用@SessionScoped和@Named创

java - 用于简单 CRUD 的 EJB 3 session Bean 设计

我正在编写一个应用程序,它的唯一目的是执行CRUD操作以维护数据库中的记录。一些表/实体之间存在关系。我见过的大多数创建sessionbean的示例都处理复杂的业务逻辑/操作,这些逻辑/操作与许多我没有的实体进行交互。由于我的应用程序非常基础,sessionbean的最佳设计是什么?我正在考虑为每个实体设置一个sessionbean,该sessionbean具有定义的方法CRUD。然后我想到将所有这些sessionbean组合到一个sessionbean中。然后我发现这篇博文很有趣,但我必须承认我并不完全理解它(什么是ServiceFacade?)。我倾向于sessionbean/实体