weblogic部署java应用的常见问题

Coohx 2011-08-29

空指针的问题

在tomcat下正常的应用到weblogic下发现@Autowire注入的bean为空。经过验证,发现是web.xml中配置spring上下文参数时用了例如classpath:applicationContext*.xml的写法,weblogic不能识别。解决办法就是将通配符*号去掉

数据库源的问题

当配置容器数据源后,需要在spring中做对应的配置

<!-- 数据源配置,使用应用服务器的数据库连接池 -->
	<!--<jee:jndi-lookup id="dataSource" jndi-name="java:comp/env/jdbc/ExampleDB" />-->
	<jee:jndi-lookup id="dataSource" jndi-name="test" />

发现提示不成功,找出原因是数据库驱动的原因。当在weblogic中配置数据时,选择com.mysql.Driver时会出错,而选择org.gjt.mm.mysql.Driver时却可以。

hibernate查询的问题

当解决数据源的问题后,在查询数据库是时,又报ClassNotFoundException:org.hibernate.hql.ast.HqlToken

解决方法:在spring的applicationContextxml中的hibernateProperties属性系列中加上一个属性hibernate.query.factory_class,值为org.hibernate.hql.classic.ClassicQueryTranslatorFactory。

原因:weblogic.jar中已经有了一个antlr.jar的版本,导致应用中hibernate3.jar中用到的antlr.jar不能找到,导致异常。

相关推荐