有人能告诉我目前是否有可能在Jetty上“粘合”部分Java EE 6Web概要文件吗?我发现了许多关于将独立的EJB3容器、JTA提供程序等与较旧的Jetty版本集成的文章,所以我想知道是否可以让它们一起工作。我想组装一个Servlet 3.0 + CDI + EJB 3.1 + JTA (如果需要,我真正想要的是声明性事务管理)+ JPA 2环境,它基于Jetty 8(如果没有可用的Jetty替代品,则可以使用Tomcat 7)。我的问题是:它能做到吗?有没有人做到了?有没有关于让OpenEJB、Atomikos、Weld、EclipseLink和Jetty (或任何其他类似的堆栈)协同工作的文章?有没有什么神奇的“做所有的”pom.xml文件?
PS:是的,我知道我可以使用GlassFish (我非常喜欢它)。我只是想知道在Servlet Container中使用类似的东西有多难,以及两种环境在复杂性、性能、大小、部署速度、硬件资源消耗等方面的比较情况。
发布于 2011-05-04 07:06:05
我会将其描述为仍处于早期阶段,但以下是我们到目前为止所拥有的:
http://svn.apache.org/repos/asf/openejb/trunk/openejb3/assembly/openejb-jetty/
请注意,Apache位于类似的路径,即‘TomEE /openejb-tomcat’。计划将Jetty版本命名为Apache JetSet,并将其完全嵌入。大多数提交的人目前都在致力于使获得正式的JavaEE6Web Profile认证。我将这项工作描述为处于后期阶段。我们在亚马逊EC2中有一个很好的设置,可以使用100个EC2 t1.micro spot实例对TomEE运行web profile TCK。真的很甜蜜。与Apache和Oracle的TCK协议不允许我们公开共享访问权限。但是,任何Apache提交者都可以签署保密协议来获得访问权限。
好的,我提到了关于TomEE的所有这些,因为我们的计划是一旦我们完成了Tomcat版本,就可以用Jetty (JetSet)重新做一次。我们中的许多提交者,例如我和Jonathan Gallimore,实际上更喜欢Jetty。但是,由于Tomcat集成代码走得更远,拥有更多用户,我们决定先完成这一部分。在Jetty版本中,我们可以利用大量非Tomcat特有的工作;合法访问TCK、运行TCK所需的代码堆、自动化所需的代码堆越多,以及大量通用而非Tomcat特有的集成位。
尽管如此,没有理由因为我们大多数人还在完成Tomcat版本,其他人就必须等待Jetty版本的工作。阿帕奇项目应该被视为个人一起工作,而不是像甲骨文、Redhat或VMWare这样的公司。这可能是好的,也可能是坏的。好的方面是,如果您或其他任何人想破解Jetty版本,您现在就可以这么做。您将不得不提交补丁一段时间,直到您获得提交,但让其他人来执行实际的提交命令并不是那么糟糕。如果你从小规模开始,保持活跃和开放,通常很容易赢得提交。快速获得补丁的关键是稳定的小到中等大小的补丁。在我看来,任何向前或向后的任何一步都是一个很好的补丁。只要人们能看到你要去的地方,这就足够了。当然比一个大补丁的方法更敏捷,并允许所有真正有趣和协作的魔术在此过程中发生。
一些线程,这将是打招呼的好地方。第一步就是打个招呼。不需要手头上的代码就可以在开发人员列表上发言或被认真对待:
http://openejb.979440.n4.nabble.com/Jetty-Integration-td1457408.html http://openejb.979440.n4.nabble.com/Jetty-Integration-td2318962.html
发布于 2011-04-27 21:41:33
Tomcat在名为TomEE(以前称为TomTom)的服务器中实现了该堆栈。
这些是它使用的组件。
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至于Jetty,我不太确定。对于JavaEE6容器(AFAIK)之外的OpenEJB,Jetty是唯一的选择,我不确定Jetty是否100%地使用它进行了测试。对于CDI,你总是可以使用像Seam这样的东西。
在我看来,我相信Spring框架将是Jetty容器的最佳选择(尽管这只是我的观点)。在尝试让Tomcat使用Open EJB之后,根据我的经验,Spring更容易设置。
您还必须记住,Open EJB在这一点上并没有实现整个EJB 3.1堆栈。
此外,Open EJB也没有在Tomcat7上进行测试。因此,如果您选择该路线,则必须继续使用Tomcat6。
发布于 2011-04-30 04:51:49
OpenEjb还没有发布支持JPA2的版本,尽管他们的开发版本支持JPA2 fine AFAIK。我在Jetty6中使用嵌入式OpenEjb,因为我还不能让我的应用程序在较新的码头上工作。我认为像TomEE一样将OpenEJB与Jetty紧密集成的工作正在进行中,但这可能还有一段路要走。
https://stackoverflow.com/questions/5678298
复制相似问题