`
zscomehuyue
  • 浏览: 412109 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

解决osgi spring 事务配置问题 收藏 spring-osgi

阅读更多
spring-osgi 测试boundle
http://raydian.iteye.com/blog/223319

解决osgi spring 事务配置问题 收藏

前久看了一篇文章,
http://www.iteye.com/topic/315257
里面说

由于目前还无法解决 osgi 环境下的 aspectj 问题 , 所以 , 处理事务无法使用 tx:advice 和 aop:config, 改用 DataSourceTransactionManager.

后又看了一篇文章页是他的,说Equinox Aspects可以解决这个问题。

于是去看了看,现在问题已经解决了。
以下我把我的例子的整个流程写一下。

一.jar包的准备,我用的是eclipse环境
1).首先去 http://download.eclipse.org/equinox/ 下载
equinox-SDK     这里我用的3.4的  配置事务的 3.5好像有问题。

2).去 http://www.springsource.org/osgi 下载
spring-osgi-1.2.0-rc1.zip
spring-osgi-1.2.0-rc1-with-dependencies.zip

3).去 http://www.springsource.org/download 下载
spring-framework-2.5.6.zip
spring-framework-2.5.6-with-dependencies.zip

4).去 http://www.eclipse.org/aspectj/downloads.php 下载
aspectj-1.6.1.jar

5).去 http://www.eclipse.org/equinox/incubator/aspects/equinox-aspects-quick-start.php 下载
org.eclipse.equinox.weaving-incubation-1.0.0.200807082136-archive.zip

下载好了就先解压吧。

二.配置eclipse的环境
首先,我们建一个环境项目,里面放jar包就可以了。
File->NewProject  选general->project 起个名字,我的是myTargetPlatform2。在这个项目里面建立一个目录,目录名是 target

在target里放入用到的包:
spring-osgi要用到的包
spring-osgi-annotation-1.2.0-rc1.jar
spring-osgi-core-1.2.0-rc1.jar
spring-osgi-extender-1.2.0-rc1.jar
spring-osgi-io-1.2.0-rc1.jar

spring-osgi依赖包里的
com.springsource.net.sf.cglib-2.1.3.jar
com.springsource.org.aopalliance-1.0.0.jar

spring的包
spring.jar

这里是运行要用到的包
org.eclipse.osgi_3.4.0.v20080605-1900.jar

这个是Equinox Aspects的
org.eclipse.equinox.weaving.aspectj_1.0.0.200807082136.jar
org.eclipse.equinox.weaving.caching_1.0.0.200807082136.jar
org.eclipse.equinox.weaving.caching.j9_1.0.0.200807082136.jar
org.eclipse.equinox.weaving.hook_1.0.0.200807082136.jar

com.springsource.org.apache.commons.logging-1.1.1.jar

放好后,window->preferences   plug-in Development->Target Platform 点一下。
这时旁边有add点一下,直接点next,点add,这时可以选路径,选择前边项目的里的target目录,同时设置一下Name。选定你建立好的平台(黑体是选定)。可以了。

三.建立项目。这里不说了,我把项目上传,自己导入一下吧。
org.aspectj.runtime
org.aspectj.weaver
分别是aspectj-1.6.1.jar包里的2个jar。

我没用ibatis,读取配置好像有问题,
我的spring是bundle的方式加载的,ibatis包是在dao实现的项目里classpath加载的,是读取不到ibatis的配置,看网上说是classloader的问题,希望高手能给解决一下。

这里事务用的标签式的事务。在实现类里配置的。

启动,下边有图是用到的包。


com.myTest.service.daoJdbcImpl 项目下有数据库配置要改一下。

数据库测试表结构
DROP TABLE IF EXISTS `mytest_user`;
CREATE TABLE `mytest_user` (
  `id` bigint(20) NOT NULL auto_increment,
  `name` varchar(100) NOT NULL,
  `sex` tinyint(1) default 0,
  `address` varchar(255) default '',
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

在实现类的事务标签那里修改一下,改为
@Transactional(readOnly = false, propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
忘记加事务回滚的,不过我测试不加也回滚了。下边有个文章介绍事务的
http://www.ibm.com/developerworks/cn/java/j-ts1.html?ca=drs-tp4608



跨bundle的事务的测试代码也写好了,有兴趣的可以下载跑一下。spring-osgiTest2.rar


做了一个简单quartz的bundle,使整体不依赖quartz包,bundle的启动,停止都会启动停止任务。spring-osgiTest3.rar

到 http://malixxx.iteye.com/blog/560674 下载代码
分享到:
评论

相关推荐

    解决osgi spring 事务配置问题

    这篇博客文章“解决osgi spring 事务配置问题”可能深入探讨了如何在OSGi环境下正确地设置和管理Spring的事务。 在OSGi中,每个服务或组件都封装在一个独立的bundle中,这些bundle之间通过服务接口进行通信。Spring...

    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-osgi-1.2.0-rc1-with-dependencies.zip

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

    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

    spring-osgi-1.2.1-with-dependencies

    总结来说,“spring-osgi-1.2.1-with-dependencies”是一个集成了Spring与OSGi的完整包,它提供了在OSGi环境中运行Spring应用所需的所有组件和服务。通过理解和掌握这个包,开发者可以更好地利用OSGi的模块化优势,...

    spring-osgi-1.2.1.rar

    - Spring DM通过读取Spring配置来管理OSGi服务,使得开发者可以使用熟悉的Spring XML配置来声明服务和依赖。 4. **服务注册与发现** - 在OSGi中,服务是通过注册到服务注册表进行发布的,其他bundle可以通过查询...

    spring-dm-osgi整合jar包

    2. Spring DM库:如`spring-osgi-core`, `spring-osgi-io`, `spring-osgi-extender`等,提供了与OSGi环境交互的接口和工具。 3. OSGi框架库:如`org.eclipse.osgi`,这是实现OSGi规范的实现,例如Equinox或Felix。 4...

    spring-osgi-1.2.0.zip

    标题"spring-osgi-1.2.0.zip"表明这是一个包含Spring OSGi 1.2.0版本的压缩包。这个版本可能包含了Spring框架与OSGi集成的相关库、文档、示例代码等资源,便于开发者在OSGi环境中使用Spring。 描述中提到"spring1.2...

    Spring Dynamic Modules开发所需全部jar包

    spring-osgi-core-1.2.1.jar spring-osgi-core-1.2.1-sources.jar spring-osgi-extender-1.2.1.jar spring-osgi-extender-1.2.1-sources.jar spring-osgi-io-1.2.1.jar spring-osgi-io-1.2.1-sources.jar spring-...

    osgi-SpringDM

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

    spring-osgi.jar及其依赖包

    4. **管理和监控**:在OSGi容器中,可以通过控制台或Web界面查看和管理bundle的状态,包括启动、停止、更新和解决依赖问题。 Spring OSGi的依赖包通常包括Spring核心库、Spring DM(Dependency Manager,已被Spring...

    spring-osgi-1.2.1-javadoc.chm

    自制CHM版的API文档,带索引。 注:如果各位下载后打开或无法显示页面,请在CHM文件右键—属性—解除锁定即可。

    RAP 整合 Spring (基于 Spring-osgi )

    标题 "RAP 整合 Spring(基于 Spring-osgi)" 暗示了本文将探讨如何在 RAP(Remote Application Platform)框架中集成 Spring 框架,并利用 Spring-osgi 进行服务管理和依赖注入。RAP 是一个用于构建富客户端应用...

    OSGISpring OSGISpring

    10. **实战应用**:学习如何在实际项目中应用OSGISpring,如构建分布式系统、微服务架构等,了解如何解决实际遇到的问题。 为了深入了解OSGI与Spring的整合,阅读"OSGI入门和整合Spring.pdf"文档将是十分有价值的。...

    OSGi与Spring:Spring DM开发

    如果需要自定义日志配置或者解决特定的日志问题,开发者还需要关注Apache Commons Logging的配置和使用方法。 #### 四、总结 通过上述步骤,开发者可以成功地配置好基于Eclipse的Spring DM开发环境。这为后续开发...

    spring osgi相关资源

    2. spring-osgi-extender:实现了Spring DM的功能,使Spring应用能在OSGi环境中运行。 3. spring-osgi-io:提供I/O服务,如网络、文件系统访问等,适应OSGi的隔离环境。 4. 依赖库:包括了对Apache Felix或Equinox等...

    spring osgi 入门

    通过理解和掌握Spring-DM的基本配置以及如何将Spring Bean导出为OSGi服务,开发者可以更高效地利用OSGi的优势来构建健壮的应用程序。此外,需要注意的是,在享受Spring-DM带来的好处的同时,也要留意可能存在的挑战...

Global site tag (gtag.js) - Google Analytics