私はMasterEJB内に複数のEJBの構成を持っています。 MasterEJB自体が参照されているすべてのEJBを実行しています。 MasterEJB#が実行されるまでの方法はmyA.doSomethingWhichTakesAges();
、myB.doSomethingWhichTakesAges();
とmyC.doSomethingWhichTakesAges();
()が任意の別の発信者から外部実行してはならないこと1つの "マスター" EJBが処理されるまで実行を避けるためにEJBのセットをロックする方法はありますか?
@Singleton
public class MasterEJB {
@EJB
A myA;
@EJB
B myB;
@EJB
C myC;
@Lock(LockType.WRITE)
public void execute() {
myA.doSomethingWhichTakesAges();
myB.doSomethingWhichTakesAges();
myC.doSomethingWhichTakesAges();
}
}
問題であるが、適切に実行される:例を参照してください。
しかし、これを達成する方法は?
私はJEE7コンテナの午前(Wildfly 8/Wildfly 10)
は複数回実行されます()。 – Jaumzera
Jaumzera、execute()は一度だけ実行できます(並列実行なし) – cilap
どのような種類のSessionBeans A、B、Cがありますか?そして、彼らのメソッド "doSmethingWhichTakesAges"はどうですか?彼らは後で走れる? – Jaumzera