Jetty 8 + EJB 3.1 + JTA + CDI + JPA 2堆栈?

如何解决Jetty 8 + EJB 3.1 + JTA + CDI + JPA 2堆栈?

| 谁能告诉我当前是否可以通过Jetty“粘合在一起”部分Java EE 6 Web Profile? 我已经找到了很多有关将独立的EJB 3容器,JTA提供程序等与旧版Jetty版本集成的文章,因此,如果可以使它们全部一起工作,我会很痛苦。 我想组装一个Servlet 3.0 + CDI + EJB 3.1 + JTA(如果需要,我真正想要的只是声明式事务管理)+在Jetty 8上的JPA 2环境(如果没有可用的Jetty替代品,则是Tomcat 7)。 我的问题是:可以做到吗?有没有人设法做到这一点?有关使OpenEJB,Atomikos,Weld,EclipseLink和Jetty(或任何其他类似堆栈)一起工作的文章?那里有任何神奇的“全部完成” pom.xml文件吗? PS:是的,我知道我可以使用GlassFish(我非常喜欢)。我只是想知道,使用Servlet容器获得类似的东西将有多困难,以及如何在复杂性,性能,大小,部署速度,硬件资源消耗等方面比较这两种环境。     

解决方法

我将其描述为仍处于早期阶段,但这是到目前为止的内容: http://svn.apache.org/repos/asf/openejb/trunk/openejb3/assembly/openejb-jetty/ 请注意,Apache TomEE处于类似的路径,即\'assembly / openejb-tomcat \'。计划是将Jetty版本称为Apache JetSet,并将其完全嵌入。大多数有提交的人目前正在努力使Apache TomEE正式获得Java EE 6 Web Profile认证。我将描述这项工作处于后期阶段。我们在Amazon EC2中进行了很好的设置,以使用一百个EC2 t1.micro竞价型实例针对TomEE运行Web配置文件TCK。很漂亮。与Apache和Oracle的TCK协议不允许我们公开共享访问权限。但是,任何Apache提交者都可以签署NDA以获得访问权限。 好的,所以我提到了有关TomEE的所有内容,因为一旦我们完成了Tomcat版本的计划,就可以通过Jetty(JetSet)再次完成该计划。我们中的许多提交者,例如我本人和乔纳森·加里莫尔,实际上都非常喜欢Jetty。但是随着Tomcat集成代码的发展越来越远,并且拥有更多的用户,我们决定只完成一个。在Jetty版本中,我们可以利用大量的非Tomcat特定工作。合法地访问TCK,运行它的代码堆,使其自动化的代码堆,以及许多通用的,不是特定于Tomcat的集成位。 综上所述,没有理由仅因为我们大多数人仍在完成Tomcat版本而使其他人不必等待进行Jetty版本的工作。应该将Apache项目视为协作的个人,而不是Oracle,Redhat或VMWare之类的公司。那可能是好事也可能是坏事。好消息是,如果您或其他任何人想破解Jetty版本,您都可以立即执行。在获得提交之前,您必须提交一段时间的补丁程序,但是让其他人执行实际的提交命令也不错。如果您从小做起,并保持活跃和开放,通常很容易获得承诺。快速获得补丁的关键是源源不断的小型到中型补丁。我认为,向前或向后迈出的任何一步都没有向后迈出的步伐。只要人们能看到您要去的地方就足够了。当然,它比“大补丁”方法更具敏捷性,并且允许在此过程中发生所有真正有趣的协作魔术。 一些线程是打个招呼的好地方。步骤1只是打个招呼。无需手头上的代码就可以谈论开发人员列表,也无需认真对待: http://openejb.979440.n4.nabble.com/Jetty-Integration-td1457408.html   http://openejb.979440.n4.nabble.com/Jetty-Integration-td2318962.html     ,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
据码头我不确定。对于JavaEE6容器(AFAIK)之外的EJB,OpenEJB是您的唯一选择,我不确定Jetty是否已对此进行100%的测试。对于CDI,您始终可以使用Seam之类的东西。 在我看来,我相信Spring框架将是Jetty容器的最佳选择(尽管这只是我的观点)。根据我的经验,在尝试使Tomcat与Open EJB一起使用之后,Spring的设置要容易得多。 您还必须记住,此时Open EJB尚未实现整个EJB 3.1堆栈。 同样,Open EJB也未在Tomcat 7上进行测试。因此,如果您选择那条路线,则必须继续使用Tomcat 6。     ,尽管OpenEjb的开发版本支持JPA2精细AFAIK,但尚未发布具有JPA2支持的版本。 我正在Jetty6中使用嵌入式OpenEjb,因为我的应用程序还无法在较新的码头工作。我认为正在进行一些工作来使OpenEJB与Tomty像TomEE紧密集成,但这可能还有一些距离。     ,Geronimo是运行在Jetty之上的完整J2EE堆栈。 关于其设置的文档位于https://cwiki.apache.org/GMOxDOC30/configuring-virtual-host-in-jetty.html     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


使用本地python环境可以成功执行 import pandas as pd import matplotlib.pyplot as plt # 设置字体 plt.rcParams['font.sans-serif'] = ['SimHei'] # 能正确显示负号 p
错误1:Request method ‘DELETE‘ not supported 错误还原:controller层有一个接口,访问该接口时报错:Request method ‘DELETE‘ not supported 错误原因:没有接收到前端传入的参数,修改为如下 参考 错误2:cannot r
错误1:启动docker镜像时报错:Error response from daemon: driver failed programming external connectivity on endpoint quirky_allen 解决方法:重启docker -> systemctl r
错误1:private field ‘xxx‘ is never assigned 按Altʾnter快捷键,选择第2项 参考:https://blog.csdn.net/shi_hong_fei_hei/article/details/88814070 错误2:启动时报错,不能找到主启动类 #
报错如下,通过源不能下载,最后警告pip需升级版本 Requirement already satisfied: pip in c:\users\ychen\appdata\local\programs\python\python310\lib\site-packages (22.0.4) Coll
错误1:maven打包报错 错误还原:使用maven打包项目时报错如下 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources (default-resources)
错误1:服务调用时报错 服务消费者模块assess通过openFeign调用服务提供者模块hires 如下为服务提供者模块hires的控制层接口 @RestController @RequestMapping("/hires") public class FeignControl
错误1:运行项目后报如下错误 解决方案 报错2:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project sb 解决方案:在pom.
参考 错误原因 过滤器或拦截器在生效时,redisTemplate还没有注入 解决方案:在注入容器时就生效 @Component //项目运行时就注入Spring容器 public class RedisBean { @Resource private RedisTemplate<String
使用vite构建项目报错 C:\Users\ychen\work>npm init @vitejs/app @vitejs/create-app is deprecated, use npm init vite instead C:\Users\ychen\AppData\Local\npm-
参考1 参考2 解决方案 # 点击安装源 协议选择 http:// 路径填写 mirrors.aliyun.com/centos/8.3.2011/BaseOS/x86_64/os URL类型 软件库URL 其他路径 # 版本 7 mirrors.aliyun.com/centos/7/os/x86
报错1 [root@slave1 data_mocker]# kafka-console-consumer.sh --bootstrap-server slave1:9092 --topic topic_db [2023-12-19 18:31:12,770] WARN [Consumer clie
错误1 # 重写数据 hive (edu)> insert overwrite table dwd_trade_cart_add_inc > select data.id, > data.user_id, > data.course_id, > date_format(
错误1 hive (edu)> insert into huanhuan values(1,'haoge'); Query ID = root_20240110071417_fe1517ad-3607-41f4-bdcf-d00b98ac443e Total jobs = 1
报错1:执行到如下就不执行了,没有显示Successfully registered new MBean. [root@slave1 bin]# /usr/local/software/flume-1.9.0/bin/flume-ng agent -n a1 -c /usr/local/softwa
虚拟及没有启动任何服务器查看jps会显示jps,如果没有显示任何东西 [root@slave2 ~]# jps 9647 Jps 解决方案 # 进入/tmp查看 [root@slave1 dfs]# cd /tmp [root@slave1 tmp]# ll 总用量 48 drwxr-xr-x. 2
报错1 hive> show databases; OK Failed with exception java.io.IOException:java.lang.RuntimeException: Error in configuring object Time taken: 0.474 se
报错1 [root@localhost ~]# vim -bash: vim: 未找到命令 安装vim yum -y install vim* # 查看是否安装成功 [root@hadoop01 hadoop]# rpm -qa |grep vim vim-X11-7.4.629-8.el7_9.x
修改hadoop配置 vi /usr/local/software/hadoop-2.9.2/etc/hadoop/yarn-site.xml # 添加如下 <configuration> <property> <name>yarn.nodemanager.res