论坛首页 Java企业应用论坛

Jboss4.2和jboss-5.0.0.Beta2 的奇怪现象

浏览 5339 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-06-09  
这两天学习ejb3,搭建了struts2 + EJB3 + Jboss 环境,发生一些奇怪的问题:

除了前面提到的
@PersistenceContext(unitName="test")
private EntityManager entityManager 注入不成功,就临时使用下面方法得到entityManager

EntityManagerFactory emf = Persistence.createEntityManagerFactory("test",new HashMap());
EntityManager entityManager = emf.createEntityManager();
但是在Jboss不同版本中又出现下面的问题:

1、使用Jboss4.2时,Persistence.createEntityManagerFactory("test",new HashMap()); 这句会出错,日志中提示:
org.hibernate.HibernateException: The chosen transaction strategy requires access to the JTA TransactionManager
但是一样的程序在5.0.0.Beta2运行正常

2、struts2 部分在5.0.0.Beta2版本中发布程序时会出这个错误:
Unable to load bean: type: class:com.opensymphony.xwork2.ObjectFactory - bean - jar:file:/D:/jboss-5.0.0.Beta2/server/default/work/jboss.web/localhost/myFirstWeb/WEB-INF/lib/struts2-core-2.0.6.jar!/struts-default.xml:8:69

Caused by: Bean type class com.opensymphony.xwork2.ObjectFactory with the name xwork has already been loaded by bean - jar:vfsfile:/D:/jboss-5.0.0.Beta2/server/default/deploy/myFirstWeb.war/WEB-INF/lib/struts2-core-2.0.6.jar!/struts-default.xml:8:69 - bean - jar:file:/D:/jboss-5.0.0.Beta2/server/default/work/jboss.web/localhost/myFirstWeb/WEB-INF/lib/struts2-core-2.0.6.jar!/struts-default.xml:8:69

但是struts2部分又在4.2版本中工作正常;我使用 struts2官方的demo也是这样的问题,郁闷啊,请问如何解决这个问题??
   发表时间:2007-06-09  
5.0版本号称可以自由组装模块功能,是否可以拿掉ejb3支持!
0 请登录后投票
   发表时间:2007-06-09  
谢谢各位关心,4.0找到了问题所在:
属性transaction-type指明了你希望persistence unit是受Java EE事务(取值JTA)管理并与之集成,还是使用resource local(取值RESOURCE_LOCAL)的javax.persistence. EntityTransaction API来管理EntityManager实例的事务完整性。此属性在Java EE环境中的默认值是JTA,而在Java SE环境中则为RESOURCE_LOCAL。
因为我是java se 环境,所以设置的JTA事务出错;使用RESOURCE_LOCAL就没有问题了呵;
JTA 和 RESOURCE_LOCAL 两种事务管理有多大区别呢??

5.0为什么运行不了struts2还没有搞清楚。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics