`

osgi中不同classloader之间对象的复制问题解决

    博客分类:
  • osgi
阅读更多

      在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的环境中。

分享到:
评论
1 楼 deng2897576 2012-11-28  
osgi的配置文件?
是哪儿jar包的配置文件么,我用felix实现OSGi没有专门的OSGi配置文件呀?

相关推荐

    java ClassLoader机制及其在OSGi中的应用

    内容简介: ClassLoader体系结构 类装载器在JVM中并不是唯一的,JVM自带了三个装载器,用户也可以根据自己的需求自定义新的装载器,这些装载器的体系结构可以看作是树状结构,如图1所示:

    ClassLoader in OSGI

    介绍Java中的ClassLoader技术及其在OSGI模块隔离中的运用

    osgi解决不同版本jar包冲突的demo

    压缩包里面有myself工程。里面只有一个类。可以自己创建两个版本的myself的jar包,然后测试osgi解决jar包冲突。

    osgi介绍osgi介绍

    osgi介绍osgi介绍osgi介绍osgi介绍osgi介绍osgi介绍osgi介绍osgi介绍osgi介绍osgi介绍

    OSGi规范(r4)中文版

    OSGi 中文版 中文 OSGi中文OSGi 中文版 中文 OSGi中文OSGi 中文版 中文 OSGi中文OSGi 中文版 中文 OSGi中文OSGi 中文版 中文 OSGi中文OSGi 中文版 中文 OSGi中文OSGi 中文版 中文 OSGi中文OSGi 中文版 中文 OSGi中文

    Spring OSGI 快速入门中文教程

    Spring OSGI 快速入门中文教程

    OSGI 开发文档中文的

    想多前沿技术了解的朋友,一定要看哦.

    Spring-OSGI 1.0 M3 中文手册

    Spring-OSGI 1.0 M3 中文手册

    OSGI中Hibernate扩展在felix中的应用

    在felix2.0.1扩展Hibernate,使之工作于OSGI框架之中。

    OSGI实战(PDF+源码+问题解决方法)

    OSGI的入门资料,对于OSGI技术的比较全面的介绍,适合了解OSGI的技术人员,内有源码和源码可能出现问题的解决方法。

    spring osgi 中文

    spring osgi 中文文档0.7

    利用R-OSGi实现分布式OSGi应用

    利用R-OSGi实现分布式OSGi应用...然后通过一个简单的功能实现由浅入深地讲述传统 OSGi 和 R-OSGi 上的两种不同实现,让您对实际操作加深印象。最后,探讨了 R-OSGi 的目前使用情况以及整个分布式 OSGi 应用的发展前景。

    ClassLoader机制详解

    由osgi引出的classLoader的大总结(整理理解ClassLoader)

    OSGI框架实战

    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的经验而编写,涵盖了OSGi从入门到深入...

    OSGI 进阶源码和中文文档

    JAVA OSGI 进阶源码 中文文档. 对OSGI入门,DS 处理练习很不错的。

    OSGi.NET框架 Documentation

    本文档主要针对OSGi.NET模块化框架使用进行了描述 OSGi.NET框架是一个参照了OSGi规范的模块化管理框架。框架为应用程序(组件(bundle))提供了一个标准环境。整个框架可以划分为一些层次: 1.运行环境 2.模块...

    osgi 在web容器中部署

    给出了可用插件bridge和一个可用osgi例子,可以帮助学习osgi的同学学习部署osgi程序到tomcat中。

    osgi进阶(中文)

    osgi项目的详细实战描述。属于学习osgi的人必读文档。通俗易懂

    解决osgi spring 事务配置问题

    NULL 博文链接:https://malixxx.iteye.com/blog/560674

Global site tag (gtag.js) - Google Analytics