2つのサービスがあります:
BookService {
add(Book book);
...
}
と
MsgService {
add(String msg);
...
}
2つのサービスは独立しています。今私はこれが欲しい:
XService {
@Transactional
addBook(Book book) {
BookService bs;
MsgService ms;
bs.add(book);
ms.add("add a new book" + book);
}
}
このパターンでは、BookServiceとMsgServiceはアトムサービスに似ており、Daoレイヤーを使用して基本的なCRUD操作を実行し、トランザクションである可能性がありますが、クライアント側には公開されません。XServiceは、addBook()のような単一のトランザクション関数(または完全なビジネスロジック)を実行するために複数のアトムサービスを呼び出します。
ここに私の質問があります:
1、このパターンは大丈夫ですか?
2、もしそうなら、XServiceはどのレイヤーにあるべきですか?Xの最高の名前は何ですか?
3、XServiceの@Transactionalは機能しますか?