http://classworlds.codehaus.org/apiusage.html

API Usage

The Java API can be used to create new realms and connect realms together through importation of specific packages.

The core of the classworlds infrastructure is the ClassWorld class. An application must create a ClassWorld instance. It is advisable to store the instance as a singleton or some other handy location.

ClassWorld world = new ClassWorld();

Once a ClassWorld is created, realms within it can be created. These realms effectively only allow loading of the core JVM classes.

ClassWorld world = new ClassWorld();

ClassRealm containerRealm    = world.newRealm( "container" );
ClassRealm logComponentRealm = world.newRealm( "logComponent" );

In order to make each ClassRealm useful, constituent must be added to that each can provide certain classes.

containerRealm.addConstituent( containerJarUrl );
logComponentRealm.addConstituent( logComponentJarUrl );

Now, links between the various realms need to be created to allow classes loaded from one to be available to classes loaded in another.

logComponentRealm.importFrom( "container",
                              "com.werken.projectz.component" );

The container implementation can then be loaded from it‘s realm and used.

Class containerClass = containerRealm.loadClass( CONTAINER_CLASSNAME );

MyContainer container = (MyContainer) containerClass.newInstance();

Thread.currentThread().setContextClassLoader( containerRealm.getClassLoader() );

container.run();

Ideally, the container itself would be responsible for creating a ClassRealm for each component that‘s loaded, and importing the component contract interfaces into the component‘s ClassRealm and using loadClass(..) to gain entry into the sandboxed component realm.

时间: 2024-09-29 23:30:55

http://classworlds.codehaus.org/apiusage.html的相关文章

Maven安装及与Eclipse集成

1.  安装 Maven不需要作为服务组件安装到Windows上,仅仅需要下载.解压.配置一下环境变量即可. 1.1  JDK和JAVA_HOME 在安装Maven之前,首先要确认你已经正确安装了JDK.Maven可以运行在JDK1.4及以上的版本上.运行命令[echo % java_home % ]检查环境变量JAVA_HOME是否指向了正确的JDK目录:然后,运行命令[java -version]检查jdk版本是否在1.4及以上版本. 1.2  下载Maven 下载Maven3.X(例如Ma

转载maven安装,配置,入门

转载:http://www.cnblogs.com/dcba1112/archive/2011/05/01/2033805.html 本书代码下载 大家可以从我的网站下载本书的代码:http://www.juvenxu.com/mvn-in-action/,也可以通过我的网站与我取得联系,欢迎大家与我交流任何关于本书的问题和关于Maven的问题. 咖啡与工具 本书相当一部分的内容是在苏州十全街边的Solo咖啡馆完成的,老板Yin亲手烘焙咖啡豆.并能做出据说是苏州最好的咖啡,这小桥流水畔的温馨小

(五)Maven目录结构及常用命令说明

前面提到的部分知识有涉及到Maven目录结构与Maven常用的一些命令,在这里专门给大家做个简单的介绍. 1.Maven目录结构说明 Maven总体目录结构如下图: bin目录:该目录包含了mvn运行的脚本,这些脚本用来配置java命令,准备好classpath和相关的Java系统属性,然后执行Java命令. boot目录:该目录只包含一个文件,以maven3.0.4为例,该文件为plexus-classworlds-2.4.jar.plexus-classworlds是一个类加 载器框架,相对

《Maven实战》整理一:Maven的安装及配置

1 Maven 介绍 Maven这个词可以翻译为“知识的积累”,也可以翻译为“专家”或“内行”.本书将介绍Maven这一跨平台的项目管理工具.作为Apache组织中的一个颇为成功的开源项目,Maven主要服务于基于Java平台的项目构建.依赖管理和项目信息管理.无论是小型的开源类库项目,还是大型的企业级应用:无论是传统的瀑布式开发,还是流行的敏捷模式,Maven都能大显身手.1 Maven是优秀的构建工具,能够帮我们自动化构建过程,从清理.编译.测试到生成报告,再到打包和部署. Maven能帮助

Maven 介绍和搭建

第1章 Maven简介 1.1  何为Maven/2 1.2  为什么需要Maven/4 1.3  Maven与极限编程/7 1.4  被误解的Maven/8 1.5  小结/9 1.1 何为Maven Maven这个词可以翻译为"知识的积累",也可以翻译为"专家"或"内行".本书将介绍Maven这一跨平台的项目管理工具.作为Apache组织中的一个颇为成功的开源项目,Maven主要服务于基于Java平台的项目构建.依赖管理和项目信息管理.无论是

Maven的安装、配置及使用入门

本书代码下载 大家可以从我的网站下载本书的代码:http://www.juvenxu.com/mvn-in-action/,也可以通过我的网站与我取得联系,欢迎大家与我交流任何关于本书的问题和关于Maven的问题. 咖啡与工具 本书相当一部分的内容是在苏州十全街边的Solo咖啡馆完成的,老板Yin亲手烘焙咖啡豆.并能做出据说是苏州最好的咖啡,这小桥流水畔的温馨小 屋能够帮我消除紧张和焦虑,和Yin有一句没一句的聊天也是相当的轻松.Yin还教会了我如何自己研磨咖啡豆.手冲滴率咖啡,让我能够每天在家

Maven实战读书笔记(2)

Maven目录分析 通常在安装Maven时,都会设置M2_HOME这个环境变量,M2_HOME指代了Maven的安装目录,下面是目录结构: bin boot lib LICENSE.txt NOTICE.txt README.txt bin目录是? 1.该目录包含了mvn运行的脚本 2.mvn是基于UNIX平台的shell脚本,mvn.bat是基于Windows平台的bat脚本,命令行输入任何一条mvn命令时,实际上时在调用这些脚本,然后执行Java命令,是的maven的运行需要java的环境

Maven 教程(5)— Maven目录结构及常用命令说明

原文地址:https://blog.csdn.net/liupeifeng3514/article/details/79543159 1.Maven目录结构说明 Maven总体目录结构如下图: bin目录:该目录包含了mvn运行的脚本,这些脚本用来配置java命令,准备好classpath和相关的Java系统属性,然后执行Java命令. boot目录:该目录只包含一个文件,以maven3.5.2为例,该文件为plexus-classworlds-2.5.2.jar.plexus-classwor

安装maven 错误: 找不到或无法加载主类 org.codehaus.plexus.classworlds.launcher.Launcher

今天maven突然无法引入本地maven库的jar包,导致maven工程出错,然后就准备重装maven ,开始只是将环境变量删除,将之前的压缩包解压,再重新配置环境 变量,可是配置好后在dos窗口 输入 mvn -v 查看是否安装成功,一直报 找不到或无法加载主类 org.codehaus.plexus.classworlds.launcher.Launcher,在网上搜 好多都是说环境变量的配置,感觉没什么用,试了一下果然没有软用,最后去maven官网,下载了最新的maven压缩包,解压后,配