同期ビジネストランザクションの開始と終了

次に、メソッド 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 ブロックが終了すると、ビジネストランザクションが終了します。