0

Java クラスを使用してカスタム BW XPATH 関数を作成しましたが、期待どおりに動作しました。

しかし今、私はすべてのカスタム関数を含む JAR ファイルを作成したいと考えています。私たちは会社のためにそれらを TIBCO LIB に配置したいと考えています。個々のクラス ファイルを使用せずにこれを行う方法について、任意の手順を要求します。この方法で、関数メニューから他の開発者がすぐに利用できる一連の Java ファイルを追加できます。

エイリアスを定義しようとしましたが、今のところオプションは by のみです:

  1. すべての関数を使用し、すべての依存関係クラスを jar に保持する単一のクラスを作成する
  2. jar を LIB に配置します。
  3. カスタム Java 関数を定義してクラスをロードする

この ear では、すべてのクラスを含める必要はなく、主要なクラスのみが ear でパッケージ化されています。

私がまさに試みていることは、デザイナーの xpath 関数オプションにある BW 関数に似ています。

JARを配置し、どこかで構成を更新すると、これを解決できます。これについて大きなコミュニティの助けを求めています。

4

1 に答える 1

2

必要なすべてのクラスを作成し、コンパイルされたクラスを jar ファイルの下にラップできます。この jar ファイルをクラスパスの下に配置します。ここにいくつかのポインタがあります:

  1. クラスのコンパイルに使用された Java のバージョンと、designer.tra/bwengine.traで使用されているバージョンを確認してください。

  2. クラスはメインメソッドを持っている必要はありません

  3. 使用できるようにするには、クラスでSerializableを実装する必要があります

  4. jar ファイルをBW_HOME/version no/hotfix/libディレクトリに配置します。

  5. 既にデザイナが起動している場合は、jar ファイルを配置した後に再起動してください。

    クラスのメソッドを呼び出す方法を知っていると仮定します。それが役立つかもしれない場合に備えて、ここにいくつかの情報を追加します

BW は、Java でできるように Java メソッドを呼び出すことができます。つまり、言及したメイン メソッドを呼び出す代わりに、Java クラスをインスタンス化し、そのメソッドを呼び出すことができます。これは、次の 2 つの方法で行うことができます。

  1. jms、jdbc などの shareconnection のようにクラスのグローバル オブジェクトを作成し、これをプロセス全体で使用します。
  2. 各ジョブで必要な場合は、Java クラスをインスタンス化する Java メソッド アクティビティを用意し (ここでコンストラクターを選択)、この出力を別の Java メソッド アクティビティの入力に渡し、インスタンス化されたクラス オブジェクトとメソッド パラメーターを受け取るとよいでしょう。お役に立てれば。
于 2015-02-19T02:15:11.153 に答える