我正在尝试使用@EJB注释注入(inject)EJB:当我将一个EJB注入(inject)同一只耳朵中的另一个EJB时,它工作正常。当我将一个EJB从另一个耳朵注入(inject)另一个EJB时服务器我得到一个异常:EJBthrewanunexpected(non-declared)exceptionduringinvocationofmethod"sayHello".Exceptiondata:javax.ejb.EJBException:Injectionfailure;nestedexceptionis:com.ibm.ejs.container.EJBNotFoundExcep
在阅读AdamBien's上的一篇文章时,我在使用EJB3.1时发现了Java的一个新特性。博客。问题是无状态和单例bean可以作为根资源公开。但是怎么办?我试着这样做:@Stateless@LocalBean@Path("Hybrid")publicclassRESTEJBSample{@GET@Path("/demo")@Produces(MediaType.TEXT_PLAIN)publicStringsomething(){return"IamaHybrid!!!";}}当我调用URLhttp://localhost:8080/HybridSample/resources/Hy
我正在开发一个人们与参与者插入和管理旅行的应用程序。我正在使用JPA,并拥有一个包含参与实体列表的旅行实体。现在,我没有在DB上的参与表上映射的名称,但是有一个员工实体可以执行此操作,并且参与实体包含员工ID。我写了一个EJBTripbean实现,该实现的方法可以作为参数作为参数的旅行,并返回包含员工ID对的成对的地图及其名称:publicMapgetEmployeeNames(Triptrip){MapemployeeNames=newHashMap();for(Participationparticipation:trip.getParticipations()){Employeeempl
在我的应用程序中,我需要获取称为EJB的模块名称。例如,我的EJB_A调用EJB_B,EJB_A属于模块A和EJB_B到ModuleB。我正在使用JBOSSEAP7,J2EE7。看答案如果呼叫者是遥远的,那可能很难。即使将两者部署在同一应用程序服务器上,如果您查看当前线程的stacktrace,您只能在当前的工作线程接收到传入的呼叫时退后一步,您可能不会是能够退后一步,而不是看到呼叫者是谁。您可以使自己更轻松,并传递一个参数,该参数是一些唯一的标识符字符串,可以标识呼叫者是谁。如果您的应用程序了解此信息至关重要,那么我会查看这样的内容并将其构建到您的API中。
我在使用EJB和JPA更新数据库记录时遇到问题。持久性提供程序:org.eclipse.persistence.jpa.PersistenceProvider当我创建记录时,我使用的是这种方法:publicvoidcreate(Tentity){getEntityManager().persist(entity);}一切正常。现在我想编辑同一条记录。例如我有一个实体:@Entity@Table(name="OPERATION")publicclassOperationimplementsSerializable{@Id@GeneratedValue(strategy=Generatio
我需要制作一个原型(prototype)(在具有MySQL的J2EE兼容应用程序服务器中运行)来演示以下内容展示在全局不同站点的多个数据库上分发事务的能力(应用程序管理的数据复制)展示从位于多个位置的多个数据库集群中选择的一个数据库写入事务的能力。选择写入哪个数据库取决于用户位置。(数据库管理的数据复制)我可以选择Spring堆栈或JavaEE堆栈(EJB等)。了解您对哪个堆栈更擅长支持多个数据库集群上的分布式事务的看法会很有用。如果可能,您是否也可以向我指出您认为有助于了解如何使用两个堆栈中的任何一个实现上述内容的任何资源。我认为查看两者的示例将有助于理解它们的工作方式,并且可能能够
此代码是否可以使用JavaEE规格,可以使用?@StatelesspublicclassSomeBean{@InjectprotectedTransactedRunnertxRunner;publicvoidsomeFunc(){txRuner.run(newRunnable(){Connectionc=ds.getConnection();//dojdbcstufforjpastuff//closeeverythingetc.});}}@StatelesspublicclassTransactedRunner{@TransactionAttribute(REQUIRES_NEW)public
当编译以下pom时,我得到一个异常,说明项目中缺少core依赖项:[ERROR]Failedtoexecutegoalorg.apache.maven.plugins:maven-ear-plugin:2.8:generate-application-xml(default-generate-application-xml)onprojecttheear:Artifact[ejb:com.myapp:core]isnotadependencyoftheproject.->[Help1]theear是这样设置的:...theearearcom.myappweb${application.
最近有人告诉我,作为EJB方法的返回值,集合应该优于列表。论据是,一般来说,集合更通用,即让您可以在不影响客户端的情况下更改底层数据结构。如果这是您作为设计师想要的灵active,那么使用集合会更有意义。但是只返回一个数组而不是集合不是更有意义吗?如果有性能影响是什么?提前致谢。 最佳答案 比数组更喜欢集合;使用泛型使用接口(interface)而不是具体类那么你通常有4个选项:List、Set、Collection和Iterable。这取决于您要包含的语义。如果是内部API——根据集合的特点决定:它是否只包含独特的项目?设置客户是
我需要创建一个设置为每周自动运行一次的间隔计时器。我不希望它根据用户输入启动,但我希望它在应用程序部署到服务器时创建。我见过的每个例子都有另一个启动计时器的类。我不想使用消息驱动的bean来创建计时器,因为审计应该只是在给定时间段内查询数据库,而不是基于发送消息的操作。我已经包括了一个定时器的例子。在下面的示例中,计时器应每10分钟触发一次。作为测试,我希望计时器每10分钟触发一次,以便我可以测试计时器。@StatelesspublicclassTimerTestimplementsTimerTestLocal,TimerTestRemote{@ResourceprivateTimer