本帖最后由 meiwenhui 于 2011-10-20 14:35:13 编辑

解决方案 »

  1. 你应该贴applicationContext.xml。。web.xml看不出什么。。
      

  2. 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" />
      

  3. No bean named 'sessionFactory' is defined 
    你将问题的根原是于hibernate问题,测试hibernatea获取数据名称看hibernate那块具体报哪个错误
      

  4. 包问题吧,weblogic找不到你注入的sessionFactory。应该是这个错误,没用过weblogic,但是曾经从tomcat移植到Jboss也报这错,最后发现是包冲突。
      

  5. 可惜框架难以调试啊按理这两个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>
      

  6. 我想应该成功得到了,我们开发是在tomcat下,一直没问题, 移到weblogic10后,就启不来,报错.
      

  7. 可以先确定一下这个错是在开始使用这个sessionFactory bean的时候报的错呢
    还是框架开始初始化时报的错如果是前者,看之前有没有使用过其它bean,如果没报错可以借鉴一下,如果没使用过...
    但看信息报错更像是在一堆bean中找不到一个特定的,不像是更大范围的问题如果是后者,那确定前两个bean已成功,也可以判断出些什么了,这个bean的一些相关信息是不是有误话说异常堆栈信息少了点,只有两行
      

  8. 这是控制台输出的信息, 在这里就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
      

  9. 按常规是不应该停住的?貌似控制台启动时没报错了,一些配置文件都貌似初始化完成,然后访问页面时报错,那为什么仅是sessionFactory报出来,是因为只访问到sessionFactory还是什么其它,能尝试着让其它bean也报错吗
      


  10. 搞定了,原因是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其它的就行了
      

  11. 哦照这么说启动时应该要初始化applicationContext.xml的,现在等于什么都没读进
      

  12. 怎么改啊,没看明白,在web.xml里加么?
      

类似问题 »