zoukankan      html  css  js  c++  java
  • OSGi 学习(二)

    上一篇说了很多虚的东西,现在说点别的。

    OSGi系统的独立环境下的项目结构以及启动脚本。

    先说项目结构,基于equinox的OSGi容器的项目结构如下所示:

    image

    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%injava" %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%injava" %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(显示),一般用其输出一个特定的消息。

    符号(@):关闭当前行的回显。

  • 相关阅读:
    Python中的类(上)
    Django REST Framework API Guide 07
    Django REST Framework API Guide 06
    Django REST Framework API Guide 05
    Django REST Framework API Guide 04
    Django REST Framework API Guide 03
    Django REST Framework API Guide 02
    Django REST Framework API Guide 01
    Django 详解 信号Signal
    Django 详解 中间件Middleware
  • 原文地址:https://www.cnblogs.com/asfeixue/p/3629169.html
Copyright © 2011-2022 走看看