0 0

spring结合jotm应用的配置?5

我现在的 项目中用到了分布式事务 ,可是我按照网上的配置了 ,引入了jotm开源包,结合spring配置
如下:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">

<!-- 数据源-->
<bean id="jotm"
class="org.springframework.transaction.jta.JotmFactoryBean"
destroy-method="shutdown" />
<!-- 分布数据源-->
<bean id="StorageDataSource"
class="org.enhydra.jdbc.pool.StandardXAPoolDataSource">
<property name="dataSource">
<bean
class="org.enhydra.jdbc.standard.StandardXADataSource">
<property name="transactionManager">
<ref local="jotm" />
</property>
<property name="driverName">
<value>oracle.jdbc.driver.OracleDriver</value>
</property>
<property name="url">
<value>
jdbc:oracle:thin:@192.168.100.81:1521:nstldb
</value>
</property>

</bean>
</property>
<property name="user">
<value>storage</value>
</property>
<property name="password">
<value>storage</value>
</property>
</bean>
<bean id="nstlDataSource"
class="org.enhydra.jdbc.pool.StandardXAPoolDataSource">
<property name="dataSource">
<bean
class="org.enhydra.jdbc.standard.StandardXADataSource">
<property name="transactionManager">
<ref local="jotm" />
</property>
<property name="driverName">
<value>oracle.jdbc.driver.OracleDriver</value>
</property>
<property name="url">
<value>
jdbc:oracle:thin:@192.168.100.81:1521:nstldb
</value>
</property>
</bean>
</property>
<property name="user">
<value>nstl</value>
</property>
<property name="password">
<value>nstl</value>
</property>
</bean>

<!-- SessionFactory-->
<bean id="StorageSessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="StorageDataSource" />
</property>
<property name="lobHandler" ref="LobHandler" />
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.Oracle9Dialect
</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.jdbc.batch_size">10</prop>
</props>
</property>
<property name="jtaTransactionManager">
<ref local="jotm" />
</property>
<property name="mappingResources">
<list>
<value>com/nstl/metadata/po/Tabledic.hbm.xml</value>
<value>com/nstl/metadata/po/Savexmlconf.hbm.xml</value>
<value>com/nstl/metadata/po/Xmloraclematch.hbm.xml</value>
<value>com/nstl/metadata/po/Validatetable.hbm.xml</value>
<value>com/nstl/metadata/po/Dismatchloadlog.hbm.xml</value>
<value>com/nstl/metadata/po/Errordatalog.hbm.xml</value>
<value>com/nstl/metadata/po/Errordata.hbm.xml</value>
<value>com/nstl/metadata/po/Metadatarecord.hbm.xml</value>
<value>com/nstl/metadata/po/Oaiharvestlog.hbm.xml</value>
<value>com/nstl/metadata/po/Oaipublog.hbm.xml</value>
<value> com/nstl/metadata/po/Metadataoperatelog.hbm.xml</value>
<value>com/nstl/metadata/po/Storageloadlog.hbm.xml</value>
<value>com/nstl/metadata/po/Downloadrecord.hbm.xml</value>
<value> com/nstl/metadata/po/Feedbackreport.hbm.xml</value>
<value>com/nstl/metadata/po/Metadatapublog.hbm.xml</value>
<value>com/nstl/metadata/po/Xmlinfo.hbm.xml</value>
</list>
</property>
</bean>
<bean id="SessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="nstlDataSource" />
</property>

<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.Oracle9Dialect
</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.jdbc.batch_size">10</prop>
</props>
</property>
<property name="jtaTransactionManager">
<ref local="jotm" />
</property>
<property name="mappingResources">
<list>
<value>com/nstl/metadata/po/Libinfo.hbm.xml</value>
<value>com/nstl/metadata/po/Doctypeinfo.hbm.xml</value>
<value>com/nstl/metadata/po/Docfieldinfo.hbm.xml</value>
<value>com/nstl/metadata/po/Docdatabaseinfo.hbm.xml</value>
<value>com/nstl/metadata/po/Sysinfo.hbm.xml</value>
<value>com/nstl/metadata/po/Subdoctypeinfo.hbm.xml</value>
<value>com/nstl/metadata/po/Downloadrecord.hbm.xml</value>
</list>
</property>
</bean>


<bean id="TransactionManager"
class="org.springframework.transaction.jta.JtaTransactionManager">
<property name="userTransaction">
<ref local="jotm" />
</property>
</bean>

<bean id="TransactionAttributeSource"
class="org.springframework.transaction.interceptor.MatchAlwaysTransactionAttributeSource" />

<bean id="AbstractTransactionProxyFactoryBean"
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"
abstract="true" lazy-init="true">
<property name="transactionManager">
<ref bean="TransactionManager"/>
</property>
<property name="transactionAttributeSource">
<ref bean="TransactionAttributeSource" />
</property>
<property name="transactionAttributes">
<props>
<prop key="save*">PROPAGATION_NESTED</prop>
<prop key="del*">PROPAGATION_REQUIRED</prop>
<prop key="update*">PROPAGATION_REQUIRED</prop>
<prop key="insert*">PROPAGATION_REQUIRED</prop>
<prop key="add*">PROPAGATION_REQUIRED</prop>
<prop key="alter*">PROPAGATION_REQUIRED</prop>
<prop key="remove*">PROPAGATION_REQUIRED</prop>
<prop key="change*">PROPAGATION_REQUIRED</prop>
<prop key="get*">PROPAGATION_REQUIRED,readOnly</prop>
<prop key="find*">PROPAGATION_REQUIRED,readOnly</prop>
<prop key="load*">PROPAGATION_REQUIRED</prop>
<prop key="*">PROPAGATION_REQUIRED</prop>
</props>
</property>

</bean>
<bean id="transactionInterceptor" class="org.springframework.transaction.interceptor.TransactionInterceptor">  
        <property name="transactionManager">  
           <ref bean="TransactionManager"/>  
        </property>    
      </bean>
      <!--
<bean id="ProxyFactoryBean"
class="org.springframework.aop.framework.ProxyFactoryBean"
abstract="true" lazy-init="true">
<property name="proxyInterfaces">
   <value>com.nstl.metadata.exportTfo.bo.ExportTfoBO</value>
</property>

<property name="interceptorNames">
<list>
  <idref bean="transactionInterceptor"/>
</list>
</property>

</bean>
     -->
<bean id="LobHandler"
class="org.springframework.jdbc.support.lob.DefaultLobHandler"
lazy-init="true" />
<bean id="JdbcTemplate"
class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource">
<ref local="StorageDataSource" />
</property>
</bean>

<bean id="MetadataDAO"
class="com.nstl.metadata.xmlParsers.dao.MetadataDAO"
parent="JdbcTemplate">
</bean>

<bean id="TabledicDAO" class="com.nstl.metadata.dao.TabledicDAO">
<property name="sessionFactory">
<ref bean="StorageSessionFactory" />
</property>
</bean>
<bean id="SavexmlconfDAO"
class="com.nstl.metadata.dao.SavexmlconfDAO">
<property name="sessionFactory">
<ref bean="StorageSessionFactory" />
</property>
</bean>
<bean id="XmloraclematchDAO"
class="com.nstl.metadata.dao.XmloraclematchDAO">
<property name="sessionFactory">
<ref bean="StorageSessionFactory" />
</property>
</bean>
<bean id="ValidatetableDAO"
class="com.nstl.metadata.dao.ValidatetableDAO">
<property name="sessionFactory">
<ref bean="StorageSessionFactory" />
</property>
</bean>
<bean id="DismatchloadlogDAO"
class="com.nstl.metadata.dao.DismatchloadlogDAO">
<property name="sessionFactory">
<ref bean="StorageSessionFactory" />
</property>
</bean>
<bean id="ErrordatalogDAO"
class="com.nstl.metadata.dao.ErrordatalogDAO">
<property name="sessionFactory">
<ref bean="StorageSessionFactory" />
</property>
</bean>
<bean id="ErrordataDAO"
class="com.nstl.metadata.dao.ErrordataDAO">
<property name="sessionFactory">
<ref bean="StorageSessionFactory" />
</property>
</bean>
<bean id="MetadatarecordDAO"
class="com.nstl.metadata.dao.MetadatarecordDAO">
<property name="sessionFactory">
<ref bean="StorageSessionFactory" />
</property>
</bean>
<bean id="OaiharvestlogDAO"
class="com.nstl.metadata.dao.OaiharvestlogDAO">
<property name="sessionFactory">
<ref bean="StorageSessionFactory" />
</property>
</bean>
<bean id="OaipublogDAO"
class="com.nstl.metadata.dao.OaipublogDAO">
<property name="sessionFactory">
<ref bean="StorageSessionFactory" />
</property>
</bean>
<bean id="MetadataoperatelogDAO"
class="com.nstl.metadata.dao.MetadataoperatelogDAO">
<property name="sessionFactory">
<ref bean="StorageSessionFactory" />
</property>
</bean>
<bean id="StorageloadlogDAO"
class="com.nstl.metadata.dao.StorageloadlogDAO">
<property name="sessionFactory">
<ref bean="StorageSessionFactory" />
</property>
</bean>
<bean id="DismatchDAO" class="com.nstl.metadata.dao.DismatchDAO">
<property name="sessionFactory">
<ref bean="StorageSessionFactory" />
</property>
</bean>
<bean id="DownloadrecordDAO"
class="com.nstl.metadata.dao.DownloadrecordDAO">
<property name="sessionFactory">
<ref bean="StorageSessionFactory" />
</property>
</bean>
<bean id="FeedbackreportDAO"
class="com.nstl.metadata.dao.FeedbackreportDAO">
<property name="sessionFactory">
<ref bean="StorageSessionFactory" />
</property>
</bean>
<bean id="MetadatapublogDAO"
class="com.nstl.metadata.dao.MetadatapublogDAO">
<property name="sessionFactory">
<ref bean="StorageSessionFactory" />
</property>
</bean>
<bean id="XmlinfoDAO" class="com.nstl.metadata.dao.XmlinfoDAO">
<property name="sessionFactory">
<ref bean="StorageSessionFactory" />
</property>
</bean>

<bean id="DoctypeinfoDAO"
class="com.nstl.metadata.dao.DoctypeinfoDAO">
<property name="sessionFactory">
<ref bean="SessionFactory" />
</property>
</bean>
<bean id="SubdoctypeinfoDAO"
class="com.nstl.metadata.dao.SubdoctypeinfoDAO">
<property name="sessionFactory">
<ref bean="SessionFactory" />
</property>
</bean>
<bean id="SysinfoDAO" class="com.nstl.metadata.dao.SysinfoDAO">
<property name="sessionFactory">
<ref bean="SessionFactory" />
</property>
</bean>
<bean id="DocdatabaseinfoDAO"
class="com.nstl.metadata.dao.DocdatabaseinfoDAO">
<property name="sessionFactory">
<ref bean="SessionFactory" />
</property>
</bean>
<bean id="DocfieldinfoDAO"
class="com.nstl.metadata.dao.DocfieldinfoDAO">
<property name="sessionFactory">
<ref bean="SessionFactory" />
</property>
</bean>
<bean id="LibinfoDAO" class="com.nstl.metadata.dao.LibinfoDAO">
<property name="sessionFactory">
<ref bean="SessionFactory" />
</property>
</bean>
<bean id="TabledicBO"
parent="AbstractTransactionProxyFactoryBean">
<property name="target">
<bean class="com.nstl.metadata.bo.TabledicBO">
<property name="dao">
<ref bean="TabledicDAO" />
</property>
</bean>
</property>
</bean>
<bean id="XmloraclematchBO"
parent="AbstractTransactionProxyFactoryBean">
<property name="target">
<bean class="com.nstl.metadata.bo.XmloraclematchBO">
<property name="dao">
<ref bean="XmloraclematchDAO" />
</property>
</bean>
</property>
</bean>
<bean id="XmlInfoBO" parent="AbstractTransactionProxyFactoryBean">
<property name="target">
<bean class="com.nstl.metadata.bo.XmlInfoBO">
<property name="xmlInfoDAO">
<ref bean="XmlinfoDAO" />
</property>
</bean>
</property>
</bean>
<!--得到所有的参数 -->
<bean id="AllParametersBO"
parent="AbstractTransactionProxyFactoryBean">
<property name="target">
<bean class="com.nstl.metadata.bo.AllParametersBO"
init-method="init">
<property name="xmlinfoDAO">
<ref bean="XmlinfoDAO" />
</property>
<property name="xmloraclematchDAO">
<ref bean="XmloraclematchDAO" />
</property>
<property name="tabledicDAO">
<ref bean="TabledicDAO" />
</property>

<property name="doctypeinfoDAO">
<ref bean="DoctypeinfoDAO" />
</property>

<property name="validatetableDAO">
<ref bean="ValidatetableDAO" />
</property>
<property name="sysinfoDAO">
<ref bean="SysinfoDAO" />
</property>
<property name="docdatabaseinfoDAO">
<ref bean="DocdatabaseinfoDAO" />
</property>
<property name="docfieldinfoDAO">
<ref bean="DocfieldinfoDAO" />
</property>
</bean>
</property>
</bean>

<bean id="XMLParser"
class="com.nstl.metadata.xmlParsers.XMLParser">
<property name="validateBO">
<ref bean="ValidateBO" />
</property>
</bean>


<bean id="XMLReader"
class="com.nstl.metadata.xmlParsers.XMLReader">
<property name="xmlParser">
<ref bean="XMLParser" />
</property>
</bean>

<bean id="MetadataBO"
class="com.nstl.metadata.xmlParsers.bo.MetadataBO">
<property name="metadataDAO">
<ref bean="MetadataDAO" />
</property>
<property name="errordatalogDAO">
<ref bean="ErrordatalogDAO" />
</property>
<property name="errordataDAO">
<ref bean="ErrordataDAO" />
</property>
<property name="metadatarecordDAO">
<ref bean="MetadatarecordDAO" />
</property>
<property name="dismatchDAO">
<ref bean="DismatchDAO" />
</property>
<property name="dismatchloadlogDAO">
<ref bean="DismatchloadlogDAO" />
</property>
</bean>


<bean id="Initialize"
class="com.nstl.metadata.xmlParsers.bo.Initialize"
init-method="init">
<property name="allParametersBO">
<ref bean="AllParametersBO" />
</property>
</bean>
<bean id="StorageLoadLogBO"
class="com.nstl.metadata.xmlParsers.bo.StorageLoadLogBO">
<property name="storageloadlogDAO">
<ref bean="StorageloadlogDAO" />
</property>
</bean>
<bean id="ParseAndLoadXml"
parent="AbstractTransactionProxyFactoryBean">
<property name="target">
<bean
class="com.nstl.metadata.xmlParsers.ParseAndLoadXml">
<property name="metadataBO">
<ref bean="MetadataBO" />
</property>
<property name="storageloadlogDAO">
<ref bean="StorageloadlogDAO" />
</property>
<property name="xmlReader">
<ref bean="XMLReader" />
</property>
</bean>
</property>
</bean>
<bean id="ValidateBO" parent="AbstractTransactionProxyFactoryBean">
<property name="target">
<bean class="com.nstl.metadata.xmlParsers.bo.ValidateBO">
<property name="metadataDAO">
<ref bean="MetadataDAO" />
</property>
</bean>
</property>
</bean>
<bean id="ExportTfoMetadataBO" parent="AbstractTransactionProxyFactoryBean">
<property name="target">
<bean
class="com.nstl.metadata.exportTfo.bo.ExportTfoMetadataBO">
<property name="metadataDAO">
<ref bean="MetadataDAO" />
</property>
</bean>
</property>
</bean>
<bean id="DownloadrecordBO" parent="AbstractTransactionProxyFactoryBean">
<property name="target">
<bean class="com.nstl.metadata.bo.DownloadrecordBO">
<property name="downloadrecordDAO">
<ref bean="DownloadrecordDAO" />
</property>
</bean>
</property>
</bean>
<bean id="MetadatapublogBO" parent="AbstractTransactionProxyFactoryBean">
<property name="target">
<bean class="com.nstl.metadata.bo.MetadatapublogBO">
<property name="metadatapublogDAO">
<ref bean="MetadatapublogDAO" />
</property>
</bean>
</property>
</bean>

<bean id="ExportTfoBO"  class="com.nstl.metadata.exportTfo.bo.ExportTfoBO">
   <property name="exportTfoMetadataBO">
<ref bean="ExportTfoMetadataBO" />
   </property>
   <property name="xmlReader">
<ref bean="XMLReader" />
   </property>
   <property name="metadatapublogBO">
<ref bean="MetadatapublogBO" />
   </property>
   <property name="downloadrecordBO">
<ref bean="DownloadrecordBO" />
   </property>
   <property name="subdoctypeinfoDAO">
<ref bean="SubdoctypeinfoDAO" />
   </property>
   <property name="libinfoDAO">
<ref bean="LibinfoDAO" />
   </property>
           </bean>
</beans>
可是总是报错说链接不到数据库
2008年6月18日 10:48
目前还没有答案

相关推荐

    spring+jotm 多数据源事务管理(二)hibernate

    总结来说,Spring结合JOTM和Hibernate进行多数据源事务管理,主要涉及以下几个步骤:配置JOTM依赖,定义XADataSource,创建并配置AtomikosTransactionManager,设定事务策略,以及正确地集成Hibernate ...

    Spring+JOTM 分布式事务管理

    本文将深入探讨Spring与JOTM结合使用的知识点,帮助你理解如何在实际项目中实施分布式事务。 **1. Spring事务管理:** Spring 提供了声明式和编程式的事务管理。声明式事务管理是通过在配置文件或注解中声明事务...

    spring+jotm 多数据源事务管理(一)jdbc

    在Spring框架中,事务管理是核心功能之一...总之,Spring和JOTM的结合提供了强大的事务管理能力,能够应对复杂的企业级多数据源应用场景。正确配置和使用它们可以确保应用程序的数据一致性,提升系统的稳定性和可靠性。

    spring 3.0.5 + jotm 实现的的spring mvc 的例子

    标题中的“spring 3.0.5 + jotm 实现的的spring mvc 的例子”表明这是一个关于使用Spring 3.0.5版本与JOTM(Java Open Transaction Manager)结合构建Spring MVC应用的示例项目。这个项目可能旨在演示如何在Spring ...

    spring+jotm 多数据源事务管理(三)JNDI+Tomcat

    在本篇文章中,我们将深入探讨如何利用Spring框架结合JOTM(Java Open Transaction Manager)来实现多数据源下的分布式事务管理。我们将通过具体实例展示如何在Tomcat服务器环境下配置并使用这些技术。 #### 一、...

    spring+jotm+ibatis+mysql实现JTA分布式事务

    总的来说,这个项目展示了如何利用Spring的事务管理能力,结合JOTM作为事务协调器,以及iBATIS作为数据访问层,实现基于MySQL的JTA分布式事务处理。这不仅有助于理解分布式事务的原理,也为实际开发提供了可参考的...

    JOTM简单测试DEMO(不含jar包)

    本DEMO主要展示了如何在Spring框架中结合JOTM来处理分布式事务,特别是涉及多个数据源的情况。 首先,我们需要理解JOTM的基本概念。JOTM作为一个事务协调者,负责管理跨多个资源的事务,确保它们要么全部成功,要么...

    spring + JTA + JOTM实现分布式事务

    接下来,我们将结合Spring框架来讨论如何配置和使用JTA和JOTM。Spring是一个强大的企业级应用开发框架,它提供了一整套事务管理解决方案,包括编程式和声明式事务管理。对于分布式事务,Spring支持JTA事务管理,并且...

    Spring框架技术

    通过这种方式,即使不在Java EE应用服务器环境中,Spring结合JOTM也能提供强大的JTA事务管理能力,确保跨数据库操作的一致性和可靠性。这极大地扩展了Spring的应用范围,使其成为轻量级和企业级应用的理想选择。

    java之hibernate和spring技术难点及其要点总结

    12. **Spring与Struts、Hibernate整合**:如何将这些框架有效地结合起来,构建高性能的企业级应用。 13. **Spring要点总结**:总结Spring框架的核心特性和使用技巧。 #### 扩展知识点 - **报表工具之...

    跨多个数据库操作,同时连接两个一上的数据库,用事物关联起来

    Spring+iBatis+Atomikos实现JTA事务的例子,展示了如何结合使用Spring、iBatis和开源的Atomikos事务管理器来支持全局事务。Spring与Hibernate整合时,也可以配置多数据库事务,确保在操作多个数据库时的事务一致性。...

    WEB开发相关的Transaction管理战略

    无论是使用容器环境如EJB 2.1或3.0,还是Spring框架环境,或者是基于Web容器如Tomcat或Jetty与Java Open Transaction Manager (JOTM)的组合,都需要一个事务策略来保证数据的一致性和完整性。 Java Transaction API...

    java开源包1

    GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....

    java开源包11

    GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....

    java开源包2

    GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....

    java开源包3

    GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....

    java开源包6

    GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....

    java开源包5

    GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....

    java开源包10

    GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....

    java开源包4

    GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....

Global site tag (gtag.js) - Google Analytics