<execJava> メカニズムを使用すると、プランまたはコンポーネントの定義内でのクライアント提供 Java コードのプロセス内実行をエージェント側で有効化できます。<execJava> は <execNative> に似ていますが、Java コードの実行が対象です。
<execJava> 機能は、XML ステップとして、また Java ベースの API として提供されています。XML のスキーマ、属性、および子要素については、『Sun N1 Service Provisioning System 5.2 XML スキーマリファレンスガイド』の「<execJava> ステップ」を参照してください。execJava API については、「execJava API」を参照してください。ここでは、例も示しています。
XML の <execJava> ステップには必須の属性が 1 つ、省略可能な属性が 2 つあります。
className – ターゲットホストで実行する Java クラスを指定する必須の属性です。
classPath – className 属性で指定するクラスのパスを指定する省略可能な属性です。この属性を使用しなかった場合、リモートエージェントのシステムクラスパスが使用されます。
timeout – タイムアウトになるまでに Java クラスの実行を待つ時間 (秒単位) を指定する省略可能な属性です。
<execJava> メカニズムでは、<argList> 子要素を使用して Java Executor に引数を渡すことができます。
<varList>
<var name="installPath" default="/opt/util"/>
</varList>
<resourceList defaultInstallPath=":[installPath]">
<resource resourceName="util/propPrint.jar" installName="propPrint.jar"/>
</resourceList>
...
<controlList>
<control name="showProp"/>
<paramList>
<param name="propName">
</paramList>
<execJava
className="com.raplix.util.PropertyPrinterFactory"
classPath="$[installPath]/propPrint.jar">
<argList>
<arg name="propertyName" value=":[propName]"/>
</argList>
<successCriteria outputMatches="<undefined>" inverse="true"/>
</execJava>
<executionPlan xmlns="http://www.sun.com/schema/SPS"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.sun.com/schema/SPSplan.xsd"
name="execJavaExample" version="5.2">
<paramList>
<param name="name"></param>
<param name="value"></param>
</paramList>
<varList>
<var name="classpath"
default=":[target:sys.raDataDir]:[/]systemcomps:[/]plugin-com.sun.sample.jar"/>
</varList>
<simpleSteps>
<execJava className="com.sun.n1.sps.pluginimpl.sample.executor.SampleExecutorFactory"
classPath=":[classpath]">
<argList nameParam=":[name]" valueParam=":[value]" />
</execJava>
</simpleSteps>
</executionPlan>