1

Conversation Scoped Beans を使用する JBoss AS 7.1.1 で CDI ベースのアプリケーションを実行しています。これらの Bean の 1 つを RESTeasy サービスから呼び出す必要があります。残念ながら、Conversation Scoped Bean を呼び出すと

@Inject
private ConversationBean service; 


@GET
@Produces("text/html")
@Path("/book")
public void bookTicket(Long l) {

    service.book(l);
    . . . .
} 

次のエラーが返されます。

原因: org.jboss.weld.context.ContextNotActiveException: WELD-001303 スコープ タイプ javax.enterprise.context.ConversationScoped のアクティブなコンテキストがありません

この問題の回避策はありますか?
ありがとう!

4

1 に答える 1

4

私は以前にこの質問に答えたことを知っています(または、実際に@SessionScopedは同じことだったかもしれません)。会話は、CDI のセッションに関連付けられています。JAX-RS にはセッションがないため、会話はありません。仕様セクション 6.7.4 では、Conversation スコープは JSF リクエスト中にのみアクティブになると記載されています。

会話のように機能する独自の Scope と Context を作成し、JAX-RS リクエストで使用できるようにする場合、それは確かに可能ですが、スコープを保存し、それをリクエスト。

于 2013-01-15T17:20:35.213 に答える