|
アプリケーションのカスタム モジュールを使用して、カスタム メタデータやサービスをアプリケーションに追加することができます。アプリケーションに追加できるサービスは次のとおりです。
.task
ファイル)。これらのタスク プランは、特定のスキーマ ファイルを参照する場合があります。この場合、これらのスキーマ ファイルもアプリケーションにデプロイしておく必要があります。.handler
ファイル)。 .assign
ファイル)。.listener
ファイル)。.email
ファイル)。 .taskurl
ファイル)。.history
ファイル)。
任意のアプリケーションにタスク プランをインストールし、タスク プラン ホスト アプリケーションにすることができます。タスク プランは、タスク プラン ホスト アプリケーション内の .task
ファイルとして定義されます。しかし、これらのタスク プランを使用できるようにタスク プラン レジストリに登録するには、まずタスク プランをタスク プラン ホスト アプリケーションにインストールし、次にそのタスク プラン ホスト アプリケーションを WebLogic Server インスタンスにデプロイしなければなりません。
アプリケーションへの .task
ファイルのインストールは、Workshop for WebLogic のワークリスト用プラグインを使用して実行できます。このため、Workshop for WebLogic IDE でタスク プランを作成した場合は、そのタスク プランはホスト アプリケーションに自動的にインストールされます。Workshop for WebLogic を使用しない場合は、コマンドラインおよび Ant タスクを使用して、タスク プランをホスト アプリケーションにインストールできます。これらのユーティリティは、どちらも次の引数を必要とします。
.task
ファイルが格納されるディレクトリへのパスです。
このディレクトリは、アプリケーション ディレクトリ内にあっても、その外部にあっても問題ありません。外部のディレクトリを使用する場合は、指定したタスク プラン ソース ディレクトリのソース .task
ファイルの場所と相対的に一致するアプリケーション ディレクトリ内の場所に、.task
ファイルがコピーされます。アプリケーション ディレクトリ内のディレクトリをソース ディレクトリとして使用する場合は、ファイルのコピーは行われません。
コマンドライン ユーティリティと Ant ユーティリティは、ソース ディレクトリから .task
ファイルを検索し、タスク プラン ホスト アプリケーションへのデプロイのために検出されたすべての .task
ファイルを登録します。
java com.bea.wli.worklist.build.InstallTaskPlan <options>
-appRootDir
- ターゲット アプリケーションの META-INF
ディレクトリを保持します。
-taskTypeSrcDir
- ターゲット アプリケーションにインストールされる .task
ファイルを保持します。このディレクトリが appRootDir の子ディレクトリである場合は、ファイルのコピーは行われません。それ以外の場合は、このディレクトリに含まれる .task
ファイルは、アプリケーションのルートにあるターゲット アプリケーション内の同一相対パスに再帰的にコピーされます。
Ant ユーティリティによるホスト アプリケーションへのタスク プランのインストール
<project name="MyProject">
...
<taskdef name="install-tasktype-in-app" classname="com.bea.wli.worklist.build.InstallTaskPlanTask"
classpath="${<WebLogic Integration の public.jar を含むクラスパス}"/>
<install-tasktype-in-app
appRootDir="${<ホスト アプリケーションのルート ディレクトリ>}"
taskTypeSrcDir="${<タスク プランのソース ディレクトリ>}"/>
...
</project>
要件に基づいて、または特定のスキーマに関連付けられているタスク プランをサポートするために、アプリケーションにスキーマをデプロイする必要があります。
アプリケーションにインストールされているタスク プランは、XMLBean データ タイプを参照できます。これらのデータ タイプ参照は、使用するスキーマからコンパイルされた固有の XMLBean タイプであるカスタム バリアントを定義できます。これらのスキーマは、タスク プランをホスティングする同じアプリケーション (または、少なくともアプリケーションから認識できる場所) に用意する必要があります。推奨される最も単純な方法は、アプリケーションのルートにスキーマ プロジェクトを作成し、そのプロジェクトの src
ディレクトリの下にスキーマ XSD ファイルを配置することです。これらのスキーマは、Workshop for WebLogic IDE のビルド機能を使用して XMLBean にコンパイルできます。
独自のイベント ハンドラを定義し、ワークリストに定義された次のタイプのリスナの動作を制御できます。
イベント ハンドラは、1 つまたは複数のタスク プラン、イベント タイプ、またはその両方と関連付けるか、グローバルに適用することができます。ハンドラを特定のタスク プランと関連付けた場合は、そこに含まれるコンフィグレーションは、関連するタスク プランまたはイベント タイプのみで使用されます。グローバルに適用したイベント ハンドラは、あらゆるタスクおよびあらゆるタイプのイベントで使用できます。
イベント ハンドラを使用するには、ワークリスト ホスト アプリケーションにイベント ハンドラをインストールする必要があります。イベント ハンドラをインストールする方法は次のとおりです。
.handler
) ファイルを作成する。 注意 : | この記述子のスキーマは、worklist-config-binding.jar ファイルから schema-0.xsd として参照できます。この記述子ファイルの例については、「イベント ハンドラ記述子ファイルの例」を参照してください。 |
InstallEventHandler
ユーティリティを実行して、イベント ハンドラをワークリスト ホスト アプリケーションにインストールする。
Workshop for WebLogic のワークリスト用プラグインは、.handler
ファイルの作成時にイベント ハンドラを自動的にインストールします。このため、Workshop for WebLogic を使用する場合は、この作業を手動で行う必要はありません。Workshop for WebLogic を使用しない場合は、コマンドラインおよび Ant タスクを使用して、イベント ハンドラをワークリスト ホスト アプリケーションにインストールできます。これらのユーティリティは、どちらも次の引数を必要とします。
.handler
ファイルが格納されるディレクトリへのパスです。
このディレクトリは、アプリケーション ディレクトリ内にあっても、その外部にあっても問題ありません。外部のディレクトリを使用する場合は、指定したソース ディレクトリのソース .handler
ファイルの場所と相対的に一致するアプリケーション ディレクトリ内の場所に、.handler
ファイルがコピーされます。アプリケーション ディレクトリ内のディレクトリをソース ディレクトリとして使用する場合は、ファイルのコピーは行われません。
コマンドライン ユーティリティと Ant ユーティリティは、ソース ディレクトリから .handler
ファイルを検索し、ホスト アプリケーションへのデプロイのために検出されたすべてのファイルを登録します。
コマンドライン ユーティリティによるホスト アプリケーションへのイベント ハンドラのインストール
java com.bea.wli.worklist.build.InstallEventHandler <options>
-appRootDir
- ターゲット アプリケーションの META-INF
ディレクトリを保持します。
-handlerSrcDir
- ターゲット アプリケーションにインストールされる .handler
ファイルを保持します。このディレクトリが appRootDir の子ディレクトリである場合は、ファイルのコピーは行われません。それ以外の場合は、このディレクトリに含まれる .handler
ファイルは、アプリケーションのルートにあるターゲット アプリケーション内の同一相対パスに再帰的にコピーされます。
Ant ユーティリティによるホスト アプリケーションへのイベント ハンドラのインストール
<project name="MyProject">
...
<taskdef name="install-eventhandler-in-app" classname="com.bea.wli.worklist.build.InstallEventHandlerTask"
classpath="${<WebLogic Integration の public.jar を含むクラスパス}"/>
<install-eventhandler-in-app
appRootDir="${<ホスト アプリケーションのルート ディレクトリ>}"
handlerSrcDir="${<イベント ハンドラのソース ディレクトリ>}"/>
...
</project>
次のようなイベント ハンドラ記述子ファイルをアプリケーションに作成します。
<?xml version="1.0" encoding="ISO-8859-1"?>
<java:event-handler xmlns:java="java:com.bea.wli.worklist.config" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<java:global-handler>false</java:global-handler>
<java:handled-task-type-id>/MyFolder/MyTaskPlan:1.0</java:handled-task-type-id>
<java:name>My Handler</java:name>
<java:event-subscription>
<java:name>CREATE/ASSIGN Subs</java:name>
<java:event-type><java:type>CREATE</java:type></java:event-type>
<java:event-type><java:type>ASSIGN</java:type></java:event-type>
<java:email-event-subscription>
<java:java-mail-session-jndi-name>MyMailSession</java:java-mail-session-jndi-name>
<java:from-name>Me@bea.com</java:from-name>
<java:actor>
<java:name>me</java:name>
<java:type>User</java:type>
</java:actor>
</java:email-event-subscription>
</java:event-subscription>
</java:event-handler>
次の Java インタフェースを実装することで、独自のカスタム割り当てハンドラを定義できます。
com.bea.wli.worklist.api.config.AssignmentHandler
カスタムの割り当てハンドラは、1 つまたは複数のタスク プランと関連付けるか、グローバルに適用することができます。ハンドラを特定のタスク プランと関連付けた場合は、そのタスク プランのタスクがユーザに割り当てられるたびに、ハンドラが呼び出されます。割り当てハンドラをグローバルに適用した場合は、ハンドラのデプロイメントを受け取るワークリスト システム インスタンス (スタンドアロン ワークリスト アプリケーションであれば、通常はローカル システム インスタンス) 内でそれまで適用されていたすべてのハンドラ (ワークリストのデフォルト ハンドラを含む) が置き換えられます。新しいグローバル ハンドラは、いずれかのタスクがユーザに割り当てられると呼び出されます。
注意 : | すでにインストールされているカスタム ハンドラを上書きしてしまうことがあるため、割り当てハンドラのグローバル適用は慎重に行ってください。 |
カスタムの割り当てハンドラを使用するには、そのハンドラをワークリスト ホスト アプリケーションにインストールする必要があります。カスタムの割り当てハンドラをインストールする方法は次のとおりです。
.assign
) ファイルを作成する。 注意 : | この記述子のスキーマは、worklist-config-binding.jar ファイルから schema-0.xsd として参照できます。この記述子ファイルの例については、「割り当てハンドラ記述子ファイルの例」を参照してください。 |
APP-INF\lib
ディレクトリ内に .jar
ファイルとして存在する、または APP-INF\classes
ディレクトリ内に個々のクラス ファイルとして存在することを確認する。InstallAssignmentHandler
ユーティリティを実行して、カスタムの割り当てハンドラをワークリスト ホスト アプリケーションにインストールする。
Workshop for WebLogic のワークリスト用プラグインは、.assign
ファイルの作成時に割り当てハンドラを自動的にインストールします。このため、Workshop for WebLogic を使用する場合は、この作業を手動で行う必要はありません。Workshop for WebLogic を使用しない場合は、コマンドラインおよび Ant タスクを使用して、割り当てハンドラをワークリスト ホスト アプリケーションにインストールできます。これらのユーティリティは、どちらも次の引数を必要とします。
.assign
ファイルが格納されるディレクトリへのパスです。
このディレクトリは、アプリケーション ディレクトリ内にあっても、その外部にあっても問題ありません。外部のディレクトリを使用する場合は、指定したソース ディレクトリのソース .assign
ファイルの場所と相対的に一致するアプリケーション ディレクトリ内の場所に、.assign
ファイルがコピーされます。アプリケーション ディレクトリ内のディレクトリをソース ディレクトリとして使用する場合は、ファイルのコピーは行われません。
これらのユーティリティは、ソース ディレクトリから .assign
ファイルを検索し、ホスト アプリケーションへのデプロイのために検出されたすべてのファイルを登録します。
コマンドライン ユーティリティによるホスト アプリケーションへの割り当てハンドラのインストール
java com.bea.wli.worklist.build.InstallAssignmentHandler <options>
このコマンドのオプションの定義は次のとおりです。
-appRootDir
- ターゲット アプリケーションの META-INF
ディレクトリを保持します。
-handlerSrcDir
- ターゲット アプリケーションにインストールされる .assign
ファイルを保持します。このディレクトリが appRootDir の子ディレクトリである場合は、ファイルのコピーは行われません。それ以外の場合は、このディレクトリに含まれる .assign
ファイルは、アプリケーションのルートにあるターゲット アプリケーション内の同一相対パスに再帰的にコピーされます。
Ant ユーティリティによるホスト アプリケーションへの割り当てハンドラのインストール
<project name="MyProject">
...
<taskdef name="install-assignmenthandler-in-app" classname="com.bea.wli.worklist.build.InstallAssignmentHandlerTask"
classpath="${<WebLogic Integration の public.jar を含むクラスパス}"/>
<install-assignmenthandler-in-app
appRootDir="${<ホスト アプリケーションのルート ディレクトリ>}"
handlerSrcDir="${<ハンドラのソース ディレクトリ>}"/>
...
</project>
次のような割り当てハンドラ記述子ファイルをアプリケーションに作成します。
<?xml version="1.0" encoding="ISO-8859-1"?>
<custom-assignment-handler-set
xmlns ="java:com.bea.wli.worklist.config"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<custom-assignment-handler>
<global-handler>false</global-handler>
<!-- グローバル ハンドラでない場合は 1 つまたは複数の handled-task-type-id 要素 -->
<handled-task-type-id>/MyFolder/MyTaskPlan:1.0</handled-task-type-id>
<handled-task-type-id>/MyFolder/MyOtherTaskPlan:2.0</handled-task-type-id>
<implementation-class-name>com.acme.mystuff.MyAssignmentHandler
</implementation-class-name>
<!-- ハンドラを正しく記述するために必要な任意のプロパティ。文字列値のみがサポートされる。これは、AssignmentHandler impl の setProperties メソッドに渡される -->
<property>
<name>ConstructorProp1</name>
<value>Value for prop 1</value>
</property>
</custom-assignment-handler>
</custom-assignment-handler-set>
次の Java インタフェースを実装することで、独自のカスタム イベント リスナを定義できます。
com.bea.wli.worklist.api.events.TaskEventListener
カスタム リスナは、1 つまたは複数のタスク プランおよびイベント タイプと関連付けるか、グローバルに適用することができます。特定のタスク プランまたはイベント タイプと関連付けられたリスナは、そのタイプのタスクが、指定したタイプのイベントを作成するように変更されると呼び出されます。グローバルに適用されるリスナは、あらゆるタイプのタスクでイベントが発生するたびに呼び出されます。
タスク イベント リスナを使用するには、次のようにリスナをワークリスト ホスト アプリケーションにインストールする必要があります。
.listener
) ファイルを作成する。注意 : | この記述子のスキーマは、worklist-config-binding.jar ファイルから schema-0.xsd として参照できます。この記述子ファイルの例については、「イベント リスナ記述子ファイルの例」を参照してください。 |
APP-INF\lib
ディレクトリ内に .jar
ファイルとして存在する、または APP-INF\classes
ディレクトリ内に個々のクラス ファイルとして存在することを確認する。InstallTaskEventListener
ユーティリティを実行して、カスタムのイベント リスナをワークリスト ホスト アプリケーションにインストールする。
Workshop for WebLogic のワークリスト用プラグインは、.listener
ファイルの作成時にカスタムのイベント リスナを自動的にインストールします。このため、Workshop for WebLogic を使用する場合は、この作業を手動で行う必要はありません。Workshop for WebLogic を使用しない場合は、コマンドラインおよび Ant タスクを使用して、カスタムのイベント リスナをワークリスト ホスト アプリケーションにインストールできます。これらのユーティリティは、どちらも次の引数を必要とします。
.listener
ファイルが格納されるディレクトリへのパスです。このフォルダは、アプリケーション ディレクトリ内にあっても、その外部にあっても問題ありません。外部のディレクトリを使用する場合は、指定したソース ディレクトリのソース .listener
ファイルの場所と相対的に一致するアプリケーション ディレクトリ内の場所に、.listener
ファイルがコピーされます。アプリケーション ディレクトリ内のディレクトリをソース ディレクトリとして使用する場合は、ファイルのコピーは行われません。
これらのユーティリティは、ソース ディレクトリから .listener
ファイルを検索し、ホスト アプリケーションへのデプロイのために検出されたすべてのファイルを登録します。
java com.bea.wli.worklist.build.InstallTaskEventListener <options>
-appRootDir
- ターゲット アプリケーションの META-INF
ディレクトリを保持します。
-listenerSrcDir
- ターゲット アプリケーションにインストールされる .listener
ファイルを保持します。このディレクトリが appRootDir の子ディレクトリである場合は、ファイルのコピーは行われません。それ以外の場合は、このディレクトリに含まれる .listener
ファイルは、アプリケーションのルートにあるターゲット アプリケーション内の同一相対パスに再帰的にコピーされます。
<project name="MyProject">
...
<taskdef name="install-taskeventlistener-in-app" classname="com.bea.wli.worklist.build.InstallTaskEventListenerTask"
classpath="${<WebLogic Integration の public.jar を含むクラスパス}"/>
<install-taskeventlistener-in-app
appRootDir="${<ホスト アプリケーションのルート ディレクトリ>}"
listenerSrcDir="${<リスナのソース ディレクトリ>}"/>
...
</project>
次のようなタスク イベント リスナ記述子 (.listener
) ファイルをアプリケーションに作成します。
<?xml version="1.0" encoding="ISO-8859-1"?>
<task-event-listener
xmlns ="java:com.bea.wli.worklist.config"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<!-- アプリケーション内でユニークな名前 -->
<name>MyTaskEventListener</name>
<!-- グローバルに適用する場合は task-plan-id 要素は無視される -->
<global-listener>false</global-listener>
<!-- グローバル リスナでない場合は 1 つまたは複数の task-plan-id
要素 -->
<task-plan-id>/MyFolder/MyTaskPlan:1.0</task-plan-id>
<task-plan-id>/MyFolder/MyOtherTaskPlan:1.0</task-plan-id>
<!-- true の場合は event-type 要素は無視される -->
<for-all-event-types>false</for-all-event-types>
<!-- すべてのイベント タイプに適用しない場合は、1 つまたは複数のイベント タイプ
-->
<event-type>CREATE</event-type>
<event-type>COMPLETE</event-type>
<event-type>ABORT</event-type>
<!-- ディスパッチ モード (同期リスナは、タスクが更新されるスレッドと同じスレッドにディスパッチされる。
このため、更新を行うユーザとしてディスパッチが実行されるので注意が必要。
非同期リスナは、TaskEventDispatcherMDB の run-as プリンシパルとして
実行される (デフォルトでは匿名。ただし、WLS
コンソールでコンフィグレーション可能)) -->
<sync>true</sync>
<!-- クリティカルかどうか -->
<critical>true</critical>
<!-- TaskEventListener 実装クラス名 (引数なしのパブリック コンストラクタが必要) -->
<implementation-class-name>
demo.MyTaskEventListener
</implementation-class-name>
<!-- リスナを正しく記述するために必要な任意のプロパティ。
文字列値のみがサポートされる。これは TaskEventListener 実装の
setProperties メソッドに渡される -->
<property>
<name>Prop1</name>
<value>Hello</value>
</property>
</task-event-listener>
上記リスナ記述子は、com.acme.mystuff.MyTaskEventListener
のインスタンスをインストールし、次のタイプのタスクに適用できるようにします。
リスナ インスタンスは、引数なしのコンストラクタを使用して作成されます。その後、プロパティ要素に指定されているプロパティが適用された setProperties
メソッドが呼び出され、さらに initialize
メソッドが呼び出されます。
次の Java インタフェースを実装することで、独自のカスタム電子メール受信者カリキュレータを定義できます。
com.bea.wli.worklist.api.config.EmailRecipientCalculator
カスタムの電子メール受信者カリキュレータはグローバルに適用され、電子メール通知が送信されるたびに呼び出されます。EmailRecipientCalculator
をインストールすると、カリキュレータのデプロイメントを受け取るワークリスト システム インスタンス (スタンドアロン ワークリスト アプリケーションであれば、通常はローカル システム インスタンス) 内でそれまで適用されていたすべてのカリキュレータが置き換えられます。新しいグローバル カリキュレータは、ワークリスト電子メール サブシステムから電子メール通知が送信されるたびに呼び出されます。
電子メール受信者カリキュレータを使用するには、次のようにワークリスト ホスト アプリケーションにインストールする必要があります。
.email
) ファイルを作成する。 注意 : | この記述子のスキーマは、worklist-config-binding.jar ファイルから schema-0.xsd として参照できます。この記述子ファイルの例については、「電子メール受信者カリキュレータ記述子ファイルの例」を参照してください。 |
APP-INF\lib
ディレクトリ内に .jar
ファイルとして存在する、または APP-INF\classes
ディレクトリ内に個々のクラス ファイルとして存在することを確認する。InstallEmailRecipientCalculator
ユーティリティを実行して、カリキュレータをワークリスト ホスト アプリケーションにインストールする。
Workshop for WebLogic のワークリスト用プラグインは、.email
ファイルの作成時にカリキュレータを自動的にインストールします。このため、Workshop for WebLogic を使用する場合は、この作業を手動で行う必要はありません。Workshop for WebLogic を使用しない場合は、コマンドラインおよび Ant タスクを使用して、電子メール受信者カリキュレータをワークリスト ホスト アプリケーションにインストールできます。これらのユーティリティは、どちらも次の引数を必要とします。
.email
ファイルが格納されるディレクトリへのパスです。このディレクトリは、アプリケーション ディレクトリ内にあっても、その外部にあっても問題ありません。外部のディレクトリを使用する場合は、指定したソース ディレクトリのソース .email
ファイルの場所と相対的に一致するアプリケーション ディレクトリ内の場所に .email
ファイルがコピーされます。アプリケーション ディレクトリ内のディレクトリをソース ディレクトリとして使用する場合は、ファイルのコピーは行われません。
これらのユーティリティは、ソース ディレクトリから .email
ファイルを検索し、ホスト アプリケーションへのデプロイのために検出されたすべてのファイルを登録します。
java com.bea.wli.worklist.build.InstallEmailRecipientCalculator <options>
-appRootDir
- ターゲット アプリケーションの META-INF
ディレクトリを保持します。
-calculatorSrcDir
- ターゲット アプリケーションにインストールされる .email
ファイルを保持します。このディレクトリが appRootDir の子ディレクトリである場合は、ファイルのコピーは行われません。それ以外の場合は、このディレクトリに含まれる .email
ファイルは、アプリケーションのルートにあるターゲット アプリケーション内の同一相対パスに再帰的にコピーされます。
<project name="MyProject">
...
<taskdef name="install-emailrecipientcalculator-in-app" classname="com.bea.wli.worklist.build.InstallEmailRecipientCalculatorTask"
classpath="${<WebLogic Integration の public.jar を含むクラスパス}"/>
<install- emailrecipientcalculator -in-app
appRootDir="${<ホスト アプリケーションのルート ディレクトリ>}"
calculatorSrcDir="${<カリキュレータのソース ディレクトリ>}"/>
...
</project>
次のような電子メール受信者カリキュレータ記述子 (.email
) ファイルをアプリケーションに作成します。
<?xml version="1.0" encoding="ISO-8859-1"?>
<java:email-recipient-calculator
xmlns:java="java:com.bea.wli.worklist.config"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<java:implementation-class-name>com.bea.wli.worklist.test.testEmailNotification.EmailRecipientCalculatorImpl</java:implementation-class-name>
<java:property>
<java:name>EmailDomainAddr</java:name>
<java:value>custom.worklist.drt.com</java:value>
</java:property>
</java:email-recipient-calculator>
次の Java インタフェースを実装することで、独自のカスタム タスク URL カリキュレータを定義できます。
com.bea.wli.worklist.api.config.TaskURLCalculator
カリキュレータはグローバルに適用され、電子メール通知が送信されるたびに呼び出されます。TaskURLCalculator をインストールすると、カリキュレータのデプロイメントを受け取るワークリスト システム インスタンス (スタンドアロン ワークリスト アプリケーションであれば、通常はローカル システム インスタンス) 内でそれまで適用されていたすべてのカリキュレータが置き換えられます。新しいグローバル カリキュレータは、ワークリスト電子メール サブシステムから電子メール通知が送信されるたびに呼び出されます。
タスク URL カリキュレータを使用するには、次のようにワークリスト ホスト アプリケーションにインストールする必要があります。
.taskurl
) ファイルを作成する。注意 : | この記述子のスキーマは、worklist-config-binding.jar ファイルから schema-0.xsd として参照できます。この記述子ファイルの例については、「タスク URL カリキュレータ記述子ファイルの例」を参照してください。 |
APP-INF\lib
ディレクトリ内に .jar
ファイルとして存在する、または APP-INF\classes
ディレクトリ内に個々のクラス ファイルとして存在することを確認する。InstallTaskURLCalculator
ユーティリティを実行して、カリキュレータをワークリスト ホスト アプリケーションにインストールする。
Workshop for WebLogic のワークリスト用プラグインは、.taskurl
ファイルの作成時にカリキュレータを自動的にインストールします。このため、Workshop for WebLogic を使用する場合は、この作業を手動で行う必要はありません。Workshop for WebLogic を使用しない場合は、コマンドラインおよび Ant タスクを使用して、タスク URL カリキュレータをワークリスト ホスト アプリケーションにインストールできます。これらのユーティリティは、どちらも次の引数を必要とします。
.taskurl
ファイルが格納されるディレクトリへのパスです。このディレクトリは、アプリケーション ディレクトリ内にあっても、その外部にあっても問題ありません。外部のディレクトリを使用する場合は、指定したソース ディレクトリのソース .taskurl
ファイルの場所と相対的に一致するアプリケーション ディレクトリ内の場所に、.taskurl
ファイルがコピーされます。アプリケーション ディレクトリ内のディレクトリをソース ディレクトリとして使用する場合は、ファイルのコピーは行われません。
これらのユーティリティは、ソース ディレクトリから .taskurl
ファイルを検索し、ホスト アプリケーションへのデプロイのために検出されたすべてのファイルを登録します。
java com.bea.wli.worklist.build.InstallTaskURLCalculator <options>
-appRootDir
- ターゲット アプリケーションの META-INF
ディレクトリを保持します。
-calculatorSrcDir
- ターゲット アプリケーションにインストールされる .taskurl
ファイルを保持します。このディレクトリが appRootDir の子ディレクトリである場合は、ファイルのコピーは行われません。それ以外の場合は、このディレクトリに含まれる .taskurl
ファイルは、アプリケーションのルートにあるターゲット アプリケーション内の同一相対パスに再帰的にコピーされます。
<project name="MyProject">
...
<taskdef name="install-taskurlcalculator-in-app" classname="com.bea.wli.worklist.build.InstallTaskURLCalculatorTask"
classpath="${<WebLogic Integration の public.jar を含むクラスパス}"/>
<install-taskurlcalculator-in-app
appRootDir="${<ホスト アプリケーションのルート ディレクトリ>}"
calculatorSrcDir="${<カリキュレータのソース ディレクトリ>}"/>
...
</project>
次のようなタスク URL カリキュレータ記述子 (.taskurl
) ファイルをアプリケーションに作成します。
<?xml version="1.0" encoding="ISO-8859-1"?>
<java:task-url-calculator
xmlns:java="java:com.bea.wli.worklist.config"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<java:implementation-class-name>com.bea.wli.worklist.test.testURLCalculatorImpl</java:implementation-class-name>
<java:property>
<java:name>MyProperty</java:name>
<java:value>My Custom Value</java:value>
</java:property>
</java:task-url-calculator>
次の Java インタフェースを実装することで、独自のカスタム タスク履歴プロバイダを定義できます。
com.bea.wli.worklist.api.config.TaskHistoryProvider
カスタムのタスク履歴プロバイダは、1 つまたは複数のタスク プランと関連付けるか、グローバルに適用することができます。プロバイダを特定のタスク プランと関連付けた場合は、そのタイプのタスクの履歴が要求されるたびに、プロバイダが呼び出されます。プロバイダをグローバルに適用した場合は、プロバイダのデプロイメントを受け取るワークリスト システム インスタンス (スタンドアロン ワークリスト アプリケーションであれば、通常はローカル システム インスタンス) 内でそれまで適用されていたすべてのプロバイダ (ワークリストのデフォルト プロバイダを含みます) が置き換えられます。新しいグローバル プロバイダは、あらゆるタイプのタスクの履歴が要求されるたびに呼び出されます。
注意 : | すでにインストールされているカスタム プロバイダを上書きしてしまうことがあるため、タスク履歴プロバイダのグローバル適用は慎重に行ってください。 |
カスタムのタスク履歴プロバイダを使用するには、次のようにプロバイダをワークリスト ホスト アプリケーションにインストールする必要があります。
.history
) ファイルを作成する。注意 : | この記述子のスキーマは、worklist-config-binding.jar ファイルから schema-0.xsd として参照できます。 この記述子ファイルの例については、「カスタムのタスク履歴プロバイダ記述子ファイルの例」を参照してください。 |
APP-INF\lib
ディレクトリ内に .jar
ファイルとして存在する、または APP-INF\classes
ディレクトリ内に個々のクラス ファイルとして存在することを確認する。InstallTaskHistoryProvider
ユーティリティを実行して、プロバイダをワークリスト ホスト アプリケーションにインストールする。 注意 : | Workshop for WebLogic のワークリスト用プラグインは、その他のモジュールとともにプロバイダを自動的にインストールしません。プロバイダをデプロイするには、実行時にプロバイダを手動でインストールする必要があります。 |
ワークリストには、カスタム プロバイダをワークリスト ホスト アプリケーションにインストールするためのコマンドラインと Ant タスクが用意されています。これらのユーティリティは、どちらも次の引数を必要とします。
.history
ファイルが格納されるディレクトリへのパスです。このディレクトリは、アプリケーション ディレクトリ内にあっても、その外部にあっても問題ありません。外部のディレクトリを使用する場合は、指定したソース ディレクトリのソース .history
ファイルの場所と相対的に一致するアプリケーション ディレクトリ内の場所に .history
ファイルがコピーされます。アプリケーション ディレクトリ内のディレクトリをソース ディレクトリとして使用する場合は、ファイルのコピーは行われません。
これらのユーティリティは、ソース ディレクトリから .history
ファイルを検索し、ホスト アプリケーションへのデプロイのために検出されたすべてのファイルを登録します。
java com.bea.wli.worklist.build.InstallTaskHistoryProvider <options>
-appRootDir
- ターゲット アプリケーションの META-INF
ディレクトリを保持します。
-providerSrcDir
- ターゲット アプリケーションにインストールされる .history
ファイルを保持します。このディレクトリが appRootDir の子ディレクトリである場合は、ファイルのコピーは行われません。それ以外の場合は、このディレクトリに含まれる .history
ファイルは、アプリケーションのルートにあるターゲット アプリケーション内の同一相対パスに再帰的にコピーされます。
<project name="MyProject">
...
<taskdef name="install-taskhistoryprovider-in-app" classname="com.bea.wli.worklist.build.InstallTaskHistoryProviderTask"
classpath="${<WebLogic Integration の public.jar を含むクラスパス}"/>
<install-taskhistoryprovider-in-app
appRootDir="${<ホスト アプリケーションのルート ディレクトリ>}"
providerSrcDir="${<プロバイダのソース ディレクトリ>}"/>
...
</project>
次のようなタスク履歴プロバイダ記述子 (.history
) ファイルをアプリケーションに作成します。
<?xml version="1.0" encoding="ISO-8859-1"?>
<task-history-provider
xmlns ="java:com.bea.wli.worklist.config"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<global-handler>false</global-handler>
<!-- グローバル プロバイダでない場合は 1 つまたは複数の handled-task-type-id
要素 -->
<handled-task-type-id>/MyFolder/MyTaskPlan:1.0</handled-task-type-id>
<handled-task-type-id>/MyFolder/MyOtherTaskPlan:2.0</handled-task-type-id>
<implementation-class-name>
com.acme.mystuff.MyTaskHistoryProvider
</implementation-class-name>
<!-- プロバイダを正しく記述するために必要な任意のプロパティ。
文字列値のみがサポートされる。これは TaskHistoryProvider 実装の
setProperties メソッドに渡される -->
<property>
<name>ConstructorProp1</name>
<value>Value for prop 1</value>
</property>
</task-history-provider>