Java 使用远程JNDI数据源的Spring+Hibernate事务管理
我有一个Spring应用程序,它使用hibernate、Spring事务管理和位于Weblogic服务器上的JNDI数据源 应用程序在weblogic上部署时工作正常,但在本地作为没有容器的独立java应用程序运行时,会引发以下错误- org.hibernate.service.jndi.JndiException:解析jndi名称时出错 [javax.transaction.TransactionManager] javax.naming.NoInitialContextException:需要在中指定类名 环境或系统属性 以下是我在设置中使用的事务管理器、数据源和hibernate配置:Java 使用远程JNDI数据源的Spring+Hibernate事务管理,java,hibernate,weblogic,jta,spring-transactions,Java,Hibernate,Weblogic,Jta,Spring Transactions,我有一个Spring应用程序,它使用hibernate、Spring事务管理和位于Weblogic服务器上的JNDI数据源 应用程序在weblogic上部署时工作正常,但在本地作为没有容器的独立java应用程序运行时,会引发以下错误- org.hibernate.service.jndi.JndiException:解析jndi名称时出错 [javax.transaction.TransactionManager] javax.naming.NoInitialContextException:需
<bean id="transactionManager" class="org.springframework.transaction.jta.WebLogicJtaTransactionManager"></bean>
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="jdbc/mydatasource"/>
<property name="jndiEnvironment" ref="weblogicJndiEnv"></property>
</bean>
<util:properties id="weblogicJndiEnv">
<prop key="java.naming.factory.initial">weblogic.jndi.WLInitialContextFactory</prop>
<prop key="java.naming.security.principal">weblogic</prop>
<prop key="java.naming.security.credentials">weblogic</prop>
<prop key="java.naming.provider.url">t3://#{ systemProperties['listenurl'] }</prop>
</util:properties>
<bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource"></property>
<property name="jtaTransactionManager" ref="transactionManager"></property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</prop>
<prop key="hibernate.current_session_context_class">jta</prop>
<prop key="hibernate.transaction.factory_class">org.hibernate.transaction.CMTTransactionFactory</prop>
<prop key="hibernate.transaction.jta.platform">org.hibernate.service.jta.platform.internal.WeblogicJtaPlatform</prop>
<prop key="hibernate.connection.release_mode">auto</prop>
<prop key="hibernate.transaction.auto_close_session">true</prop>
</props>
</property>
<property name="packagesToScan" value="abc.xyz" />
</bean>
上述配置中是否缺少任何内容?您是否在本地计算机上配置了相同的数据源?否,该数据源位于远程weblogic服务器上注意:我正在本地作为容器外的独立java应用程序运行它