0

我们正在尝试在 WebLogic 12c 容器上使用 Arquillian 运行 JSFUnit,但遇到了一些问题。

首先,当我们尝试使用@InitialPage 注解注入JSFServerSession 和JSFClientSession 时,JSFServerSession 总是返回为null。

其次,我们尝试通过创建新 JSFSession 并从中获取 JSFServerSession 和 JSFClientSession 的传统路线来解决该问题。一旦我们运行第二个测试,我们就会得到“java.lang.IllegalStateException:找不到 HttpSession。确保 JSFUnitFilter 已经运行并且您的测试扩展了 org.apache.cactus.ServletTestCase。”

这似乎很随意,因为有时我们会运行测试并且它通过了。有时下一次它会失败。或者添加看起来不应该相关的行,将引发“找不到 HttpSession”错误。

似乎它无法处理多次创建 JSFSession 或者服务器上有一些超时,即使测试战正在取消部署,也需要超时。有什么想法吗?

4

1 回答 1

0

我不确定这是否也适用于您的问题,但我在 JBoss 7 上遇到了类似的问题。通常可以通过以下方式解决问题:

  • 使用Servlet 3.0应包含相关过滤器的协议web.xml
  • 如果这没有帮助(就像我的情况一样),请使用此解决方案:https ://stackoverflow.com/a/17036005/1667977
  • 无论如何,尽量避免自己创建会话
于 2013-06-11T04:01:53.390 回答