|
这个主题共有 16 回复 / 2 页 [
1 2
下一页
]
|
|
|
|
|
|
tomcat5.0上部署jivejdon出现的问题,请banq大哥研究研究
|
发表: 2007年09月16日 17:51
|
回复
|
|
<################################>Action: JdonFramework core entrance 2000-09-16 17:29:08,875 [http8080-Processor24] DEBUG com.jdon.bussinessproxy.dyncproxy.DynamicProxyWeaving - [JdonFramework]<################>execute method=com.jdon.jivejdon.service.ForumService.getForums 2000-09-16 17:29:08,875 [http8080-Processor24] DEBUG com.jdon.aop.AopClient - [JdonFramework] enter AOP invoker2 for:com.jdon.jivejdon.service.imp.ForumServiceImp method:getForums 2000-09-16 17:29:08,875 [http8080-Processor24] DEBUG com.jdon.aop.joinpoint.AdvisorChainFactory - [JdonFramework] enter create PointcutAdvisor 2000-09-16 17:29:08,875 [http8080-Processor24] ERROR com.jdon.util.Debug - com.jdon.aop.AopClient java.lang.NullPointerException at java.util.ArrayList.addAll(ArrayList.java:473) at com.jdon.aop.joinpoint.AdvisorChainFactory.create(AdvisorChainFactory.java:58) at com.jdon.aop.AopClient.invoke(AopClient.java:92) at com.jdon.bussinessproxy.dyncproxy.DynamicProxyWeaving.invoke(DynamicProxyWeaving.java:62) at $Proxy0.getForums(Unknown Source) at com.jdon.jivejdon.presentation.action.ForumListAction.getPageIterator(ForumListAction.java:38) at com.jdon.strutsutil.ModelListAction.execute(ModelListAction.java:69) at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431) at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236) at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196) at org.apache.struts.action.ActionServlet.doGet.create(AdvisorChainFactory.java:58) at com.jdon.aop.AopClient.invoke(AopClient.java:92) ... 48 more 2000-09-16 17:29:08,875 [http8080-Processor24] ERROR com.jdon.strutsutil.ModelListAction - getPageIterator not be implemented, you must implement either of them 2000-09-16 17:29:09,000 [http8080-Processor25] DEBUG com.jdon.controller.service.WebServiceFactory - <==============================>start: JdonFramework core entrance 2000-09-16 17:29:09,000 [http8080-Processor25] DEBUG com.jdon.controller.service.WebServiceFactory - <===============>Looking up new service='forumMessageQueryService'
|
|
|
|
|
|
re:tomcat5.0上部署jivejdon出现的问题,请banq大哥研究研究
|
发表: 2007年09月16日 17:53
|
回复
|
|
由于发帖文字限制所以中间一部分错误信息被截取,下面是JDNI的配置信息: <Context path="/jivejdon" docBase="C:\Program Files\Apache Software Foundation\Tomcat 5.0\webapps\jivejdon" debug="0" reloadable="true"> <!-- <Realm className="org.apache.catalina.realm.JDBCRealm" debug="99" driverName="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/security?user=root&password=3c508" digest="MD5" userTable="user" userNameCol="name" userCredCol="password" userRoleTable="role" roleNameCol="name"/> --> <Resource name="jdbc/jivejdon" auth="Container" type="javax.sql.DataSource" /> <ResourceParams name="jdbc/jivejdon"> <parameter> <name>factory</name> <value>org.apache.commons.dbcp.BasicDataSourceFactory</value> </parameter> <parameter> <name>driverClassName</name> <value>com.mysql.jdbc.Driver</value> </parameter> <parameter> <name>url</name> <value>jdbc:mysql://localhost:3306/jivejdon</value> </parameter> <parameter> <name>username</name> <value>root</value> </parameter> <parameter> <name>password</name> <value>3c508</value> </parameter> <parameter> <name>maxActive</name> <value>20</value> </parameter> <parameter> <name>maxIdle</name> <value>20</value> </parameter> <parameter> <name>maxWait</name> <value>-1</value> </parameter> </ResourceParams> <Resource name="jdbc/security" auth="Container" type="javax.sql.DataSource" /> <ResourceParams name="jdbc/security"> <parameter> <name>factory</name> <value>org.apache.commons.dbcp.BasicDataSourceFactory</value> </parameter> <parameter> <name>driverClassName</name> <value>com.mysql.jdbc.Driver</value> </parameter> <parameter> <name>url</name> <value>jdbc:mysql://localhost:3306/security</value> </parameter> <parameter> <name>username</name> <value>root</value> </parameter> <parameter> <name>password</name> <value>3c508</value> </parameter> <parameter> <name>maxActive</name> <value>20</value> </parameter> <parameter> <name>maxIdle</name> <value>20</value> </parameter> <parameter> <name>maxWait</name> <value>-1</value> </parameter> </ResourceParams> </Context>
|
|
|
|
|
|
re:tomcat5.0上部署jivejdon出现的问题,请banq大哥研究研究
|
发表: 2007年09月16日 17:54
|
回复
|
|
下面是daos.xml的配置情况 <!-- DataSource --> <component name="jdbcTempSource" class="com.jdon.jivejdon.dao.sql.JdbcTempSource"> <!-- JBoss JNDI--> <!-- tomcat jndi <constructor value="java:/JiveJdonDS"/> --> <constructor value="java:comp/env/jdbc/jivejdon"/> </component> <!-- DataSource for SSO --> <component name="jdbcTempSSOSource" class="com.jdon.jivejdon.dao.sql.JdbcTempSSOSource"> <!-- jboss jndi --> <!-- tomcat jndi <constructor value="java:/Security"/> --> <constructor value="java:comp/env/jdbc/security"/> </component>
|
|
|
|
|
|
re:tomcat5.0上部署jivejdon出现的问题,请banq大哥研究研究
|
发表: 2007年09月16日 18:01
|
回复
|
|
权限部分我使用的是tomcat的tomcat_user.xml <?xml version='1.0' encoding='utf-8'?> <tomcat-users> <role rolename="tomcat"/> <role rolename="role1"/> <role rolename="manager"/> <role rolename="Admin"/> <user username="tomcat" password="tomcat" roles="tomcat"/> <user username="role1" password="tomcat" roles="role1"/> <user username="both" password="tomcat" roles="tomcat,role1"/> <user username="admin" password="admin" roles="Admin"/> </tomcat-users> 现在的 情况是论坛的 页面可以出来,但论坛的内容出不来,用http://localhost:8080/jivejdon/admin入口登录后管理功能不能用,或出现权限错误,或内容无法列表,列表系统tcp链接,没有链接mysql数据库的链接。我用jboss服务器就正常。请banq大哥研究研究!
|
|
|
|
|
|
回复:re:tomcat5.0上部署jivejdon出现的问题,请banq大哥研究研究
|
发表: 2007年09月17日 12:03
|
回复
|
|
目前不能在Tomcat下使用JiveJdon3.
我已经在JiveJdon3 readme中说了,由于Tomcat的权限realm对角色数据表有特定要求,JiveJdon3没有符合其设计,所以,JiveJdon3只能在对角色数据表没有限定设计的服务器上使用,例如JBoss/Weblogic等。
另外一种可能市更改JiveJdon3的角色数据表,这个以后会考虑。
|
|
|
|
|
|
re:tomcat5.0上部署jivejdon出现的问题,请banq大哥研究研究
|
发表: 2007年09月17日 13:11
|
回复
|
|
我正在分析您的jdon框架,并尝试着把JiveJdon运行在tomcat上,现在对框架的运行机理还不是很清楚,如果有问题请banq大哥不吝赐教. 个人认为快速与复杂是矛盾的,也就是快速与灵活性是矛盾的,jdon的定位很重要,限制越少,灵活性越高,但也复杂,掌握起来也越难.
|
|
|
|
|
|
re:tomcat5.0上部署jivejdon出现的问题,请banq大哥研究研究
|
发表: 2007年09月22日 00:59
|
回复
|
|
最新情况:经过一周的调试,论坛在tomcat5.0下的部署有了点新进展,但有出现了下面错误,请banq大哥指个方向。
javax.naming.NameNotFoundException: Name TransactionManager is not bound in this Context at org.apache.naming.NamingContext.lookup(NamingContext.java:815) at org.apache.naming.NamingContext.lookup(NamingContext.java:198) at org.apache.naming.SelectorContext.lookup(SelectorContext.java:183) at javax.naming.InitialContext.lookup(InitialContext.java:351) at com.jdon.jivejdon.service.util.JtaTransactionUtil.<init>(JtaTransactionUtil.java:13)
|
|
|
|
|
|
回复:re:tomcat5.0上部署jivejdon出现的问题,请banq大哥研究研究
|
发表: 2007年09月22日 09:48
|
回复
|
|
这是有关JTA事务错误。
1.需要tomcat中有JTA.jar这样的Jar包。 2.需要有JTA JNDI名称,因为Tomcat缺省是不支持JTA的,所以,我也不知道其缺省的JTA JNDI名称是什么,你可以查查有关资料。
非常佩服你的能力,不过我前面说关于容器权限认证方面问题不知你是否明白?JiveJdon3的角色数据表设计不符合Tomcat的Realm规定的数据表格式,所以,就无法使用Tomcat的权限认证,JiveJdon3的权限登录机制无法启用。 http://www.onjava.com/pub/a/onjava/2002/06/12/form.html http://tomcat.apache.org/tomcat-5.0-doc/realm-howto.html
如果你确实有所突破,也发布一下你的心得,帮助JiveJdon这个开源软件在Tomcat上有所发展。
|
|
|
|
|
|
re:tomcat5.0上部署jivejdon出现的问题,请banq大哥研究研究
|
发表: 2007年09月22日 11:18
|
回复
|
|
|
从网上下了一个开源的jta包,现在试试在server.xml中配置jndi,仔细读了您的源码,对您的框架有了大概的了解,您说得JiveJdon3的角色数据表设计不符合Tomcat的Realm规定的数据表格式,我知道是什么意思,你的论坛权限是三个表,tomcat要求的是两个表,不过用tomcat_user.xml的方式大概可以解决这个问题。从您的框架代码中也看到了许多模式的实例,很有启发。
|
|
|
|
|
|
re:tomcat5.0上部署jivejdon出现的问题,请banq大哥研究研究
|
发表: 2007年09月22日 22:06
|
回复
|
|
|
修改了JtaTransactionUtil.java这个文件的代码静态创建了transactonmanager这个对象,而不是从jndi查询,现在论坛基本正常了,但弊端就是系统被帮定到固定的jta实现上了,tomcat的jndi写法试了好几种都没弄好,没信心了。
|
|
|
|
|
|
re:tomcat5.0上部署jivejdon出现的问题,请banq大哥研究研究
|
发表: 2007年09月22日 22:08
|
回复
|
|
|
对了,用户系统还不正常,现在只能在tomcat_user.xml中手动加
|
|
|
|
|
|
re:tomcat5.0上部署jivejdon出现的问题,请banq大哥研究研究
|
发表: 2007年09月23日 06:58
|
回复
|
|
|
已经可以用正常方式验证用户了,我在权限认证数据表上加了一个视图就把三个表变成两个表了,哈哈
|
|
|
|
|
|
回复:re:tomcat5.0上部署jivejdon出现的问题,请banq大哥研究研究
|
发表: 2007年09月23日 19:41
|
回复
|
|
>我在权限认证数据表上加了一个视图就把三个表变成两个表 太棒了,能否将详细方法贴出来,我补充进入JiveJdon3中,这样让更多初学者分享,,JiveJdon3本身就是开源,需要靠大家来丰富它,我会注明作者版权的,谢谢。 [该贴被banq于2007年09月23日 19:43修改过]
|
|
|
|
|
|
re:tomcat5.0上部署jivejdon出现的问题,请banq大哥研究研究
|
发表: 2007年09月23日 20:51
|
回复
|
|
要求在mysql5.0以上版本,因为只有5.0才支持视图 CREATE VIEW security.user_role_v AS select rl.name AS Roles,u.name AS name from ((security.role RL join security.user U) join security.users_roles RU) where ((u.userId = ru.userId) and (ru.roleId = rl.roleId))
下面是在server.xml中的认证配置 <Realm className="org.apache.catalina.realm.JDBCRealm" debug="99" driverName="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/security?user=root&password=3c508" digest="MD5" userTable="user" userNameCol="name" userCredCol="password" userRoleTable="user_role_v" roleNameCol="roles"/>
另有点不成熟的意见,如果把事务管理做成组件而不是到JDNI中搜索会不会更好一点,可能我说的不对,因为我在这方面的知识还很欠缺。
很高兴能为你的开源论坛尽点微薄之力,人人为我,我为人人。
|
|
|
|
|
|
回复:re:tomcat5.0上部署jivejdon出现的问题,请banq大哥研究研究
|
发表: 2007年09月24日 10:35
|
回复
|
|
非常感谢, JTA需要在Tomcat中配置,是否使用JOTM的JTA?网上资料搜索有如下配置: 相关资料: http://cymulacrum.net/writings/adv_tomcat/c225.html
在Tomcat中使用JDBC与JTA
关于为什么不在JdonFramework中整入JTA和权限认证,这两点我认为是使Spring变得复杂难用的一个原因,Spring在后来整入了JTA,致使其线程ThreadLocal方面异常复杂,很难保证不出错,另外一个开源Acegi实现权限认证,Acegi也是基于ThreadLocal异常复杂。
Spring虽然花了这么大力气的好处,就是能够在Tomcat这样Web容器运行标准的JEE程序,对于初学者Web程序员或者不理解JavaEE是个组件世界的人是一个好事。
JavaEE世界是一个组件世界,就象自助餐,每个应用就是需要自己动手配置,这样才能满足个性化的需求。初学者进入Java世界以后,迟早会意识到这个问题,会动手自己组合Jar包的。
一个框架如Spring为了使用者方便整入了很多的组件,但是不可能将所有组件都整合进去,这点不象.NET,.NET可以打包很多组件,那些都是微软自己生产的组件;但是在Java世界,有各种不同或者类似竞争的组件,Spring只能整入一两个,不可能全部整入,而且整入哪个也是一个困难判断依据,比如你今天整入Hibernate,明天要整入IBatis,如果Hibernate/IBatis有类似竞争开源组件,那么是否对其他组件不公平?
JTA/权限认证,这些都是在JavaEE标准文档规定的,必须是JavaEE服务器提供的功能,而且Weblogic/Webshere这些商业服务器为什么不会因为有JBoss/Tomcat而停止销售,他们的核心竞争力就是分布式事务以及集群,也就是说JTA事务是一个水很深,技术异常复杂的领域,作为轻量级开发框架JdonFramework还是把这些推给依赖服务器实现吧,自己只做一些更靠近业务的支持。
[该贴被banq于2007年09月24日 11:10修改过]
|
|
|
|
|
|
这个主题有 16 回复 / 2 页 [
1 2
下一页
]
|
|
|