问题标签 [codi]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
3012 浏览

java-ee-6 - 如何将 EJB 注入抽象 CDI 类?

我在将 EJB 注入作为我的 JSF CDI bean 的父类的抽象类时遇到问题。在我的项目中,我使用的是 MyFaces CODI 1.0.5 (ViewScope)、Omnifaces 1.3、PrimeFaces 3.4.2 和 GlassFish 3.1.2。

应用程序是 EAR,抽象类在 EJB 模块中,JSF CDI bean 在 WAR 模块中:

我的抽象类:

我的 CDI 豆:

当我部署应用程序并访问 JSF 页面时,会创建 UserListAction 但未注入 CriteriaFacadeLocal 并且我在 @PostConstruct 方法中以 NullPointerException 结束。

当我更改 UserListAction 并添加一个空的 @PostConstruct 方法时,注入 CriteriaFacade 并且一切正常:

我在每个模块中都有 beans.xml。但是为什么我的 CDI bean 中必须有一个空的 @PostConstruct 方法?放置在 EJB 模块中的抽象类是否存在问题?

0 投票
1 回答
724 浏览

jsf-2 - 如何使用 JBoss AS 7 和 Mojarra 2.1 配置 Apache MyFaces CODI?

我已经安装并运行了 JSF 2 的 Apache CODI。我想将“isUrlParameterSupported”更改为 false,而不是默认的 true。

目前无法将我的项目切换到 OpenWebBeans。我目前没有使用 MyFaces 本身,只是 CODI 扩展。

我正在使用以下罐子:

理想情况下,我希望能够使用一个简单的文本属性文件。

0 投票
0 回答
83 浏览

java - myfaces codi in ear 不拦截@Closeconversationgroup

我有一些 myfaces codi 的例子,但没有一个显示耳朵的结构。还有我如何@closeConversationGroup在耳朵项目中使用,因为注释的拦截没有被拾取。

以下是代码的外观:

这是java代码:

这是第2页代码:

而且我的 closeconversation 组不起作用,注释@CloseConversationGroup(group=ConversationGroup1.class)根本不起作用,我可以看到 中有拦截器myfaces-extcdi-jsf20-module-impl,但它没有被激活。只有当我自己复制 annocations 时它才会激活bean.xml。关于发生了什么的任何想法?

提前致谢

谢谢

0 投票
2 回答
2099 浏览

jsf-2 - 打开一个新选项卡不要创建新的 ViewAccessScoped bean

我有一个示例用例:我有一个使用 GET 参数“id”的编辑页面。例如。编辑?id=1

此编辑页面由 ViewAccessScoped (CODI) Bean 支持。

在这个编辑页面中,我有一个数据表,其中包含链接到同一个“编辑”页面的链接,但具有另一个 ID。(例如,编辑?id=2)

问题是窗口正确打开,但使用的是同一个bean!所以我正在编辑相同的部分......

我在@PostConstruct 中放置了一个日志,它是被多次调用的同一个bean 引用。(即使是新身份证!)

我的问题是,当我单击链接时,如何告诉 JSF 创建一个新的 ViewAccessScoped 支持 bean,而不是重新使用实际使用的支持 bean?

0 投票
2 回答
486 浏览

java-ee-6 - 在 Arquillian 中测试时如何使用 ViewAccsessScope bean?

当我使用来自 CODI 的 @ViewAccsessScoped bean 时,在使用 Arquillian 测试我的 bean 时出现以下错误。

org.jboss.arquillian.test.spi.ArquillianProxyException: org.jboss.weld.context.ContextNotActiveException : WELD-001303 范围类型 org.apache.myfaces.extensions.cdi.core.api.scope.conversation.ViewAccessScoped 没有活动上下文

有没有办法让它工作?

//三连

0 投票
0 回答
723 浏览

spring - CODI ViewAccessScoped 会话行为

我有一个使用 JSF 2.0 和 Primefaces 3.4.2.、Spring 3 和 Hibernate 4 构建的原型小型应用程序

对于 ManagedBeans,我将范围用作@ViewAccessScoped. 我注意到,在对数据表进行分页和选择行时,所有会话都使用相同的视图会话,即如果我使用 Chrome 选择数据表中的第三行,并且如果我使用 Firefox 或 Internet Explorer 打开另一个浏览器会话,我可以看到选择数据表的第三行的同一会话。

这可能是什么原因?如何确保为不同的用户(会话)创建不同的会话

这就是它在 ManagedBeans 中的定义方式

包名ViewAccessScoped

对此的任何见解或帮助都是非常可观的。

0 投票
0 回答
263 浏览

spring - 混合 CODI @ViewAccessScope 和 Spring ManagedBeans

我正在使用 JSF 2.0 和 Primefaces 3.4.2.、Spring 3.1.1 和 Hibernate 4.0.1

我混合使用了 CODI@ViewAccessScoped和 Spring ManagedBeans,因此我在会话方面遇到了一些问题,详情请点击此处

我想删除 Spring ManagedBeans 并将 CODI@ViewAccessScoped用于我的小型应用程序。

为了仅使用 CODI,我必须采取哪些步骤@ViewAccessScoped?我只需要删除基于 Spring 的 ManagedBeans。

任何帮助都是非常可观的。

应用程序上下文.xml

面孔-config.xml

web.xml

托管豆

EmployeeServiceImpl

EmployeeDAOImpl

0 投票
2 回答
228 浏览

jsf-2 - MyFaces CODI 两次实例化 bean

我正在将 JSF 2.1 应用程序迁移到 CDI。为了能够使用@javax.faces.bean.ViewScoped注释,我正在尝试使用 MyFaces CODI,如此处所建议

该应用程序似乎按预期工作,但通过记录我注意到我的每个@Namedbean 的构造函数在我第一次访问它时被调用了两次。但是,它们init()带有注释的方法@PostConstruct只执行一次。

当这些 bean 第二次或第 n 次使用时,它们的构造函数只按正常预期调用一次。

当我从我的应用程序中删除 MyFaces CODI jar 时,它不会立即发生,所以我确信它是由它引起的。

这是正常行为吗?如果是,为什么?它对性能有影响还是会导致任何问题?

我觉得这可能与代理创建有关,但在我看来并不是 100% 清楚,所以我非常感谢您的解释。

我的配置:

  • JSF 2.1
  • 莫哈拉 2.1.6
  • MyFaces CODI 1.0.5(使用完整包或核心 + JSF 2.0+ 测试)
  • (不相关:Primefaces 3.5 和 Omnifaces 1.5)
  • Glassfish 3.1.2,也在 Jboss EAP 6.0 上进行了测试,结果相同

谢谢。

0 投票
3 回答
962 浏览

jakarta-ee - 如何在 deltaspike 中使用 ViewAccessScope?

我在我的 jsf 应用程序中使用了 Apache CODI ViewAccessScope。但是当我将 Apache CODI 迁移到 DeltaSpike(0.4 版)时,我没有找到 VViewAccessScope。谁能告诉我,如何将 ViewAccessScope 与 DeltaSpike 一起使用

0 投票
2 回答
314 浏览

jsf-2 - WELD-001408 & ValidationInterceptor & Glassfish 4.0x & EAR & CODi 无法部署?

我正在将我们的 JSF/Primefaces 3.5.x GF 3.1.1 应用程序迁移到 GF 4.0。它是一个带有战争的 EAR,一个 EJB-jar 和充满 jar 的库。

WAR 有 WEB-INF/lib 有:

'org.apache.myfaces.extensions.cdi.core:myfaces-extcdi-core-api:1.0.5', 'org.apache.myfaces.extensions.cdi.core:myfaces-extcdi-core-impl:1.0.5 ',
'org.apache.myfaces.extensions.cdi.modules:myfaces-extcdi-jsf20-module-api:1.0.5', 'org.apache.myfaces.extensions.cdi.modules:myfaces-extcdi-jsf20-module -impl:1.0.5',

除了 PF 的东西和 Omnifaces 和其他一些依赖项(codi messages api & impl 也包括在内——必须是传递的 dep)。注意: WAR 中没有 CODi Validation 内容,也没有任何 hibernate jars

EAR Lib 也有一堆罐子——它不复制 CODi 的东西并省略 PF,它确实包括一些 spring 和 velocity 的东西、apache commons 和其他一些东西——再次没有 CODi 验证器的东西或 hibernate 的东西。

部署时我得到:

我已经看到了与此相关的另外 2 个 SO 帖子:

WELD-001408 类型 [Validator] 的依赖关系不满足

&

CDI / Weld Unsatisfied dependencies proglem

两者都没有说明问题,因为两者都表明 CODI 验证器是问题的根源——但我的部署单元(或 EAR)中根本没有这个。

有没有办法解决这个问题?

切换到 DeltaSpike(和/或 OS890 codi DS 组合)不是一个直接的选择;也不用ee7。我需要尝试让它与尽可能少的代码更改一起工作。

有任何想法吗?