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学习笔记 | 国内常用源镜像地址
    python学习笔记 | macOS Big Sur动态壁纸食用指南
    GitHub README.md文本编写指南
    FAT32、NTFS、exFAT有什么区别?
    python模块详解 | unittest(单元测试框架)(持续更新中)
    Linux学习笔记 | 常见错误之账户密码正确但是登录不进去系统
    数学建模学习笔记 | matlab基本命令及用法
    selenium自动化 | 借助百度AI开放平台识别验证码登录职教云
    JAVA集合框架
    JAVA集合框架
  • 原文地址:https://www.cnblogs.com/asfeixue/p/3629169.html
Copyright © 2011-2022 走看看