【发布时间】:2013-03-25 03:59:40
【问题描述】:
有两种服务:
BookService {
add(Book book);
...
}
和
MsgService {
add(String msg);
...
}
这两个服务是独立的。现在我想要这个:
XService {
@Transactional
addBook(Book book) {
BookService bs;
MsgService ms;
bs.add(book);
ms.add("add a new book" + book);
}
}
在这种模式下,BookService 和 MsgService 就像 atom 服务,使用 Dao 层做基本的 CRUD 操作,可能是事务性的,但不会暴露给客户端;其中一个就是 XService,它调用多个原子服务来完成单个事务功能(或者说完整的业务逻辑),例如 addBook()。
这是我的问题:
1,这个模式可以吗?
2,如果有,XService 应该在哪一层? X 的最佳名称是什么?
3、XService 中的@Transactional 有效吗?
【问题讨论】:
标签: java spring design-patterns transactions spring-transactions