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

GlassFishスタートアップ設定」と「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. 実行モードで起動されたアプリケーションをインストゥルメント化するために、実行コマンドブロックにもプロパティを追加する。例:

    Run Command Block 

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

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

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

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

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