GlassFishアプリケーションサーバーのバージョン3.x以降はOSGiアーキテクチャを使用します。デフォルトで、OSGiコンテナは、ブートストラップクラスの委譲のための特別なモデルに従います。コンテナの CLASSPATH に指定されていないクラスは、ブートストラップ クラスローダに委譲されないので、クラス用の OSGi コンテナを構成する必要が Java Agentあります。

詳細は、「GlassFish OSGi Configuration per Domain」を参照してください。

OSGi コンテナが Java Agentを識別するようにするには、次のパッケージプレフィックスを指定します。

org.osgi.framework.bootdelegation=com.singularity.*
CODE

このプレフィックスは、 Java Agent クラスが表示されるように通常のブート委譲モデルに従います。

すでにブートの委譲が行われている場合には、「com.singularity.*」を既存のパスにコンマで区切って追加します。例:

org.osgi.framework.bootdelegation=com.sun.btrace., com.singularity.

Eclipse Equinoxの構成

GlassfishでEclipse Equinoxを実行している場合、

  1. <glassfish install directory>/glassfish/osgi/equinox/configurationにあるconfig.iniファイルを開く
  2. config.iniファイルに以下のパッケージプリフィックスを追加する。

    org.osgi.framework.bootdelegation=com.singularity.*
    CODE

WebSphere Application Server Liberty プロファイルの下でEclipse Equinoxを実行している場合、

  1. JVM ディレクトリ <WLP_home>/usr/servers/<server_name> で bootstrap.properties ファイルを開き、編集する。
  2. 以下のラインを追加する。

    org.osgi.framework.bootdelegation=com.singularity.*
    CODE

詳細は、「Getting Started with Equinox」を参照してください。

Apache Slingの構成

  1. sling.propertiesを開く。sling.propertiesの場所は、Javaプラットフォームにより異なります。
    Sun/Oracle の実装では、sling.properties ファイルは <java.home>/lib にあります。 
  2. sling.propertiesファイルに以下のパッケージプリフィックスを追加する。

    org.osgi.framework.bootdelegation=com.singularity.*
    CODE

JIRAまたはConfluenceを構成

JIRA 5.1.8以降およびConfluence 5.3以降の場合

  1. 編集のために起動スクリプト(catalina.sh)を開く。  

  2. start コマンドブロックを探す(「elif [ "$1" = "start" ] ; then」を探す)。

  3. 次の Java システムプロパティを既存のプロパティに添えて両方の else ブロックに追加する。

    -Datlassian.org.osgi.framework.bootdelegation=META-INF.services,com.yourkit,com.singularity.*,com.jprofiler,com.jprofiler.*,org.apache.xerces,org.apache.xerces.*,org.apache.xalan,org.apache.xalan.*,sun.*,com.sun.jndi,com.icl.saxon,com.icl.saxon.*,javax.servlet,javax.servlet.*,com.sun.xml.bind.*\
    CODE
  4. 実行モードで起動されたアプリケーションをインストゥルメント化するために、実行コマンドブロックにもプロパティを追加する。例:

     

  5. コメントライン「Execute The Requested Command」の前に、以下のように新しい Java オプションとして –javaagent 引数をファイルに追加します。

    Linuxの場合:

    JAVA_OPTS="$JAVA_OPTS -javaagent:<agent_home>/javaagent.jar"
    CODE

    Windowsの場合:

    set JAVA_OPTS=%JAVA_OPTS% -javaagent:"Drive:<agent_home>\javaagent.jar"
    CODE
  6. アプリケーションを再起動。

他のOSGiベースのコンテナを構成

他のOSGIベースのランタイムコンテナの場合、次のパッケージプリフィックスを適切なOSGi構成に追加します。

file.org.osgi.framework.bootdelegation=com.singularity.*
CODE