论坛首页 Java版 Hibernate

Spring+Hibernate架构中Jndi的问题

浏览 2978 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
最后更新时间:2005-09-05
配置文件:
[code:1]<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "spring-beans.dtd" >
<beans>
<description>Test</description>
<!-- 数据源定义-->
  <bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
  <property name="jndiName" value="jdbc/medcrm" />
 
</bean>
<!-- SessionFactory定义-->
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref local="dataSource"/>
</property>
<property name="mappingResources">
<list>
<value>com/kingyee/crm/model/Product.hbm.xml</value>
<value>com/kingyee/crm/model/ProductType.hbm.xml</value>
<value>com/kingyee/crm/model/Order.hbm.xml</value>
<value>com/kingyee/crm/model/Customer.hbm.xml</value>
<value>com/kingyee/crm/model/TypeFile.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.MySQLDialect
</prop>
<prop key="hibernate.show_sql">
false
</prop>
</props>
</property>
</bean>
<!-- 事务管理-->
<bean id="myTransactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory">
<ref local="sessionFactory"/>
</property>
</bean>
<!-- 事务管理代理-->
<bean id="baseTxProxy" lazy-init="true" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
        <property name="transactionManager"><ref bean="myTransactionManager"/></property>
        <property name="transactionAttributes">
            <props>
                                <prop key="*">PROPAGATION_REQUIRED</prop>
            </props>
        </property>
    </bean>
   
    <!-- 产品Service代理-->
<bean id="productService" parent="baseTxProxy">
           <property name="target">
            <bean class="com.kingyee.crm.service.ProductServiceImpl">
                <property name="dao">
                        <ref local="productDao" />
                </property>
        </bean>
        </property>
</bean>

<!-- 产品Dao-->
<bean id="productDao" class="com.kingyee.crm.dao.ProductDaoImpl">
<property name="sessionFactory">
<ref local="sessionFactory"/>
</property>
</bean>

<!-- 类型Service代理-->
<bean id="typeService" parent="baseTxProxy">
           <property name="target">
            <bean class="com.kingyee.crm.service.ProductTypeServiceImpl">
                <property name="dao">
                        <ref local="typeDao" />
                </property>
        </bean>
        </property>
</bean>

<!-- 类型Dao-->
<bean id="typeDao" class="com.kingyee.crm.dao.ProductTypeDAOImpl">
<property name="sessionFactory">
<ref local="sessionFactory"/>
</property>
</bean>

<!-- 订单Service代理-->
<bean id="orderService" parent="baseTxProxy">
           <property name="target">
            <bean class="com.kingyee.crm.service.OrderServiceImpl">
                <property name="dao">
                        <ref local="orderDao" />
                </property>
        </bean>
        </property>
</bean>

<!-- 订单Dao-->
<bean id="orderDao" class="com.kingyee.crm.dao.OrderDAOImpl">
<property name="sessionFactory">
<ref local="sessionFactory"/>
</property>
</bean>

<!-- 客户Service代理-->
<bean id="customerService" parent="baseTxProxy">
           <property name="target">
            <bean class="com.kingyee.crm.service.CustomerServiceImpl">
                <property name="dao">
                        <ref local="customerDao" />
                </property>
        </bean>
        </property>
</bean>

<!-- 客户Dao-->
<bean id="customerDao" class="com.kingyee.crm.dao.CustomerDAOImpl">
<property name="sessionFactory">
<ref local="sessionFactory"/>
</property>
</bean>

</beans>
[/code:1]

过去一直用数据源,没有问题,现在改成jndi就出现异常:

[code:1]
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Initialization of bean failed; nested exception is javax.naming.NameNotFoundException: Name jdbc is not bound in this Context
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:355)
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:226)
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:147)
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:269)
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:317)
org.springframework.web.context.support.AbstractRefreshableWebApplicationContext.refresh(AbstractRefreshableWebApplicationContext.java:134)
org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:230)
org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:156)
org.springframework.web.context.ContextLoaderServlet.init(ContextLoaderServlet.java:81)
javax.servlet.GenericServlet.init(GenericServlet.java:211)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:585)
org.apache.commons.beanutils.MethodUtils.invokeMethod(MethodUtils.java:216)
org.apache.commons.digester.SetNextRule.end(SetNextRule.java:256)
org.apache.commons.digester.Rule.end(Rule.java:276)
org.apache.commons.digester.Digester.endElement(Digester.java:1058)
org.apache.catalina.util.CatalinaDigester.endElement(CatalinaDigester.java:76)
org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanEndElement(Unknown Source)
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
org.apache.commons.digester.Digester.parse(Digester.java:1567)
org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:483)
org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:427)
org.apache.catalina.startup.HostConfig.start(HostConfig.java:983)
org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:349)
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
org.apache.catalina.startup.Catalina.start(Catalina.java:556)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:585)
org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:287)
org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:425)
[/code:1]

服务器用的是tomcat 5.09
请问各位这是什么问题啊
   
最后更新时间:2005-09-06
试试
[code:1]
value=java:comp/env/jdbc/datasource
[/code:1]
   
0 请登录后投票
最后更新时间:2005-09-08
多谢,已经解决
   
0 请登录后投票
最后更新时间:2006-07-06
slayer 写道
多谢,已经解决
是什么问题?我现在遇到这个问题,用weblogic没问题,用tomcat就出问题了,请楼主指教,谢谢
   
0 请登录后投票
论坛首页 Java版 Hibernate

跳转论坛:
JavaEye推荐