1

非同期 EJB を使用して、Future オブジェクトで結果を求めるにはどうすればよいですか? 誰かが完全な例で私を見せてくれますか?

4

1 に答える 1

6

EJB 3.1 より前では、非同期処理を実行する場合は JMS と MDB を使用する必要がありましたが、EJB 3.1 では、非同期で呼び出す必要があるメソッドに @Asynchronous アノテーションを付けた単純なセッション EJB を使用できます。

@Stateless
@Remote(HelloEjbAsynchronousRemote.class)
public class HelloEjbAsynchronous implements HelloEjbAsynchronousRemote {

@Asynchronous
@Override
public Future<String> ejbAsynchronousSayHello(String name){

メソッドに戻り値がある場合、メソッドは Future の実装である AsyncResult オブジェクトを返す必要があります。

return new AsyncResult<String>("Hello "+name);
于 2012-07-20T06:10:02.297 に答える