栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

WELD-000227:检测到Bean标识符索引不一致-分布式容器可能不适用于相同的应用程序

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

WELD-000227:检测到Bean标识符索引不一致-分布式容器可能不适用于相同的应用程序

org.jboss.weld.exceptions.IllegalStateException:WELD-000227:检测到Bean标识符索引不一致-
分布式容器可能不适用于相同的应用程序

当可序列化的类的Weld /
CDI代理实例反序列化后(例如,在Tomcat重新启动后)发生不兼容的更改时,将引发此异常。在开发过程中,您很可能在未触及的情况下就编辑了可序列化会话或查看范围托管的bean

serialVersionUID
。或者,您已经添加/更新/删除了与CDI相关的库。如果您在Eclipse中使用Tomcat,请在Eclipse的
Servers 视图中右键单击Tomcat服务器条目,然后选择 Clean Tomcat Work Directory
。这将清除序列化的会话,从而解决此异常。

每当您在可序列化的类中进行不兼容的更改(例如添加新的实例字段)时,都需要重新生成该

serialVersionUID
值(以防您正在IDE生成该值),或将其值加1(以防万一)您使用的是默认设置
1L
)。

因此,这不一定是Weld中的错误,但在我看来,它应该已经丢弃了不兼容的代理实例,创建了一个新的实例并打印了警告消息,而不是将此异常完全阻止了该请求。

如果您实际上正忙于开发并且每次都遇到此异常,请考虑关闭服务器中的会话持久性。如何执行此操作取决于所使用的服务器。对于Tomcat 7,请参阅The
Manager
Component文档中的
“ Disable Session
Persistence
” 部分。

特定消息 “分布式容器可能无法与相同的应用程序一起使用”
顺便说一句,指的是当您在具有会话共享(例如云)的群集环境中运行Web应用程序时的可能情况,其中至少有一个服务器具有不同版本的Web应用程序。这种情况将在生产中导致此异常。

也可以看看:

  • Java-什么时候必须更改serialVersionUID?
  • 每次更改代码后,org.jboss.weld.exceptions.IllegalStateException:WELD-000227


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/422049.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号