在osgi环境中(我用的是felix),不同的bundle都有自己独立的classloader,当在一个bundle中复制另外一个bundle加载的对象时,会报类型不匹配的错误。这一问题的解决,需要利用反射的方法,进行处理。
transloader是一个在不同的classloader间进行对象复制和对象转换的工具包,对于对象的复制,实现如下:
ObjectWrapper wrap = new ObjectWrapper(ObjectInstance,CloningStrategy.MAXIMAL);
Object newChromosome = (Object) wrap.cloneWith(ObjectInstance.getClass().getClassLoader());
但是,在osgi的标准设置下,会报一个找不到sun/reflect/ReflectionFactory的错误,这是因为,在osgi默认的jre导入package中,不包括sun.reflect包。需要在osgi的配置文件中,增加:
# To append packages to the default set of exported system packages,
# set this value.
org.osgi.framework.system.packages.extra=sun.reflect.*
# The following property makes specified packages from the class path
# available to all bundles. You should avoid using this property.
org.osgi.framework.bootdelegation=sun.*,com.sun.*,sun.reflect.*
把sun.reflect包导入到osgi的环境中。
分享到:
相关推荐
内容简介: ClassLoader体系结构 类装载器在JVM中并不是唯一的,JVM自带了三个装载器,用户也可以根据自己的需求自定义新的装载器,这些装载器的体系结构可以看作是树状结构,如图1所示:
介绍Java中的ClassLoader技术及其在OSGI模块隔离中的运用
压缩包里面有myself工程。里面只有一个类。可以自己创建两个版本的myself的jar包,然后测试osgi解决jar包冲突。
osgi介绍osgi介绍osgi介绍osgi介绍osgi介绍osgi介绍osgi介绍osgi介绍osgi介绍osgi介绍
OSGi 中文版 中文 OSGi中文OSGi 中文版 中文 OSGi中文OSGi 中文版 中文 OSGi中文OSGi 中文版 中文 OSGi中文OSGi 中文版 中文 OSGi中文OSGi 中文版 中文 OSGi中文OSGi 中文版 中文 OSGi中文OSGi 中文版 中文 OSGi中文
Spring OSGI 快速入门中文教程
想多前沿技术了解的朋友,一定要看哦.
Spring-OSGI 1.0 M3 中文手册
在felix2.0.1扩展Hibernate,使之工作于OSGI框架之中。
OSGI的入门资料,对于OSGI技术的比较全面的介绍,适合了解OSGI的技术人员,内有源码和源码可能出现问题的解决方法。
spring osgi 中文文档0.7
利用R-OSGi实现分布式OSGi应用...然后通过一个简单的功能实现由浅入深地讲述传统 OSGi 和 R-OSGi 上的两种不同实现,让您对实际操作加深印象。最后,探讨了 R-OSGi 的目前使用情况以及整个分布式 OSGi 应用的发展前景。
由osgi引出的classLoader的大总结(整理理解ClassLoader)
OSGI框架实战 一. 序..5 二. 体验OSGI..7 2.1. 需求实现..7 2.2. 技术角度..9 三. OSGI带来什么..11 四. OSGI案例..13 五. OSGI框架..15 5.1. Equinox..15 5.2. Oscar..15 5.3. Knopflerfish..15 六. 基于OSGI框架...
资源名称:OSGI原理与最佳实践内容简介:国内第一本OSGi图书OSGi国内推广者林昊多年经验的结晶涵盖OSGi从入门到深入的知识体系引领OSGi国内研究和普及本书基于作者多年使用OSGi的经验而编写,涵盖了OSGi从入门到深入...
JAVA OSGI 进阶源码 中文文档. 对OSGI入门,DS 处理练习很不错的。
本文档主要针对OSGi.NET模块化框架使用进行了描述 OSGi.NET框架是一个参照了OSGi规范的模块化管理框架。框架为应用程序(组件(bundle))提供了一个标准环境。整个框架可以划分为一些层次: 1.运行环境 2.模块...
给出了可用插件bridge和一个可用osgi例子,可以帮助学习osgi的同学学习部署osgi程序到tomcat中。
osgi项目的详细实战描述。属于学习osgi的人必读文档。通俗易懂
NULL 博文链接:https://malixxx.iteye.com/blog/560674