是否可以从servlet或过滤器开始对话

时间:2015-10-05 15:12:40

标签: java servlets jboss7.x java-ee-6 java-ee-7

我正在使用java ee 6并试图找出是否可以从servlet或过滤器开始对话。到目前为止,我有以下代码:

方法:

private static HttpConversationContext getHttpConversationContext() {
    return Container.instance().deploymentManager().instance().select(HttpConversationContext.class).get();
}

然后我有:

final HttpConversationContext httpConversationContext = getHttpConversationContext();
httpConversationContext.associate((HttpServletRequest) request);
httpConversationContext.getCurrentConversation().begin(conversationId);

但这似乎不起作用。此外,当我尝试使用以下代码检查对话是否开始时:

Conversation conversation = httpConversationContext.getConversation(conversationId);

对话始终为null,因为前面的代码不起作用。

有任何线索如何以正确的方式做到这一点?

请注意虽然标签中使用了jboss7,但我不介意是否发布了与其他服务器相关的解决方案,即。 wildfly。

非常感谢。

1 个答案:

答案 0 :(得分:0)

如果您想以Java EE方式进行,那么您应该将一个Conversation Scoped会话bean注入到Servlet中。