好吧,我们现在要决定情况。我认为stackoverflow是讨论的最佳场所。背景:我们有2个JVM企业应用程序服务器,每个服务器上部署了一个应用程序。我们需要启用从一台机器到另一台机器的业务功能调用。假设一个是客户端,另一个是服务器。现在从性能的角度来看,哪种方法更适合设计服务器应用程序。记住以下几点:我有两个选择:纯EJB应用程序是指EJB客户端和EJB服务器组件WebService纯Java方法(没有基于EJB的Web服务,因为它简直是一团糟)我的绩效指标:速度:哪种设计方法可以更快地处理请求。我的业务应用程序肯定会部署在32位机器上!另请注意,有2个JVM,一个是32位的,一个是
我一直在尝试设置我的应用程序,以便我可以整天对它的EJB进行单元测试,但我似乎无法解决看似非常简单的问题。我在NetBeans6.9中设置了一个标准的MavenWeb应用程序。我已经为其中一个EJB自动生成了一个单元测试,但是每当我运行它时,我都会收到错误消息:Testcase:initializationError(com.example.ExampleTest):CausedanERRORAbsentCodeattributeinmethodthatisnotnativeorabstractinclassfilejavax/ejb/embeddable/EJBContainerja
我知道我必须在删除之前合并该实体,但我从没想过我必须在EJB中这样做。首先我有这些:e=(Event)scholarBean.merge(e);scholarBean.remove(e);在我的托管bean中。它给我这个错误java.lang.IllegalArgumentException:Entitymustbemanagedtocallremove:com.scholar.entity.Event@998,trymergingthedetachedandtrytheremoveagain.然后我将这两行代码放入我的sessionbean中,它就起作用了。知道为什么吗?托管Bean
我刚刚开始阅读EJB。即使我冒险进入它,我也有一些基于我所听到的关于他们的问题。使用EJB的应用程序是否总是必须部署为EAR?包含EJB的应用程序是否可以像使用ECLIPSE而无需使用ANT的其他JavaWeb项目一样部署? 最佳答案 1.Doapplicationsusingejb'salwayshavetobedeployedasEAR?没有。EJB模块被组装成一个JAR,我们将其称为myapp-ejb.jar作为命名约定。这包含EJB代码以及EJB2.x中名为ejb-jar.xml的部署描述rune件。在EJB3.0中,代码本
是否可以“self注入(inject)”EJB以便将本地方法作为bean方法调用?在某些情况下,这可能是有利的,例如,如果使用容器管理的事务并且应该在新事务中完成某些事情。这是一个如何工作的例子:Foo.java:@LocalpublicinterfaceFoO{publicvoiddoSomething();publicvoidprocessWithNewTransaction();//thisshouldactuallybeprivate}FooBean.java:@StatelesspublicclassFooBeanimplementsFoo{@EJBprivateFoofoo
我有一个使用JBoss5.1的JavaEE5项目和这样的问题。我必须使用从消息内容产生的字符串对MDB中的某些EJB进行某种运行时查找。它只是MDB中使用的一种服务定位器模式。现在,由于MDB在部署后立即开始使用,我有很多NameNotFoundException因为隐式部署顺序在这里不起作用(运行时查找)。你怎么看待这件事?使用EJB3.0真的有可能做到这一点吗?如果可以解决问题,我也可以使用任何供应商特定的东西(JBoss5.1)。一些可视化情况的代码片段:@MessageDriven(mappedName="jms/Queue")publicclassMessageBeanimp
我有一个要部署到应用程序服务器(GlassFish)中的Java程序/线程。线程应作为“服务”运行,在应用服务器启动时启动,在应用服务器关闭时停止。我该怎么做呢?它并不是真正的sessionBean或MDB。这只是一个线程。 最佳答案 我只用Tomcat做过这个,但它应该可以在Glassfish中使用。创建一个实现javax.servlet.ServletContextListener的监听器类,然后把它放在web.xml中。当您的网络应用程序启动和销毁时,它将收到通知。一个简单的监听器类:publicclassListenerim
我正在使用ejb3并尝试@InjectHttpServletRequest,但在部署时出现异常。代码:@InjectprivateHttpServletRequesthttpRequest;异常(exception):org.jboss.weld.exceptions.DeploymentException:WELD-001408Unsatisfieddependenciesfortype[HttpServletRequest]withqualifiers[@Default]atinjectionpoint[[field]@Injectprivatecom.kmware.ttk.hig
我正在尝试找出我的动态Web应用程序出现另一个异常的原因-https://github.com/double-whammy/affablebean我做了一个小改动,我得到了一个新的异常-javax.ejb.AccessLocalException:Clientnotauthorizedforthisinvocation在线回答说我做了以下-http://ask.ozar.net/11/javax-accesslocalexception-client-authorized-invocation尝试删除生成的策略文件。您应该能够在C:\glassfish-3\glassfish\doma
在无状态sessionBean中,注入(inject)了一个EntityManager,但我想获取一个Connection对象,以便调用一个DBProcedure。有什么解决办法吗? 最佳答案 这将是JPA提供程序特定的代码。通常这是通过调用unwrap()来完成的在EntityManager类上。如果您使用的是EclipseLink,则以下代码(来自EclipseLinkwiki)将很有用(如果您使用的是应用程序管理的EntityManager):JPA2.0entityManager.getTransaction().begin