GlassFishアプリケーションサーバーのバージョン3.x以降はOSGiアーキテクチャを使用します。デフォルトで、OSGiコンテナは、ブートストラップクラスの委譲のための特別なモデルに従います。コンテナの CLASSPATH に指定されていないクラスは、ブートストラップ classloader に委譲されないため、Java Agentクラス用の OSGi コンテナを構成する必要があります。
「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を実行している場合、
<glassfish install directory>/glassfish/osgi/equinox/configuration にある config.ini ファイルを開く。config.ini ファイルに次のパッケージプレフィックスを追加する。
org.osgi.framework.bootdelegation=com.singularity.*
CODE
WebSphere Application Server Liberty プロファイルの下でEclipse Equinoxを実行している場合、
- JVM ディレクトリ <WLP_home>/usr/servers/<server_name> で bootstrap.properties ファイルを開き、編集する。
次のコード行を追加する。
org.osgi.framework.bootdelegation=com.singularity.*
CODE
「Getting Started with Equinox」を参照してください。
Apache Slingの構成
sling.properties ファイルを開く。sling.properties の場所は、Java プラットフォームにより異なります。
Sun/Oracle の実装では、sling.properties ファイルは <java.home>/lib にあります。 sling.properties ファイルに次のパッケージプレフィックスを追加する。
org.osgi.framework.bootdelegation=com.singularity.*
CODE
JIRAまたはConfluenceを構成
JIRA 5.1.8 以降および Confluence 5.3 以降の場合
編集のために起動スクリプト(catalina.sh)を開く。
start コマンドブロックを探す(「elif [ "$1" = "start" ] ; then」を探す)。
次の Java システムプロパティを既存のプロパティに添えて両方の else ブロックに追加する。
-Datlassian.org.osgi.framework.bootdelegation.extra=com.singularity.*
CODE
実行モードで起動されたアプリケーションをインストゥルメント化するために、実行コマンドブロックにもプロパティを追加する。例:
コメントライン「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
- アプリケーションを再起動。
他のOSGiベースのコンテナを構成
他の OSGi ベースのランタイムコンテナの場合、次のパッケージプレフィックスを適切な OSGi 構成に追加します。
file.org.osgi.framework.bootdelegation=com.singularity.*
CODE
- Karaf の
custom.properties ファイルを開く。$KARAF_HOME/etc/custom.properties にあります。$KARAF_HOME は、Karaf がインストールされているフォルダへのパスです。 custom.properties ファイルに次のパッケージプレフィックスを追加する。
org.osgi.framework.bootdelegation=com.singularity.*
CODE
重要
custom.properties ファイルで指定されたすべての値は、/etc/config.properties ファイルで指定されたデフォルト値を上書きします。そのため、config.properties ファイルの org.osgi.framework.bootdelegation のデフォルト値を custom.properties ファイルに含めるようにしてください。
構成が完了すると、Apache Karaf で実行されている Java エージェントでサポートされるフレームワークに基づくすべてのアプリケーションをインストゥルメント化し、コントローラ UI で表示できます。