Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/386.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 码头8+;ejb3.1+;JTA&x2B;CDI&x2B;JPA2堆栈?_Java_Jetty_Java Ee 6_Ejb 3.1_Openejb - Fatal编程技术网

Java 码头8+;ejb3.1+;JTA&x2B;CDI&x2B;JPA2堆栈?

Java 码头8+;ejb3.1+;JTA&x2B;CDI&x2B;JPA2堆栈?,java,jetty,java-ee-6,ejb-3.1,openejb,Java,Jetty,Java Ee 6,Ejb 3.1,Openejb,有谁能告诉我,目前是否可以通过Jetty“粘合”部分JavaEE6Web配置文件? 我找到了很多关于将独立EJB3容器、JTA提供程序等与较旧的Jetty版本集成的文章,因此我想知道是否可以让它们一起工作。 我想在Jetty 8上组装Servlet 3.0+CDI+EJB3.1+JTA(如果需要,我真正想要的是声明式事务管理)+JPA2环境(如果没有Jetty替代方案,则组装Tomcat7)。 我的问题是:这能做到吗?有人做到了吗?有关于让OpenEJB、Atomikos、Weld、Eclips

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


是的,我知道我可以用玻璃鱼(我非常喜欢)。我只是想知道使用Servlet容器实现类似的功能有多困难,以及这两种环境在复杂性、性能、大小、部署速度、硬件资源消耗等方面的比较。

Tomcat在名为TomEE(以前称为TomTomTom)的服务器中实现了该堆栈

这些是它使用的组件

Connector    Apache Geronimo Connector
CDI  Apache OpenWebBeans
EJB  Apache OpenEJB
Javamail     Apache Geronimo JavaMail
JPA  Apache OpenJPA
JSF  Apache MyFaces
JSP  Apache Tomcat
JSTL     Apache Tomcat
JTA  Apache Geronimo Transaction
Servlet  Apache Tomcat
至于码头,我不确定。OpenEJB是JavaEE6容器(AFAIK)之外EJB的唯一选项,我不确定Jetty是否100%测试过它。对于CDI,您始终可以使用Seam之类的工具

在我看来,我相信Spring框架将是Jetty容器的最佳选择(尽管这只是我的观点)。根据我在尝试让Tomcat使用开放EJB后的经验,Spring的设置要容易得多

您还必须记住,开放EJB此时并没有实现整个EJB3.1堆栈


此外,开放EJB也没有在Tomcat7上测试。所以,如果你走那条路,你必须和Tomcat6呆在一起

OpenEjb尚未发布支持JPA2的版本,尽管其开发版本支持JPA2 fine AFAIK。
我在Jetty6中使用嵌入式OpenEjb,因为我还不能让我的应用程序在较新的Jetty中工作。我认为OpenEJB与Jetty(如TomEE)紧密集成的工作正在进行中,但这可能还有一段路要走。

我将其描述为仍处于早期阶段,但以下是我们到目前为止所做的:

注意,ApacheTomee的路径类似,即“assembly/openejb tomcat”。计划是调用Jetty版本ApacheJetSet并使其完全可嵌入。大多数有commit的人目前正在努力使ApacheTomee获得正式的JavaEE6Web概要文件认证。我认为这项工作处于后期阶段。我们在AmazonEC2中有一个很好的设置,可以使用100个EC2T1.MicroSpot实例对TomEE运行web概要文件TCK。它很甜。与Apache和Oracle签订的TCK协议不允许我们公开共享访问权限。但是,任何Apache提交者都可以签署NDA以获得访问权

好的,所以我提到了所有关于TomEE的内容,因为计划是一旦我们完成了Tomcat版本,就用Jetty(JetSet)重新开始。我们中的许多人,比如我和乔纳森·加利莫尔,实际上更喜欢Jetty。但由于Tomcat集成代码的开发更为深入,用户也更多,我们决定先完成这一步。我们将能够在Jetty版本中利用大量与Tomcat无关的工作;合法访问TCK、运行TCK所需的大量代码、自动化TCK所需的大量代码,以及大量通用的、非Tomcat特有的集成位

综上所述,没有理由因为我们大多数人仍在完成Tomcat版本而让其他人不得不等待开发Jetty版本。Apache项目应该被视为个人合作,而不是像Oracle、Redhat或VMWare这样的公司。这可能是好的也可能是坏的。好的方面是,如果你或其他任何人想在Jetty版本上进行黑客攻击,你现在就可以这样做。在获得提交之前,您必须提交一段时间的补丁,但是让其他人执行实际的提交命令并不是那么糟糕。如果你从小做起,保持活跃和开放,通常很容易获得承诺。快速获得补丁的关键是稳定的小到中等大小的补丁。在我看来,任何向前或不后退的横向步骤都是一个很好的补丁。只要人们能看到你要去哪里就足够了。当然,它比“一个大补丁”的方法更加敏捷,并允许所有真正有趣的协作魔法在过程中发生

一些线程,这将是一个很好的地方说你好。第一步就是打个招呼。不需要手头有代码来讨论开发列表或被认真对待:

是一个完整的J2EE堆栈,运行在Jetty之上


在它的设置上有一个文档

Cool。我去查查汤姆。除了openejb之外,我还发现了一些对EasyBeans的引用。Spring+AOP事务是堆栈的一个很好的替代方案。无论如何,我只是想把另一个Java EE 6 Web概要文件堆栈放在一起,看看它在周转时间、容器开销、性能方面与GlassFish相比会如何,等等。我一直是Jetty开发环境的超级粉丝。感谢您指出易用工具。我以前没听说过。我一定会查清楚的。事实上,我很想知道你们的结果,因为据我所见,Jetty和Tomcat比Glassfish轻得多,但它们只是servlet容器。我们公司内部使用GlassFish2和3,但我一直在寻找让Tomcat工作的方法。特别是我做的兼职。我使用Tomcat共享主机,因为它比使用Glassfish的VPS解决方案便宜得多。所以我通常被Spring困住了。请注意,OpenEJB中确实有完整的EJB3.1支持