NND, 项目移植报个No bean named 'sessionFactory' is defined 本帖最后由 meiwenhui 于 2011-10-20 14:35:13 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你应该贴applicationContext.xml。。web.xml看不出什么。。 applicationContext.xml <bean id="nativeJdbcExtractor" class="org.springframework.jdbc.support.nativejdbc.SimpleNativeJdbcExtractor" /> <bean id="oracleLobHandler" class="org.springframework.jdbc.support.lob.OracleLobHandler" lazy-init="true"> <property name="nativeJdbcExtractor"> <ref bean="nativeJdbcExtractor" /> </property> </bean> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="lobHandler" ref="oracleLobHandler" /> <property name="configLocation" value="classpath:jbpm.hibernate.cfg.xml" /> </bean> <context:component-scan base-package="com.hzunitech" /> <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory" ref="sessionFactory" /> </bean> <tx:advice id="txAdvice" transaction-manager="transactionManager"> <tx:attributes> <!-- <tx:method name="save*" propagation="REQUIRED" /> <tx:method name="add*" propagation="REQUIRED" /> <tx:method name="del*" propagation="REQUIRED" /> <tx:method name="update*" propagation="REQUIRED" /> <tx:method name="manage*" propagation="REQUIRED" /> <tx:method name="get*" read-only="true" /> <tx:method name="search*" read-only="true" /> <tx:method name="*" read-only="true" /> --> <tx:method name="*"/> </tx:attributes> </tx:advice> <tx:advice id="startProcess" transaction-manager="transactionManager"> <tx:attributes> <tx:method name="startProcess"/> </tx:attributes> </tx:advice> <aop:config> <aop:pointcut id="allManagerMethod" expression="execution (* com.hzu.*.service..*(..))" /> <aop:advisor advice-ref="txAdvice" pointcut-ref="allManagerMethod" /> </aop:config> <bean id="springHelper" class="org.jbpm.pvm.internal.processengine.SpringHelper" /> <bean id="processEngine" factory-bean="springHelper" factory-method="createProcessEngine" /> <bean id="repositoryService" factory-bean="processEngine" factory-method="getRepositoryService" /> <bean id="executionService" factory-bean="processEngine" factory-method="getExecutionService" /> <bean id="taskService" factory-bean="processEngine" factory-method="getTaskService" /> <bean id="historyService" factory-bean="processEngine" factory-method="getHistoryService" /> <bean id="identityService" factory-bean="processEngine" factory-method="getIdentityService" /> No bean named 'sessionFactory' is defined 你将问题的根原是于hibernate问题,测试hibernatea获取数据名称看hibernate那块具体报哪个错误 包问题吧,weblogic找不到你注入的sessionFactory。应该是这个错误,没用过weblogic,但是曾经从tomcat移植到Jboss也报这错,最后发现是包冲突。 可惜框架难以调试啊按理这两个bean是不是已经成功读取了?<bean id="nativeJdbcExtractor" class="org.springframework.jdbc.support.nativejdbc.SimpleNativeJdbcExtractor" /><bean id="oracleLobHandler" class="org.springframework.jdbc.support.lob.OracleLobHandler" lazy-init="true"> <property name="nativeJdbcExtractor"> <ref bean="nativeJdbcExtractor" /> </property></bean> 我想应该成功得到了,我们开发是在tomcat下,一直没问题, 移到weblogic10后,就启不来,报错. 可以先确定一下这个错是在开始使用这个sessionFactory bean的时候报的错呢还是框架开始初始化时报的错如果是前者,看之前有没有使用过其它bean,如果没报错可以借鉴一下,如果没使用过...但看信息报错更像是在一堆bean中找不到一个特定的,不像是更大范围的问题如果是后者,那确定前两个bean已成功,也可以判断出些什么了,这个bean的一些相关信息是不是有误话说异常堆栈信息少了点,只有两行 这是控制台输出的信息, 在这里就Setting autowire strategy to name就停住了Root WebApplicationContext: initialization started[INFO ] 2011-10-20 00:24:08,540 method:org.springframework.context.support.AbstractApplicationContext.prepareRefresh(AbstractApplicationContext.java:456)Refreshing Root WebApplicationContext: startup date [Thu Oct 20 00:24:08 PDT 2011]; root of context hierarchy[INFO ] 2011-10-20 00:24:08,737 method:org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:555)Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@1cfeda3b: defining beans []; root of factory hierarchy[INFO ] 2011-10-20 00:24:08,764 method:org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:214)Root WebApplicationContext: initialization completed in 469 ms[INFO ] 2011-10-20 00:24:09,097 method:com.opensymphony.xwork2.util.logging.commons.CommonsLogger.info(CommonsLogger.java:42)Parsing configuration file [struts-default.xml][INFO ] 2011-10-20 00:24:09,222 method:com.opensymphony.xwork2.util.logging.commons.CommonsLogger.info(CommonsLogger.java:42)Parsing configuration file [struts-plugin.xml][INFO ] 2011-10-20 00:24:09,261 method:com.opensymphony.xwork2.util.logging.commons.CommonsLogger.info(CommonsLogger.java:42)Parsing configuration file [struts.xml][INFO ] 2011-10-20 00:24:09,515 method:com.opensymphony.xwork2.util.logging.commons.CommonsLogger.info(CommonsLogger.java:42)Setting autowire strategy to name 按常规是不应该停住的?貌似控制台启动时没报错了,一些配置文件都貌似初始化完成,然后访问页面时报错,那为什么仅是sessionFactory报出来,是因为只访问到sessionFactory还是什么其它,能尝试着让其它bean也报错吗 搞定了,原因是weblogic10不识统配符(*)<context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:/applicationContext*.xml</param-value> </context-param>改成<context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:/applicationContext.xml</param-value> </context-param>在application.xml中import其它的就行了 哦照这么说启动时应该要初始化applicationContext.xml的,现在等于什么都没读进 怎么改啊,没看明白,在web.xml里加么? hibernate中,GROUP BY 之后使用方法。请高人帮忙。谢谢!!!解答之后立即结贴! 学java两年了,我想再学一门语言 研究过tomcat内存管理的人过来瞧瞧,呵呵 如何在java JFrame中插图片 struts 进行validation验证的时候找不到资源文件 getHibernateTemplate()批量插入问题 菜鸟求助!!关于jsp!! apache+tomcat Sun的j2ee服务器安装失败,显示如下,求救! 求助在线编辑内容的保存问题 这个this是什么意思? j2ee,ssh,oracle...二十余个java内部项目视频共享
<bean id="oracleLobHandler" class="org.springframework.jdbc.support.lob.OracleLobHandler" lazy-init="true">
<property name="nativeJdbcExtractor">
<ref bean="nativeJdbcExtractor" />
</property>
</bean>
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="lobHandler" ref="oracleLobHandler" />
<property name="configLocation" value="classpath:jbpm.hibernate.cfg.xml" />
</bean> <context:component-scan base-package="com.hzunitech" /> <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<!--
<tx:method name="save*" propagation="REQUIRED" />
<tx:method name="add*" propagation="REQUIRED" />
<tx:method name="del*" propagation="REQUIRED" />
<tx:method name="update*" propagation="REQUIRED" />
<tx:method name="manage*" propagation="REQUIRED" />
<tx:method name="get*" read-only="true" />
<tx:method name="search*" read-only="true" />
<tx:method name="*" read-only="true" />
-->
<tx:method name="*"/>
</tx:attributes>
</tx:advice>
<tx:advice id="startProcess" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="startProcess"/>
</tx:attributes>
</tx:advice>
<aop:config>
<aop:pointcut id="allManagerMethod" expression="execution (* com.hzu.*.service..*(..))" />
<aop:advisor advice-ref="txAdvice" pointcut-ref="allManagerMethod" />
</aop:config>
<bean id="springHelper" class="org.jbpm.pvm.internal.processengine.SpringHelper" />
<bean id="processEngine" factory-bean="springHelper" factory-method="createProcessEngine" />
<bean id="repositoryService" factory-bean="processEngine" factory-method="getRepositoryService" />
<bean id="executionService" factory-bean="processEngine" factory-method="getExecutionService" />
<bean id="taskService" factory-bean="processEngine" factory-method="getTaskService" />
<bean id="historyService" factory-bean="processEngine" factory-method="getHistoryService" />
<bean id="identityService" factory-bean="processEngine" factory-method="getIdentityService" />
你将问题的根原是于hibernate问题,测试hibernatea获取数据名称看hibernate那块具体报哪个错误
<property name="nativeJdbcExtractor">
<ref bean="nativeJdbcExtractor" />
</property>
</bean>
还是框架开始初始化时报的错如果是前者,看之前有没有使用过其它bean,如果没报错可以借鉴一下,如果没使用过...
但看信息报错更像是在一堆bean中找不到一个特定的,不像是更大范围的问题如果是后者,那确定前两个bean已成功,也可以判断出些什么了,这个bean的一些相关信息是不是有误话说异常堆栈信息少了点,只有两行
[INFO ] 2011-10-20 00:24:08,540 method:org.springframework.context.support.AbstractApplicationContext.prepareRefresh(AbstractApplicationContext.java:456)
Refreshing Root WebApplicationContext: startup date [Thu Oct 20 00:24:08 PDT 2011]; root of context hierarchy
[INFO ] 2011-10-20 00:24:08,737 method:org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:555)
Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@1cfeda3b: defining beans []; root of factory hierarchy
[INFO ] 2011-10-20 00:24:08,764 method:org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:214)
Root WebApplicationContext: initialization completed in 469 ms
[INFO ] 2011-10-20 00:24:09,097 method:com.opensymphony.xwork2.util.logging.commons.CommonsLogger.info(CommonsLogger.java:42)
Parsing configuration file [struts-default.xml]
[INFO ] 2011-10-20 00:24:09,222 method:com.opensymphony.xwork2.util.logging.commons.CommonsLogger.info(CommonsLogger.java:42)
Parsing configuration file [struts-plugin.xml]
[INFO ] 2011-10-20 00:24:09,261 method:com.opensymphony.xwork2.util.logging.commons.CommonsLogger.info(CommonsLogger.java:42)
Parsing configuration file [struts.xml]
[INFO ] 2011-10-20 00:24:09,515 method:com.opensymphony.xwork2.util.logging.commons.CommonsLogger.info(CommonsLogger.java:42)
Setting autowire strategy to name
搞定了,原因是weblogic10不识统配符(*)
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:/applicationContext*.xml</param-value>
</context-param>
改成
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:/applicationContext.xml</param-value>
</context-param>
在application.xml中import其它的就行了