JiveJdon 3.9 Tomcat 配置启动报错

今天配置了 最新版本的程序 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修改过]

楼主,用tomcat就不能用JTA事务,而jivejdon的事务用的是JTA,你只要注释掉MessageSearchProxy的这一行


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

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


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

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

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

Hi, oojdon 非常感谢,
这边响应速度很快!

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

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

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

还有jdk jre 都是 1.6的
等待你的答复 谢谢!

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

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

Thanks,按照各位修改意见我来尝试下!
希望有Good News!

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修改过]

上面的问题2已经解决:
解决办法:在Tomcat下的 jdk中的Java vm arguments 加入参数
-Djava.security.auth.login.config=C:/jivejdon_tomcat/conf/jaas.config
即可

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

呵呵,没及时看见,花了一个小时研究了启动脚本,就算是一种学习了

好的,恭喜,也欢迎楼主加入jivejdon的开发,呵呵

大家共同进步!

tomcat版依赖jar