OSGi 学习(二)
2014-03-27 20:44
85 查看
上一篇说了很多虚的东西,现在说点别的。
OSGi系统的独立环境下的项目结构以及启动脚本。
先说项目结构,基于equinox的OSGi容器的项目结构如下所示:
bin中定义启动脚本,停止脚本之类的。
configuration定义配置文件,比如:config.ini,log4j.properties等配置文件。
environment包含了一些基础bundle,比如:spring系列;log4j等。
platform是基于OSGi上的,做二次开发的bundle。
这里面比较麻烦的就是,osgi这个bundle最好和configuration在同级目录下,这样生成的缓存文件就在configuration中。
再说说启动脚本。
直接上代码吧:
@echo off
if "%JAVA_HOME%" == "" (
echo The JRE was not found in directory %JAVA_HOME%. ^(JAVA_HOME^)
echo Please edit your environment and set the JAVA_HOME
echo variable to point to the root directory of your Java installation.
goto :EOF
)
set MEM_ARGS=-Xms512m -Xmx512m -Xmn256M -XX:PermSize=128m -XX:MaxPermSize=128m
set JAVA_OPTIONS=%JAVA_OPTIONS% -XX:+UseParNewGC -XX:ParallelGCThreads=5 -XX:CMSFullGCsBeforeCompaction=5 -XX:-CMSParallelRemarkEnabled -XX:CMSInitiatingOccupancyFraction=40 -XX:+UseAdaptiveSizePolicy -XX:+UnlockDiagnosticVMOptions -XX:+UnsyncloadClass
rem set CLASSPATH=%CLASSPATH%
rem "%JAVA_HOME%\bin\java" %MEM_ARGS% %JAVA_OPTIONS% -Dorg.osgi.framework.bootdelegation=javax.*,org.ietf.*,org.omg.*,org.w3c.*,org.xml.*,sun.*,com.sun.* -jar equinox.jar -console
set CLASSPATH=%CLASSPATH%;../org.eclipse.osgi-3.9.1.v20130814-1242.jar
set WEAVING_OPTIONS=-Daj.weaving.verbose=true -Dorg.aspectj.weaver.showWeaveInfo=true -Dorg.aspectj.osgi.verbose=true
"%JAVA_HOME%\bin\java" %MEM_ARGS% %JAVA_OPTIONS% -classpath %CLASSPATH% %WEAVING_OPTIONS% -Dorg.osgi.framework.bootdelegation=javax.*,java.*,org.ietf.*,org.omg.*,org.w3c.*,org.xml.*,sun.*,com.sun.* org.eclipse.core.runtime.adaptor.EclipseStarter -console
:EOF
简单说说bat的语法。
rem是个注释命令,该命令后的内容在程序执行的时候将不被显示与执行。
echo是一个回显命令,主要参数有off(不显示)和on(显示),一般用其输出一个特定的消息。
符号(@):关闭当前行的回显。
OSGi系统的独立环境下的项目结构以及启动脚本。
先说项目结构,基于equinox的OSGi容器的项目结构如下所示:
bin中定义启动脚本,停止脚本之类的。
configuration定义配置文件,比如:config.ini,log4j.properties等配置文件。
environment包含了一些基础bundle,比如:spring系列;log4j等。
platform是基于OSGi上的,做二次开发的bundle。
这里面比较麻烦的就是,osgi这个bundle最好和configuration在同级目录下,这样生成的缓存文件就在configuration中。
再说说启动脚本。
直接上代码吧:
@echo off
if "%JAVA_HOME%" == "" (
echo The JRE was not found in directory %JAVA_HOME%. ^(JAVA_HOME^)
echo Please edit your environment and set the JAVA_HOME
echo variable to point to the root directory of your Java installation.
goto :EOF
)
set MEM_ARGS=-Xms512m -Xmx512m -Xmn256M -XX:PermSize=128m -XX:MaxPermSize=128m
set JAVA_OPTIONS=%JAVA_OPTIONS% -XX:+UseParNewGC -XX:ParallelGCThreads=5 -XX:CMSFullGCsBeforeCompaction=5 -XX:-CMSParallelRemarkEnabled -XX:CMSInitiatingOccupancyFraction=40 -XX:+UseAdaptiveSizePolicy -XX:+UnlockDiagnosticVMOptions -XX:+UnsyncloadClass
rem set CLASSPATH=%CLASSPATH%
rem "%JAVA_HOME%\bin\java" %MEM_ARGS% %JAVA_OPTIONS% -Dorg.osgi.framework.bootdelegation=javax.*,org.ietf.*,org.omg.*,org.w3c.*,org.xml.*,sun.*,com.sun.* -jar equinox.jar -console
set CLASSPATH=%CLASSPATH%;../org.eclipse.osgi-3.9.1.v20130814-1242.jar
set WEAVING_OPTIONS=-Daj.weaving.verbose=true -Dorg.aspectj.weaver.showWeaveInfo=true -Dorg.aspectj.osgi.verbose=true
"%JAVA_HOME%\bin\java" %MEM_ARGS% %JAVA_OPTIONS% -classpath %CLASSPATH% %WEAVING_OPTIONS% -Dorg.osgi.framework.bootdelegation=javax.*,java.*,org.ietf.*,org.omg.*,org.w3c.*,org.xml.*,sun.*,com.sun.* org.eclipse.core.runtime.adaptor.EclipseStarter -console
:EOF
简单说说bat的语法。
rem是个注释命令,该命令后的内容在程序执行的时候将不被显示与执行。
echo是一个回显命令,主要参数有off(不显示)和on(显示),一般用其输出一个特定的消息。
符号(@):关闭当前行的回显。
相关文章推荐
- OSGI.NET 学习笔记--应用篇
- 自己的osgi收藏(比较详尽的osgi学习文档)五与hibernate的集成
- osgi学习博客收藏
- osgi实战学习之路:8. Service-3之ServiceTracker
- osgi学习笔记3之集成Spring-DM的cxf-DOSGI HelloWorld
- osgi学习笔记4之 web客户端调用已发布的接口服务
- OSGI.NET 学习笔记(一)
- OSGi.NET 学习笔记 [前言] [环境准备]
- OSGi.NET 学习笔记 [面向服务架构支持][实例][小结]
- OSGi 学习之路(4) - osgi的模块化 java在模块化的局限性
- osgi学习
- osgi实战学习之路:4.Bundle
- osgi实战学习之路:7. Service-2之ServiceListener
- OSGi.NET 学习笔记 [模块化和插件化][概念]
- osgi学习资料及问题解决办法
- OSGI.NET 学习笔记--架构篇
- OSGI 进阶学习——《OSGI In Practice》 阅读总结
- osgi 学习系列(七)osgi数据库c3p0连接池
- osgi6——camel配置学习
- OSGi.NET 学习笔记 [模块化和插件化][实例]