jjzjj

java - EJB 方法在每次调用后需要更多时间返回

我正在观察异常行为,我想了解正在发生的事情。想象一个简单的设置。首先,我有一个只返回一些东西的无状态bean:@StatelesspublicclassSimpleService{privateMapmap;@PostConstructpublicinit(){map=newHashMap();}publicMapgetMap(){returnmap;}}然后我有另一个做一些处理的无状态bean@StatelesspublicclassProcessService{privatestaticfinalLoggerlog=LoggerFactory.getLogger(ProcessSe

java - 在基于 EJB 的应用程序中加载 spring 上下文

情况如下:我有一个业务层,那就是一个EJB项目。实际上,只创建了一个EJB。该EJB负责将服务类暴露给调用该EJB的其他层。我想在这一层引入spring(使用DI特性)。我担心的是,在此业务层中加载spring上下文的最佳方式是什么,以便在调用EJB时不会一次又一次地加载spring上下文?(在Web项目中,在contextLoaderListener中配置springcontext是有优势的,只在应用启动时加载一次)我曾考虑将spring包含在同一层中,因为:配置所有DAO和服务类的依赖项,并在必要时注入(inject)它们。在业务层使用spring对hibernate的支持。通过将

java - 将 EJB 注入(inject)动态映射的 servlet

我有一个过滤器,我在其中动态映射servlet类:@Overridepublicvoidinit(FilterConfigfilterConfig)throwsServletException{servletContext=filterConfig.getServletContext();Filedirectory=getConventionDirectory();FileSystemInspectorfileInspector=newFileSystemInspector();Setactions=fileInspector.getActions(directory);for(Act

java - 什么是 http-remoting 协议(protocol)

我已经在Wildfly上设置了一个EJB并编写了一个客户端来访问它。使用“http-remoting”协议(protocol),它工作正常。不幸的是,我不确定http-remoting的功能细节。我想这是RMI协议(protocol)的http隧道。但是我找不到关于这个主题的任何合适的资源。所以我真的不确定。有人知道http-remoting作为协议(protocol)是如何工作的吗? 最佳答案 这是在JBossRemoting中实现的协议(protocol).有一个GitHubrepo也是为了它。另外,根据您使用的WildFly版

java - 如何使用 Spring 2.5 将资源注入(inject) EJB3 bean?

如果我在使用Spring2.5作为DI的应用程序中创建一个EJB3bean(比如说无状态sessionbean),我应该如何在不将bean耦合到Spring的情况下将Spring的依赖项注入(inject)到该bean中? 最佳答案 我不知道您是否考虑将拦截器用作耦合,但据我所知这是标准方法。来自Chapter18.EnterpriseJavaBeans(EJB)integration文档:18.3.2.EJB3injectioninterceptorForEJB3SessionBeansandMessage-DrivenBeans

java - 使用 JPA/EclipseLink/EJB 从 Java Web 应用程序访问多个数据库

我构建了一个简单的SOAPjava应用程序(服务器端),我正在使用Glassfish4,JPA/EclipseLink,EJB。我在Glassfish中设置了数据库连接(资源/池)。请建议一些设计模式/知识,以利用单个应用程序中的多个数据库。创建多个持久性单元是多重访问的好主意吗?或者还有其他优化方案吗?我有一个通用的数据库访问类。publicclassGenericDAO{/**privatestaticfinalEntityManagerFactoryemf=*Persistence.createEntityManagerFactory("icanPU");privateEntit

java - EJB中的代理对象

我正在阅读EnterpriseJavaBeans3.1这本书,我想知道我是否正确理解了EJB代理对象的概念。我现在知道它遵循代理模式并且我已经阅读了一些相关内容。当我们为bean创建接口(interface)时,我们这样做是因为我们希望实现代理模式。这对我们很有帮助,因为客户只关心我们能做什么,而不是直接绑定(bind)到一个类,而是一个可以充当真实对象的接口(interface)。因此,容器可能会实例化实现相应接口(interface)的代理对象,并在为我们调用真正的EJB之前添加一些魔术代码(网络代码),因为代理对象是自动生成的,对吗?我是不是误解了这个概念?如果是这样的话,有人能

java - 无法加载 EJB 模块

我正在学习企业应用程序开发类(class)。我是JSF的新手。我正在尝试使用Glassfish3.1使用JSF和NetbeansIDE部署我的应用程序。下面列出了我得到的错误。Erroroccurredduringdeployment:Exceptionwhilepreparingtheapp:UnabletoloadtheEJBmodule.DeploymentContextdoesnotcontainanyEJB.CheckthearchivetoensurecorrectpackagingforF:\Seagate\docsbackup\NetBeansProjects\ent-

java - 如何防止 "Local transaction already has 1 non-XA Resource"异常?

我在无状态EJB中使用了2个PU,它们中的每一个都在一个方法上被调用:@PersistenceContext(unitName="PU")privateEntityManagerem;@PersistenceContext(unitName="PU2")privateEntityManagerem2;@TransactionAttribute(TransactionAttributeType.REQUIRES_NEW)publicvoidgetCandidates(finalIntegereventId)throwsControllerException{ElectionEventel

java - 无法将 *.war 部署到 Glassfish 4

我有一个Bean接口(interface),AbstractBean(实现Bean)和SpecificBean(扩展AbstractBean)。我想通过以下代码片段注入(inject)SpecificBean:@Stateless@SpecificpublicclassSpecificBeanextendsAbstractBean{..}@Path("resource")publicclassService{@Inject@SpecificprivateBeanbean;}当我尝试将它部署到glassfish时,我看到下一个错误:AnerrorhasoccurredErroroccur