我遇到了自由配置文件CDI的问题。
我有一个应用程序,它在WAS 8完整服务器上工作正常,当我将它部署到自由配置文件时,我得到以下错误:
ERROR]具有钝化能力的bean必须满足具有钝化能力的依赖性。 Bean:SecurityObserver,Name:null,WebBeans类型:MANAGED,API类型:[java.io.Serializable,java.lang.Object,br.gov.frameworkdemoiselle.internal.implementation.SecurityObserver],限定符:[javax.enterprise.inject .Any,javax.enterprise.inject.Default]不满足。有关注入点的详细信息:字段注入点,字段名称:记录器,Bean所有者:[SecurityObserver,名称:null,WebBeans类型:MANAGED,API类型:[java.io.Serializable,java.lang.Object,br.gov .frameworkdemoiselle.internal.implementation.SecurityObserver],限定符:[javax.enterprise.inject.Any,javax.enterprise.inject.Default]] 具有钝化能力的bean必须满足具有钝化能力的依赖性。 Bean:SecurityObserver,Name:null,WebBeans类型:MANAGED,API类型:[java.io.Serializable,java.lang.Object,br.gov.frameworkdemoiselle.internal.implementation.SecurityObserver],限定符:[javax.enterprise.inject .Any,javax.enterprise.inject.Default]不满足。有关注入点的详细信息:字段注入点,字段名称:记录器,Bean所有者:[SecurityObserver,名称:null,WebBeans类型:MANAGED,API类型:[java.io.Serializable,java.lang.Object,br.gov .frameworkdemoiselle.internal.implementation.SecurityObserver],资格:[javax.enterprise.inject.Any,javax.enterprise.inject.Default]]
解决方案是禁用自由配置文件CDI并使用WELD。
有人得到同样的错误吗?
我无法发布代码因为我必须把整个项目,也许我可以附加项目......
由于
答案 0 :(得分:0)
你注射的田地"记录器"需要是Serializable,因为它注入的bean位于钝化范围内。如果你坚持注射记录器,你需要将它包装成可序列化的东西。
答案 1 :(得分:0)
注入的对象已序列化。
问题在于接口不是,并且在运行时对象是可序列化的。
在调用IBM支持后,IBM实验室在websphere liberty profile v8.5.0-5中发现错误,并将其修复为v8.5.5.6
谢谢