草庐IT

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

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

java - EJB 3.1 应用程序部署为 WAR-only : What about ejb-jar. xml?

我有一个JavaEE6应用程序,由Web内容和EJB组成,并且部署为仅WAR(使用EJB3.1)。该构建基于Maven。我刚刚读到有关在JavaEE6中订购模块初始化的新可能性here我的申请也需要它。此外,我希望可以选择在XML中定义一些EJB属性。由于示例是作为EAR项目部署的,所以顺序在application.xml中定义。但是在WAR部署的项目中,没有application.xml。现在我想知道我在哪里可以定义这些信息?或者是否可以在WAR部署的应用程序中以某种方式使用application.xml?编辑:糟糕,我没有正确阅读模块顺序示例,一开始我以为这是关于我的应用程序中EJ

java - 使用 JAX-RS 时返回对象列表

如何返回XML或JSON格式的问题对象列表?@Path("all")@GETpublicListgetAllQuestions(){returnquestionDAO.getAllQuestions();}我得到这个异常:SEVERE:Mappedexceptiontoresponse:500(InternalServerError)javax.ws.rs.WebApplicationException:com.sun.jersey.api.MessageException:AmessagebodywriterforJavaclassjava.util.Vector,andJavaty

java - jetty 8 + EJB 3.1 + JTA + CDI + JPA 2 堆栈?

谁能告诉我目前是否可以通过Jetty将部分JavaEE6Web配置文件“粘合在一起”?我找到了很多关于将独立的EJB3容器、JTA提供程序等与较旧的Jetty版本集成的文章,所以我想知道是否可以让它们一起工作。我想组装一个Servlet3.0+CDI+EJB3.1+JTA(如果需要,我真正想要的是声明式事务管理)+JPA2环境,而不是Jetty8(如果没有可用的Jetty替代品,则为Tomcat7)。我的问题是:可以做到吗?有没有人设法做到这一点?有没有关于让OpenEJB、Atomikos、Weld、EclipseLink和Jetty(或任何其他类似堆栈)协同工作的文章?那里有任何神

java - 事务不回滚

我调用了两个方法,第一个更新表,下一个在另一个表中插入记录。当第二个事务失败时,EJB没有执行第一个事务的回滚。这是我的支持bean:@ManagedBean@ViewScopedpublicclassTransactionTestBeanimplementsSerializable{@EJBprivateTransactionTestServiceservice;publicStringloadView(){return"/test/transactionTest";}publicvoidtest(){try{service.updateTest();}catch(Exception

java - POJO 对比 EJB 对比 EJB 3

这个问题在这里已经有了答案:DifferencebetweenDTO,VO,POJO,JavaBeans?(7个答案)关闭6年前。有没有人提供Java类作为POJO、EJB和EJB3的示例?我试图了解这些Java技术,但遇到了麻烦。如果我能看到这三者的实现是什么样子,我希望它会有所帮助。

java - 无状态 session bean 中的多线程?

EJB3.0规范不允许无状态sessionbean的业务方法创建新线程。这是为什么?创建仅执行原始计算且从不调用应用服务器的额外工作线程有什么问题?比如说,我的sessionbean实现了一个让用户上传图像的服务,业务方法对这些图像进行cpu密集型图像处理。那么它只能使用一个cpu核心来完成这项工作,即使机器有8个或更多核心?如果我使用在内部创建工作线程的第三方图像处理库,我也会违反EJB规范,即使该库和这些线程与EJB容器完全无关。这似乎不对。如果我忽略EJB规则并仍然创建一些工作线程来进行CPU密集型处理,会发生什么情况?当然,这些线程永远不会接触任何应用程序服务器对象,并且bea

java - Java EE 中的异步执行

我目前正在学习JavaEE(从SE迁移),我对JavaEE环境中的异步执行感到困惑。基本上,根据我的理解,创建Thread或Timer并不完全推荐。目前我发现的另一种方法是使用JMS将消息传输到EJB消息Bean,它将异步执行。还有哪些其他方法可以实现这种行为?因为对于简单的任务,使用JMS看起来开销太大。 最佳答案 JavaEE6中最简单的可能解决方案是使用@AsynchronousEJB方法(或整个类)上的注释。它允许您异步调用业务方法,这意味着将委托(delegate)一个新线程来执行此方法,您将在调用方方法中取回控制权。在J

java - 正确使用带有 Servlet 的有状态 Bean

我们目前有一个注入(inject)到Servlet中的有状态bean。问题是有时我们会得到一个Causedby:javax.ejb.ConcurrentAccessException:SessionBeanisexecutinganotherrequest。[session-key:7d90c02200a81f-752fe1cd-1]在有状态bean上执行方法时。publicclassNewServletextendsHttpServlet{@EJBprivateReportLocalreportBean;protectedvoidprocessRequest(HttpServletR

java - Maven 中的 Ejb3 依赖

我最近看到Sun/第三方发布了一个Maven依赖项,其中仅包含接口(interface),例如EJB3和JPA。有谁知道groupId、artifactId、repository等在哪里?我宁愿不使用OpenEJB、Glassfish对应物等。 最佳答案 如果您想要最新的JavaEE6(EJB3.1、JPA2.0等),那么您可以使用以下依赖项:javaxjavaee-api6.0provided它也在java.net存储库中:maven2-repository.dev.java.netJava.netRepositoryforMav