JiveJdon 3.9 Tomcat 配置启动报错

09-12-23 klcwt
今天配置了 最新版本的程序 jivejdon是 3.9 这个版本,结果出现了 如下错误

JTA Transaction Manager Lookup setting not found, auto detecting....

2009-12-23 16:18:22,593 [http-8080-1] ERROR com.jdon.jivejdon.dao.search.MessageSearchProxy - org.compass.core.config.ConfigurationException: Failed to create transaction factory class [org.compass.core.transaction.JTASyncTransactionFactory]; nested exception is org.compass.core.CompassException: Must register a transaction manager lookup using the compass.transaction.managerLookup property

org.compass.core.config.ConfigurationException: Failed to create transaction factory class [org.compass.core.transaction.JTASyncTransactionFactory]; nested exception is org.compass.core.CompassException: Must register a transaction manager lookup using the compass.transaction.managerLookup property

org.compass.core.CompassException: Must register a transaction manager lookup using the compass.transaction.managerLookup property

at org.compass.core.transaction.JTASyncTransactionFactory.doConfigure(JTASyncTransactionFactory.java:81)

at org.compass.core.transaction.AbstractTransactionFactory.configure(AbstractTransactionFactory.java:41)

at org.compass.core.transaction.TransactionFactoryFactory.createTransactionFactory(TransactionFactoryFactory.java:44)

at org.compass.core.impl.DefaultCompass.<init>(DefaultCompass.java:118)

at org.compass.core.impl.DefaultCompass.<init>(DefaultCompass.java:96)

at org.compass.core.impl.DefaultCompass.<init>(DefaultCompass.java:89)

at org.compass.core.config.CompassConfiguration.buildCompass(CompassConfiguration.java:191)

at com.jdon.jivejdon.dao.search.MessageSearchProxy.init(MessageSearchProxy.java:91)

at com.jdon.jivejdon.dao.search.MessageSearchProxy.<init>(MessageSearchProxy.java:35)

at com.jdon.jivejdon.dao.filter.MessageQueryDaoProxy.<init>(MessageQueryDaoProxy.java:45)

Hi,all,请问这个问题怎么解决,我是根据这里的官方文档来配置的。

Tomcat是从jdon下载来的,Webapp的版本是3.9,6.2

报错误的类是:MessageSearchProxy 的init()方法下的 compass = config.buildCompass(); 91句

补充后来我在Jboss下面部署也出现了这个错误

16:53:05,171 ERROR [STDERR] org.compass.core.config.ConfigurationException: Failed to create transaction factory class [org.compass.core.transaction.JTASyncTransactionFactory]; nested exception is org.compass.core.CompassException: Must register a transaction manager lookup using the compass.transaction.managerLookup property

16:53:05,171 ERROR [STDERR] org.compass.core.CompassException: Must register a transaction manager lookup using the compass.transaction.managerLookup property

1

请banq及时注意下这个问题,并给予解决。

还有要部署这个系统真的是不容易,有太多东西要配置,很容易出问题

这样对初学者来说 很不容易上手 ,会影响推广的。

[该贴被klcwt于2009-12-23 17:04修改过]

2
oojdon
2009-12-23 17:18
楼主,用tomcat就不能用JTA事务,而jivejdon的事务用的是JTA,你只要注释掉MessageSearchProxy的这一行

config.setSetting("compass.transaction.factory", "org.compass.core.transaction.JTASyncTransactionFactory");
<p>

以及代码中所有的类似如下的代码片段就可以了

TransactionManager tx = jtaTransactionUtil.getTransactionManager();
tx.begin();
tx.commit();
jtaTransactionUtil.rollback(tx);
<p>

不过你可以直接下载我们编译好的tomcat版,记得jdk用1.6,jivejdon下一步会向tomcat无缝运行,我们会做一个开关,可等等,呵呵。

[该贴被oojdon于2009-12-23 17:37修改过]

klcwt
2009-12-23 17:42
Hi, oojdon 非常感谢,

这边响应速度很快!

我目前还没有按照你的那种做法去修改部署到Tomcat的代码,

注意:后来我又部署到了Jboss的下面也是报这样的错误。

补充:我下的Tomcat Jboss都是Jdon的官网下的,不是独立下载,所以 jar包们和配置文件们都应该不会有问题!

还有jdk jre 都是 1.6的

等待你的答复 谢谢!

[该贴被klcwt于2009-12-23 17:42修改过]

[该贴被klcwt于2009-12-23 17:43修改过]

oojdon
2009-12-23 22:05
重新编译了最新代码

tomcat jivejdon3.9版地址

https://jdon.dev.java.net/files/documents/3703/144656/jivejdon_tomcat.rar

有问题贴错误日志

[该贴被oojdon于2009-12-23 22:07修改过]

xmuzyu
2009-12-23 22:40
还有注意一下Jar包放置的位置,与JTA事务关联的类最好放在容器的lib目录下,不要放在项目的目录下。比如jboss-j2ee.jar,jta.jar最好放在jboss的default/lib目录下。tomcat的话,最好也放在tomcat的lib目录下。

klcwt
2009-12-23 22:46
Thanks,按照各位修改意见我来尝试下!

希望有Good News!

klcwt
2009-12-23 23:50
1.最新的代码确实是没有问题了,跑起来的感觉非常perfect

2.由于我想使用Myeclipse调试里面的代码,使用插件方式启动的时候,目前有一个地方出了问题

就是在我登陆这个url上时候

http://localhost:8080/jivejdonweb/j_security_check?j_username=admin&j_password=admin

注意:而我在意start.bat脚本启动时候却是一切正常。有点诡异@@

严重: Unexpected error

java.lang.SecurityException: 无法定位登录配置

at com.sun.security.auth.login.ConfigFile.<init>(ConfigFile.java:93)

at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)

at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)

at java.lang.reflect.Constructor.newInstance(Constructor.java:513)

at java.lang.Class.newInstance0(Class.java:355)

at java.lang.Class.newInstance(Class.java:308)

at javax.security.auth.login.Configuration$3.run(Configuration.java:246)

at java.security.AccessController.doPrivileged(Native Method)

at javax.security.auth.login.Configuration.getConfiguration(Configuration.java:241)

at javax.security.auth.login.LoginContext$1.run(LoginContext.java:237)

at java.security.AccessController.doPrivileged(Native Method)

at javax.security.auth.login.LoginContext.init(LoginContext.java:234)

at javax.security.auth.login.LoginContext.<init>(LoginContext.java:403)

at org.apache.catalina.realm.JAASRealm.authenticate(JAASRealm.java:345)

at org.apache.catalina.authenticator.FormAuthenticator.authenticate(FormAuthenticator.java:258)

at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:417)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)

at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)

at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)

at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)

at java.lang.Thread.run(Thread.java:619)

Caused by: java.io.IOException: 无法定位登录配置

at com.sun.security.auth.login.ConfigFile.init(ConfigFile.java:250)

at com.sun.security.auth.login.ConfigFile.<init>(ConfigFile.java:91)

... 24 more

3.加入了Jta.jar包还是没有解决那个问题,看来还是源码上有一定的问题

[该贴被klcwt于2009-12-23 23:52修改过]

oojdon
2009-12-24 10:19
解决方法:http://www.jdon.com/jivejdon/thread/34859

klcwt
2009-12-24 10:20
上面的问题2已经解决:

解决办法:在Tomcat下的 jdk中的Java vm arguments 加入参数

-Djava.security.auth.login.config=C:/jivejdon_tomcat/conf/jaas.config

即可

研究下catalina.bat的脚本,和Myeclipse的tomcat插件的启动方式就能很好解决这个问题

klcwt
2009-12-24 10:21
呵呵,没及时看见,花了一个小时研究了启动脚本,就算是一种学习了

oojdon
2009-12-24 10:24
好的,恭喜,也欢迎楼主加入jivejdon的开发,呵呵

klcwt
2009-12-24 10:55
大家共同进步!

oojdon
2009-12-25 23:00
tomcat版依赖jar


猜你喜欢