当前位置: 首页 > 知识库问答 >
问题:

@SessionScoped引发异常。(LifecycleException-“UserSession是用无效的作用域注释的”)

厍光霁
2023-03-14

到目前为止,我使用JSF实现的(但不推荐使用的)ManagedBeans作为我的WebApplication。

在我把它改成CDI-beans之后。(javax.enterprise.context.*)

import javax.enterprise.context.SessionScoped;

@SessionScoped
@Named
public class UserSession implements Serializable, HttpSessionListener
{
//.....
}
ContainerBase.addChild: start: 
org.apache.catalina.LifecycleException: java.lang.IllegalArgumentException: javax.servlet.ServletException:

共有1个答案

车明贤
2023-03-14

您的bean实现了httpsessionListener,并且不允许为侦听器、servlet或过滤器声明CDI作用域。您需要将会话侦听器相关的逻辑重构并提取到一个单独的类中。

 类似资料:
  • 到目前为止,我在我的Web应用程序中使用了JSF实现(但已弃用)的ManagedBeans。 在我把它改成CDI豆之后。(javax.enterprise.context.*) 我有以下例外: JAVAlang.IllegalArgumentException:类xbu。gbcp。豆一场UserSession在org上被注释为无效范围。阿帕奇。卡塔琳娜。果心标准语境。从com开始(Standard

  • 当我直接在db中运行查询时,我得到了正确的输出,但在hibernate中,它给出了一个。我已经确认列名只是正确的。 请让我知道如何解决这个问题。

  • 我有一个Json响应,如下所示。这里的区别是我的Json主体有一个数字作为父节点。 路径$[“22388043”][0][“移动号码”]没有结果 请就此提出意见。

  • 我有两个模块,一个从rest模板调用另一个。(管理员调用notifServer)notifServer有一个用Async注释的方法。我想在该方法中抛出一个异常,但管理员获取响应太快,并且无法在admin中捕获异常方法。 我是spring和@Async进程的新成员。我已经尝试将响应主体从NotifServer映射到C的CompletableFuture。类 。但我仍然没有得到错误响应。 此代码来自管

  • 当方法运行时,我希望抛出一个异常(在测试时)。我能做的事情很少: 存根(mock.someMethod(“某些参数”)).ToThrow(new RuntimeException()); 当(mock.someMethod(“某些参数”)).thenThrow(new RuntimeException()) 放弃..... 通常我会创建一个spy对象来调用spied方法。使用stubbing我可以

  • 我在AIX服务器上编译java源代码时出错,编码设置为IBM-1047。下面是错误, [INFO]2018-04-17 09:21:13,272[main]-编译输出消息错误:构造处理器对象时引发的异常:无效索引 [致命]2018-04-17 09:21:13273[main]-错误:构造处理器对象时引发异常:索引无效 如果我删除编码变量,并使用默认编码作为ISO-8859-1编译,我得到下面的错