CDI在LIBERTY PROFILE中的错误

时间:2014-03-13 10:55:47

标签: websphere cdi websphere-liberty

我遇到了自由配置文件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。

有人得到同样的错误吗?

我无法发布代码因为我必须把整个项目,也许我可以附加项目......

由于

2 个答案:

答案 0 :(得分:0)

你注射的田地"记录器"需要是Serializable,因为它注入的bean位于钝化范围内。如果你坚持注射记录器,你需要将它包装成可序列化的东西。

答案 1 :(得分:0)

注入的对象已序列化。

问题在于接口不是,并且在运行时对象是可序列化的。

在调用IBM支持后,IBM实验室在websphere liberty profile v8.5.0-5中发现错误,并将其修复为v8.5.5.6

谢谢