问题标签 [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 投票
0 回答
213 浏览

java - deltaspike 集成@ConversationGroup?

最近,我在闲暇时间一直在尝试和测试 deltaspike。它说它集成了 codi 和 seam 3。但是我怎么看不到 @conversationGroup 呢?

任何线索任何人?

谢谢

0 投票
1 回答
1811 浏览

websphere-liberty - 在 Websphere 自由配置文件 8.5.5 上具有 ejb 无状态的 CODI

如果 web 应用程序包含 @Stateless ejb,我无法启动在 websphere 自由配置文件 8.5.5 上嵌入 CODI 的 web 应用程序。

我得到这个例外:

我已经声明只有当项目中存在 ejb 时才会出现问题(在我的情况下是 @Stateless ejb)。

在这种情况下,应用程序上下文在服务器启动和 webapp 安装/部署时被初始化。这里没问题。

当 webapp 处理第一个 HTTP 请求时,它FacesServlet被初始化并被CodiNavigationHandler实例化。

该方法CodiNavigationHandler.isAddViewConfigsAsNavigationCaseActivated()在构造函数中被调用并尝试获取对 CODI 的引用JsfModuleConfig。这JsfModuleConfig有一个 @ApplicationScoped 注释,并且 beanManager 尝试获取应用程序上下文。

此应用程序上下文已创建(当部署 webapp 时)但LibertyContextsService.initApplicationContext(String)尚未调用。因此 ThreadLocal 变量上的应用程序上下文为 nullLibertyContextsService.applicationContexts并发生错误:

重现:

注意:如果您删除 ejb 上的 @stateless,应用程序将正常工作

0 投票
0 回答
133 浏览

jsf-2 - Myfaces CODI 与 ClientSideWindowHandler - IE9 后退按钮行为

如果在我的 JSF 应用程序中使用 CDI 和 MyFaces CODI,我有一个这样的链接:

在我单击链接并导航到第 2 页后,在 IE9 中按后退按钮不会返回上一页,而只是重新渲染第 2 页。我可以长按按钮以调出页面列表并选择最后一个。列表顶部是 CODI 的窗口处理程序使用的“正在加载...”页面。

当 MyFaces CODI 配置为使用ClientSideWindowHandler.

Firefox、Chrome 和 IE11 按预期工作(IE10 未经测试)。不幸的是,大多数用户将是 IE9。

我正在使用 CODI 为窗口范围提供的功能,因此没有处理程序就无法做到。

有谁知道解决这个问题的方法?

0 投票
1 回答
85 浏览

java - MyFaces CoDI - 对话/WindowContext

是否有可能在 MyFaces CoDI 中的对话或其上下文之间切换。我的具体用例是我想实现一种 CustomerBeans 的历史,包括一个 CustomerEntity。如果选择了其中一个条目,则应加载适当的对话/上下文。

我目前的实现是通过 JBoss Seam 2 实现的,并且可以切换对话。

Manager.instance().switchConversation(selectedConversation.getId());

谢谢!

0 投票
1 回答
2440 浏览

java - 在 Apache Tomcat 7 中部署 MyFaces CODI + Weld + JSF 时出错

我是使用 JSF 的新手,我注意到 JSF 没有提供一些有用的注释,例如 @ViewAccessScoped (CODI)。为了使用 CODI,我需要使用 CDI 依赖项,所以我用 Weld 配置了我的项目。

然后,JSF + Weld + Tomcat 7 工作正常,将注释范围更改为 Weld 注释,@ManagedBean 更改为 @Named,@NamedProperty 更改为 @Inject。

否则,当我现在尝试使用 CODI 部署我的 Tomcat 服务器时,我有以下堆栈跟踪(是否使用 @ViewAccessScoped 注释等 CODI 库)并且服务器关闭:

这是一个非常奇怪的错误日志。
要点是:如何在 Tomcat 7 下将 CODI 与 JSF 一起使用?我想使用 CODI 提供的注解 @ViewAccessScoped。
CODI 与 Weld 兼容吗?这是一个非常奇怪的堆栈跟踪,因为没有 CODI,一切正常。

当我尝试使用 JSF + CODI + Tomcat 7 部署我的项目时,预计我会遇到一些错误,因为 CODI 在某些 CDI 库上工作(但我的项目工作,没有使用 CODI)。然后,复制的堆栈跟踪的主要部分是:

下面列出了我正在使用的库:

我尝试使用 TomEE,我需要的唯一库是myfaces-extcdi-bundle-jsf20-1.0.6.jar并且一切正常

否则我不能使用 JSF v2.2+。当前配置的带有 TomEE 的 JSF 版本是2.1 。所以,我不想迁移到 TomEE,因为该标签只能在 2.2+ 版本中访问

0 投票
1 回答
177 浏览

java - @Inject 的刻板印象可能吗?

我的应用程序中有一个重复出现的注释,它注入了一个由 CDI 生产者创建的对象。

我想知道是否可以写一个刻板印象“@FlatGeometryLiveInject”,这样我只需要写

并且对象被注入。这对 CDI 1.1 或任何 DI 框架是否可行?

0 投票
0 回答
109 浏览

jsf - 为什么JSF参数传递有时参数为空?

我将使用的 managedbean (myBean) 作为参数传递给另一个 managedbean(PersonRoleSearch),以便我可以调用第一个 bean (myBean) 的方法。但有时参数为空,因此我得到空指针异常。我无法解释为什么会发生这种情况。

继承 Personrolesearch 的 init 方法

可能是什么原因?

0 投票
1 回答
401 浏览

jsf - 为什么我的 ViewAccessScoped Bean 没有被销毁?

我目前正在调查我编写的应用程序中的内存泄漏。在对堆转储进行一些分析后,我发现我将注意力集中在 MyFaces CODI 的奇怪行为上。

我大量使用 ViewAccessScope 并最近修改了我的代码以记录 @PostConstruct 和 @PreDestroy 回调以及相应实例的哈希码。

PostConstruct 回调按照我的预期执行,例如,当来自一个完全不同的视图时,它没有使用 bean。让我烦恼的是,从未调用过 @PreDestroy 回调(即使我(我认为我)确保在以下视图中的任何地方都没有对 bean 的引用)。

让我更加困惑的是,我编写了一个简单的小测试程序,其中包含 3 个视图,每个视图都由一个 ViewAccesScoped Bean 支持。当更改视图时,bean 会像我预期的那样被破坏,因为我来自的 bean 没有在 bean 中的任何地方引用我正在导航到的视图。

所以我想我的问题是,关于 ViewAccessScoped bean 的清理/销毁行为,除了 bean 引用之外还有其他因素需要考虑吗?

我在 JBoss AS Final 7.1.1 上使用版本 1.0.5 中的 MyFaces CODI