外部のサードパーティ サービスに接続するBeanJEE6
内でスレッドを使用しても問題ありません。CDI
@Singleton
@Produces
私はまさにこれを行うJEE6戦争を持っています:
import javax.ejb.Singleton;
import javax.ejb.Startup;
import javax.enterprise.inject.Produces;
import javax.inject.Inject;
@Singleton
@Startup
public class MyBean {
@Produces
public SomeService getSomeService() {
/** Retry a number of times to connect to some service **/
SomeService someService = retry("127.0.0.1");
return someService;
}
}
retry メソッドは、サービスへの接続を何度も試行します。a を使用して、Executors.newSingleThreadScheduledExecutor()
x 秒ごとに接続を再試行します。
私はJEE7
彼らがこの種のことのために Managed Executor を追加したと信じています。しかし、で通常の Executor を使用しても問題ありませんかJEE6
。