给定由 a 支持的FooService
withread
和write
操作repository
,我想提供它的异步变体以在Spring
REST Web 服务中使用(可能会使用Akka
它,因为它已经是其他问题的候选者......)。
到目前为止,我有冗长且有些笨拙的变体
class AsyncFooService extends FooService {
private final ExecutorService executor = Executors.newCachedThreadPool();
private final FooService delegate = ...
@Override
public void writeSomeThing(Obj o) {
executor.submit(new Runnable() {
@Override
public void run() {
delegate.writeSomeThing(o);
}
});
}
// repeat same override & executor semantics for all write* routines
}
在实现对服务的异步操作方面还有哪些好的变体?
为了限制范围,我们不要直接考虑Proxies
,因为它们本身并没有提供解决方案。