浏览 8860 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-08-13
java 代码
xml 代码
现在有了实体类,就需要有对实体类进行CURD操作的Bundle(wanged_security_service),这个Bundle中采用了常见的Service-DAO模式,以对Role的操作为例,包括RoleService: java 代码
java 代码
java 代码
java 代码
配置文件还是Bean初始化使用bean.xml: xml 代码
这里引用了上文中在"wanged_core_persistent" Bundle中声明的服务sessionFactory和txManager,这个txManager是一个默认的事务管理方案,如果不合适可以在这个xml文件中自定义,这就为新扩展的数据库操作提供了方便。另外这里有一个测试类RoleServiceTest,是用来测试这个Bundle是否能正常工作的,可以自己编写其中的代码。 服务的声明和引用定义在osgi-service.xml文件中: xml 代码
到目前为止,OSGi、Spring、Hibernate已经成功整合在一起。经运行测试,一切正常。但还没有对SessionFactory的重新初始化进行处理,不过这已经不是重点了。 后续博客会将对Jetty和Wicket的整合陆续写出来,最终形成OSGi、Spring、Hibernate、Jetty和Wicket搭建起来的面向服务的基于组件的体系。 这个周末所有的时间都放在Wicket和Jetty上面终于将其调试通过,写出来希望能给广大道友一点帮助,不至于像我刚开始那样盲目与不知所措。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2007-08-13
事情往往就是这么变复杂的...
|
|
返回顶楼 | |
发表时间:2007-08-14
复杂的背后带来的是良好的扩展性和动态拔插的方便性,那么这点复杂是可以接受的。
何况对于大的项目来说,这恰恰可以降低系统复杂度和耦合度。 |
|
返回顶楼 | |
发表时间:2007-08-14
感觉Eclipse-RegisterBuddy很可能被引入下一版的osgi标准。据说会变成Bundle-RegisterBuddy。到时改一下名称就行了。
当然你改写SessionFactory也不错。不过能有一种不需要对现有第三方类库进行修改的实现方式应该更好,而且省力。 在osgi专家组中也讨论过关于classloader相关的问题,有很多人呼吁在接下来的标准中应该提出官方解决方案,来解决类似Class.forName()调用的问题。但是到目前为止,除了Buddy方式还没有其它好的通用解决方式。所以,感觉Eclipse-RegisterBuddy很有可能会被采纳,进入下一版标准。 |
|
返回顶楼 | |
发表时间:2007-08-15
jsr277,299,316,osgi ...
|
|
返回顶楼 | |
发表时间:2007-10-20
OSGi的配置中有一个DynamicImport-Pagecke标签,可以动态引入自己需要的类,对Class.forName()尤其有效,可以设置成DynamicImport-Pagecke: *表示动态导入所有需要的。当然目前这种实现是我在最初尝试的时候采用的方法,很不完善。我现在使用的方法是采用fragment,用一个Bundle来注册所有已知的实体类,扩展的实体类通过fragment方式引入
|
|
返回顶楼 | |
发表时间:2007-10-20
非常感谢你的答复!
我后来在blueDavy写的osgi进阶中也看到了。 之前我也知道有dynamicImport,但没想到还可以写*,嘿嘿 看来不看osgi spec就是不行。 我倒是觉得import*挺自然的,如果用fragment会有些限制,比如bundle不能有自己的Activator,还和fragment host用一个classloader,这个bundle就只能提供实体了,要提供其它的服务就不太方便了。我感觉这样bundle的粒度是不是太小了。 |
|
返回顶楼 | |
发表时间:2007-10-23
我觉得fragment主要用来解决本地化问题和一些不涉及对外提供服务的扩展问题。目前OSGi还是不够成熟,支持的第三方软件也不是太多,文档也不齐全,所以学习曲线有点陡。
|
|
返回顶楼 | |
发表时间:2007-10-31
引用 目前OSGi还是不够成熟,支持的第三方软件也不是太多,文档也不齐全,所以学习曲线有点陡。 是啊,blueDavy的文档起到很好的作用。但是,一开始学习好像又太高深了。能否提供一些基础性的东西,先让读者入门和搭好开发调试环境,再进入具体的项目开发。 |
|
返回顶楼 | |
发表时间:2007-11-03
基础的学习请先参考《OSGi实战》Opendoc,是入门级的,可以从blog.bluedavy.cn上下载。
|
|
返回顶楼 | |