1

3 つの Java 埋め込みアクティビティ (A、B、C) を持つ BPEL (findRules など) でプロセスを作成しています。そして、すべての Java Embed アクティビティにインポートする必要がある Java クラス (Rule.java) が 1 つあります。

また、Rule.java A アクティビティのインスタンスを作成すると、B および C アクティビティで同じインスタンスを使用できますか。Aでいくつかのビジネスロジックを実行していて、BとCの更新された変数にアクセスしたかったのですが、BとCには新しいインスタンスがあるため、それらの更新された変数を見つけることができません。

4

2 に答える 2

1

Oracle SOA スイートを使用している場合は、非常に汚い方法ではありますが、これを行う方法があります。古い W​​LI タグは引き続き使用できます。これにより、コードの移植性が失われることに注意してください。

<jpd:javacode xmlns:jpd="http://www.bea.com/wli/jpd" >
public void f() {
    LOGGER.log("Some log statement");
}
</jpd:javacode>

次に、この Java メソッドf()を使用して、wli と同じ方法で (jpd:nodejpd:methodNameタグを使用)

于 2011-04-19T13:30:57.190 に答える
0

Java Embedded アクティビティは BPEL 標準の一部ではないため、使用している BPEL ツールを知らなければ、適切な答えを出すことはできません。ただし、設計の観点からは、ミドルウェア ベンダーはそのようなアクティビティを分離したほうがよいと思います。BPEL プロセスは、通常、長時間実行されるように意図されており、ハードウェアおよびソフトウェアのクラッシュに耐えることができます。Java オブジェクトを特定のアクティビティから見えるようにすると、IMO はこれらの概念を破ることになります。

于 2011-04-16T08:03:39.650 に答える