gpt4 book ai didi

java - MyFaces CODI 和 Wildfly 尚未一起使用?

转载 作者:行者123 更新时间:2023-12-01 13:43:25 27 4
gpt4 key购买 nike

我目前正在尝试从 JBOSS Weld AS7 切换到 Wildfly 8 Beta。我编译了它,但是当尝试加载页面本身时,出现以下异常:

Caused by: java.lang.IllegalStateException: class org.jboss.weld.context.SerializableContextualFactory$PassivationCapableSerializableContextual is no valid conversation scoped bean
at org.apache.myfaces.extensions.cdi.core.impl.scope.conversation.ConversationContextAdapter.get(ConversationContextAdapter.java:100) [myfaces-extcdi-bundle-jsf20-1.0.5.jar:1.0.5]
at org.jboss.weld.context.PassivatingContextWrapper$AbstractPassivatingContextWrapper.get(PassivatingContextWrapper.java:70) [weld-core-impl-2.1.0.CR1.jar:2013-09-26 16:53]
at org.jboss.weld.bean.proxy.ContextBeanInstance.getInstance(ContextBeanInstance.java:81) [weld-core-impl-2.1.0.CR1.jar:2013-09-26 16:53]
at org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:78) [weld-core-impl-2.1.0.CR1.jar:2013-09-26 16:53]
at myprojectspace.project.OpenScenarioBean$Proxy$_$$_WeldClientProxy.getProjectList(Unknown Source) [classes:]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_09]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_09]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_09]
at java.lang.reflect.Method.invoke(Method.java:601) [rt.jar:1.7.0_09]
at javax.el.BeanELResolver.getValue(BeanELResolver.java:363) [javax.el-3.0-b07.jar:3.0-b07]

导致这种情况的类,即 OpenScenarioBean 是主页的支持 bean,声明如下:

@Named
@ViewAccessScoped
public class OpenScenarioBean implements Serializable {
// ...
}

如果我删除 ViewAccessScoped 并将其替换为例如javax.enterprise.context.ConversationScoped 网页将毫无异常地显示。

有人知道如何解决这个问题吗?

我的猜测是:CODI 尚未与 Wildfly 进行任何集成,因为在部署过程中我还收到了一些警告,例如

12:26:36,103 WARN  [org.jboss.weld.Bean] (MSC service thread 1-7) WELD-001529: An   
InjectionTarget is created for a class
org.apache.myfaces.extensions.cdi.jsf2.impl.listener.request.CodiFacesContextFactory which
does not have any appropriate constructor.

但如果是这样的话,并且我想要像 ViewAccessScoped 这样的东西,我想我应该切换到 DeltaSpike 并希望它们与 Wildfly 的集成速度更快? (但该项目还处于早期阶段)。

最佳答案

我不太确定 CODI 支持,但应该有 MyFaces support现在。它是 Multi-JSF 的一部分支持。如果您使用 MyFaces 支持提供的安装脚本进行安装并将 CODI 添加为模块,则可能会起作用。我只是猜测,因为我对 CODI 不太了解。

我确实找到了JIRA关于 CODI 支持的问题,但看起来它是 JBoss AS 7 遗留下来的。

关于java - MyFaces CODI 和 Wildfly 尚未一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20517987/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com