同期ビジネストランザクションの開始と終了
次に、メソッド checkout() が呼び出されるたびに "Checkout" と呼ばれるビジネストランザクションが開始されるコード例を示します。ビジネストランザクションは、メソッドが戻ったときに終了します。try または finally ブロックでメソッド本体をカプセル化すると、メソッド自体が例外をスローした場合でも、ビジネストランザクションを終了します。それ以外の場合は、最後まで到達せずに終了します。
public String checkout(List<ItemOrders> orders) {
Transaction transaction = null;
try {
transaction = AppdynamicsAgent.startTransaction("Checkout", null, EntryTypes.POJO, false);
/*******************
* Method Body Here
*******************/
} finally {
if (transaction != null) {
transaction.end();
}
}
}
または、try-with-resources パターンを使用することができます。
public String checkout(List<ItemOrders> orders) {
try (Transaction transaction = AppdynamicsAgent.startTransaction("Checkout", null, EntryTypes.POJO, false)) {
/*******************
* Method Body Here
*******************/
}
}
この場合、try ブロックが終了すると、ビジネストランザクションが終了します。