`
vakin.jiang
  • 浏览: 147173 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

osgi dm-server 多数据源事务解决方案

阅读更多
公司同事写的,本来是内部WIKI分享的
,mark一下,权作备份,也可以帮助一下需要的人

<!--数据源1-->

<bean id="tx-manager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
  <property name="sessionFactory" ref="sessionFactory" />
</bean>
<osgi:service ref="tx-manager" auto-export="interfaces"  >
  <osgi:service-properties>
      <entry key="db" value="ecp" />

  </osgi:service-properties>

</osgi:service>

 

<!--数据源2-->
<bean id="vehicle-tx-manager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
  <property name="sessionFactory" ref="vehicle-sessionFactory" />

</bean>
<osgi:service ref="vehicle-tx-manager" auto-export="interfaces" >
  <osgi:service-properties>
    <entry key="db" value="vehicle"/>
   </osgi:service-properties>

</osgi:service>

 
<!--使用Bundle的bean.xml的配置-->

<bean id="vehicle_transactionTemplate" class="org.springframework.transaction.support.TransactionTemplate">
  <property name="timeout" value="30"/>
  <property name="transactionManager" ref="vehicle-tm"/>
</bean>
<bean id="ecp_transactionTemplate" class="org.springframework.transaction.support.TransactionTemplate">
  <property name="timeout" value="30"/>
  <property name="transactionManager" ref="ecp-tm"/>
</bean>




 

//使用Bundle的代码书写(把所要操作的事务写在doSomething中)

@Resource( name = "ecp_transactionTemplate" )
private TransactionTemplate ecp_transactionTemplate;


@Resource( name = "vehicle_transactionTemplate" )
private TransactionTemplate vehicle_transactionTemplate;

 

public void function1(){

  ecp_transactionTemplate.execute(new TransactionCallback() {
    @Override
    public Object doInTransaction(TransactionStatus status) {

      //doSomething1
      return null;
    }
  });

}

 

public void function2(){

  vehicle_transactionTemplate.execute(new TransactionCallback() {
    @Override
    public Object doInTransaction(TransactionStatus status) {

      //doSomething2
      return null;
    }
  });

}

分享到:
评论

相关推荐

    osgi-resource-locator-1.0.1-API文档-中文版.zip

    赠送源代码:osgi-resource-locator-1.0.1-sources.jar; 赠送Maven依赖信息文件:osgi-resource-locator-1.0.1.pom; 包含翻译后的API文档:osgi-resource-locator-1.0.1-javadoc-API文档-中文(简体)版.zip; Maven...

    osgi-resource-locator-1.0.1-API文档-中英对照版.zip

    赠送源代码:osgi-resource-locator-1.0.1-sources.jar; 赠送Maven依赖信息文件:osgi-resource-locator-1.0.1.pom; 包含翻译后的API文档:osgi-resource-locator-1.0.1-javadoc-API文档-中文(简体)-英语-对照版....

    spring-osgi-1.2.0-rc1-with-dependencies.zip

    "spring-osgi-1.2.0-rc1"是Spring OSGi的一个早期版本,"RC1"代表Release Candidate 1,意味着这是正式发布前的最后一个测试版本。在这个版本中,开发者可以期待一些新特性和改进,但同时也可能存在一些未发现的...

    spring-osgi-1.2.1-with-dependencies.zip

    spring-osgi-1.2.1-with-dependencies.zip spring-osgi-1.2.1-with-dependencies.zip spring-osgi-1.2.1-with-dependencies.zip

    spring-dm-osgi整合jar包

    标题“spring-dm-osgi整合jar包”和描述“spring-dm整合osgi所需所有jar包”提及的核心知识点是Spring Dynamic Modules(简称Spring DM)与OSGi(Open Service Gateway Initiative)框架的集成。这两个技术在Java...

    spring-osgi-1.2.0-with-dependencies.zip

    spring-osgi-1.2.0-with-dependencies.zip spring-osgi-1.2.0-with-dependencies.zip spring-osgi-1.2.0-with-dependencies.zip

    killbill-osgi-bundles-lib-slf4j-osgi-0.8.4.zip

    【标题】"killbill-osgi-bundles-lib-slf4j-osgi-0.8.4.zip" 是一个基于OSGi的 Kill Bill 库,其中包含了SLF4J(Simple Logging Facade for Java)的OSGi兼容版本。SLF4J是一个为各种日志框架提供简单抽象的接口,...

    carrot-osgi-anno-scr-make-2.0.1.zip

    "carrot-osgi-anno-scr-make"作为一个开源项目,开发者不仅可以免费使用,还可以查看和修改源代码,甚至参与到项目的发展中。这对于学习和理解OSGi DS的原理,以及提升自己的开发技能,都是极其宝贵的资源。 在实际...

    osgi-SpringDM

    Spring-DM指的是 Spring ...Spring-DM 的主要目的是能够方便地将 Spring 框架和OSGi框架结合在一起,使得使用Spring的应用程序可以方便简单地部署在OSGi环境中,利用OSGi框架提供的服务,将应用变得 更加模块化。

    spring-osgi-1.2.1-with-dependencies

    本文将围绕“spring-osgi-1.2.1-with-dependencies”这一完整包展开,详细解析其包含的知识点和应用场景。 OSGi是Java平台上的一种模块化系统,它允许开发者将大型应用程序分解为独立的、可交互的组件,这些组件...

    OSGI进阶--OSGi开发指南

    OSGi开发文档和实践指南,描述了OSGI的开发流程

    OSGi.NET-master.zip_c#osgi_osgi_osgi.net github_模块化

    **标题解析:** "OSGi.NET-master.zip_c#osgi_osgi_osgi.net ...总之,"OSGi.NET-master.zip"是一个包含了C#实现的OSGi模块化框架的源代码包,可以在GitHub上获取,为.NET开发者提供了动态、模块化的软件开发新途径。

    OSGi -- Helloworld 学习记录一

    OSGi(Open Services Gateway Initiative)是一种开放标准的Java模块化系统,它允许开发人员将应用程序分解为一组可独立更新和管理的小型服务组件。在"OSGi -- Helloworld 学习记录一"这篇博文中,作者很可能是分享...

    spring-osgi-1.2.1.rar

    - OSGi的核心概念是模块化,每个模块称为"bundle",包含类、资源和元数据。 - Bundle之间通过导出和导入包来声明依赖关系,确保运行时的正确加载和版本控制。 - OSGi容器负责管理这些bundle的生命周期,包括启动...

    OSGi-lib.rar

    标题"OSGi-lib.rar"暗示这是一个与OSGi相关的库文件集合,可能是为了开发OSGi应用或者研究OSGi技术而准备的资源包。描述中的重复信息"OSGi-lib.rar"可能是由于复制错误,但我们可以推测这个压缩包包含了关于OSGi的...

    maven-osgi-plugin-launcher-framework-equinox-1.0.15.jar

    maven-osgi-plugin-launcher-framework-equinox-1.0.15.jar

    atlassian-plugins-osgi-2.6.0.jar.zip

    总的来说,Atlassian-plugins-osgi-2.6.0.jar是一个关键的组件,它推动了Atlassian插件系统的发展,提供了更高效、灵活的开发和部署方式。开发者可以利用OSGi的强大功能,创建出适应性强、易于维护的插件,进一步...

    OSGI实战-若干问题.txt

    通过上述分析,我们可以看到在OSGI环境中遇到的问题往往涉及多个方面的配置与调试。正确处理这些问题不仅需要理解OSGI的基本原理,还需要对具体的工具(如Eclipse)有深入的了解。希望上述解决方案能够帮助读者顺利...

    OSGi Modularity - Tutorial

    1. OSGi错误分析:提供了一种机制来分析和解决模块在加载或运行时出现的错误。 2. OSGi控制台:这是一个命令行界面,允许开发者与OSGi框架交互,例如安装、启动和停止模块。 3. 所需模块:列出模块运行所需的其他...

Global site tag (gtag.js) - Google Analytics