问题标签 [weld]

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 投票
1 回答
85 浏览

rest - Weld 中的错误(CDI 实现)?

操作系统:Windows 7 JVM:JavaSE 1.7 Java EE:JBoss AS 7.1.1

设想:

当我远程执行(使用休息客户端)Teservice:执行多次时,会打印相同的日期。

0 投票
1 回答
568 浏览

java - 从weld conversationScoped中的url中删除对话ID

我可以在我的项目中隐藏来自 url 的对话 ID(cid)吗?我使用焊接,我的 ManagedBean 是 ConversationScoped。如何可以从我的 url 末尾隐藏 queryString。

0 投票
1 回答
2419 浏览

java - CDI 生产者和注入

我想在我的应用程序中使用生产者,但我被困在我试图注入 bean 的地方。我得到了著名的 WELD-001409 错误。请减轻我对cdi生产者的理解。

这是我的界面:

豆子:

和制片人:

现在我正在注入 bean:

当我尝试部署项目时,我得到了 WELD-001409 错误,并且 Eclipse 还说有多个注入点。

它适用于显式命名:

这个命名有必要吗?

0 投票
3 回答
9845 浏览

jakarta-ee - 如何使用weld-se对CDI进行单元测试?

我想使用weld-se 对CDI 进行单元测试。但是,我遇到了 Weld 无法解决 bean 的问题。我创建了一个小项目来演示 gradle 的构建问题。

我在文件夹中有以下文件<project-root>

下面列出了每个文件的内容。

构建.gradle

图书.java

BookTest.java

beans.xmlbeans.xmlmain/和test/下的两个是一样的。)

当我使用 构建项目时gradle clean build,我收到一个错误,如下所示。我用谷歌搜索,但无法使其工作。

非常感谢您的帮助。

0 投票
4 回答
6609 浏览

jsf - 全局设置 CDI 会话超时

是否可以为注入 @Named bean 的所有对话对象全局设置对话超时?

我有几个 @ConversationScoped bean,例如:

这些对话的默认超时为 600000 毫秒。我想知道是否有任何方法可以全局设置对话超时,或者我需要在每个 bean 中设置它

(问题是有很多 CDI bean 并且在每个中手动设置超时不是最好的解决方案)

0 投票
2 回答
1995 浏览

events - Weld 中的 JavaEE CDI:通用事件?

我对基于泛型的特定事件处理有一个想法,但似乎 Weld 无法处理它们。我问了谷歌,但找不到替代的 CDI 扩展。

问题:是否有 CDI 扩展,可以处理泛型事件的事件传播?

以下是我遇到的明确问题。

我有三个常规事件,EntityCreated、EntityChanged 和 EntityDeleted。它们的基类定义如下:

然后事件是简单的继承类:

我这样解雇他们:

我想像这样观察它们:

启动服务器时 Weld 告诉我它无法处理泛型类型的事件。CDI 做事的方式是使用额外的限定符而不是泛型来区分它们,例如:

但是,我从那个MyHome基类触发事件,我不能只用@ProjectEvent: 它可能不是一个项目,而是另一种类型。

到目前为止,我的解决方案是完全跳过该输入并像这样处理它们:

这个解决方案还可以,但并不完美。

0 投票
4 回答
14714 浏览

java - 使用 beans.xml 文件的 CDI bean 配置

我有非常简单的 CDI bean:

现在我想text使用beans.xml. 我正在尝试使用beans.xml这样的文件:

但它不起作用。text始终为空。你能帮我弄清楚这里有什么问题吗?

换句话说:我正在寻找一个类似的解决方案,因为它在此处描述的 JSF faces-config.xml 中使用:http ://www.mkyong.com/jsf2/configure-managed-beans-in-jsf- 2-0/

0 投票
1 回答
5514 浏览

jakarta-ee - 焊接与 StartMain 不工作

我试图在一个非常简单的示例中使weld-se 工作,该示例基本上遵循这个。但是,我无法让它工作。

我使用 gradle 进行构建。这是我的 build.gradle:

我在 src 文件夹中有这些文件。

内容如下。

HelloWorld.java

豆类.xml

当我运行时gradle hello,我没有得到输出Hello, World,而是BUILD SUCCESSFUL带有以下消息:

但是,当我直接使用 运行它时java,会出现异常。这是完整的堆栈跟踪。

在我看来,InstanceManager这是导致异常的模棱两可。但是,我不确定。无论如何,您知道如何进行这项工作吗?非常感谢。

0 投票
2 回答
1507 浏览

jakarta-ee - 什么 Weld CDI 可以 @Inject 而不在 JSF 2.1+ 应用程序中声明 @Produces?

什么 Weld CDI 可以 @Inject 而不在 JSF 2.1+ 应用程序中声明 @Produces?

据我了解,它可以在正确设置的 Web 应用程序中注入 FacesContext。

能不能注入:

  • Http会话?
  • 来自 web.xml 的上下文参数(ala ServletContext.getInitParameter(xxx))
  • 来自 web.xml 的 env-ref
0 投票
2 回答
3149 浏览

jakarta-ee - 拦截器真的默认禁用了吗?

我今天遇到了这种困惑。引用 Weld 的文档(在第 9.3 节下)

默认情况下,所有拦截器都被禁用。我们需要启用我们的拦截器。我们可以使用 bean 存档的 beans.xml 描述符来做到这一点。但是,此激活仅适用于该存档中的 bean。

但是,在我目前正在进行的项目中,我有一个用于分析方法的拦截器。我META-INF/beans.xml的基本上是空的:

然而,我仍然从该分析拦截器中获得预期的日志。那么,正如标题所说,拦截器真的默认禁用了吗?

顺便说一句,我weld-se在项目中使用 CDI 功能,因为 CDI 是 Java EE 堆栈中项目唯一需要的东西。

更新

今天折腾了拦截器,发现如果用 old@Interceptors来表示拦截实现类,就不需要在beans.xml. 但是,如果使用拦截器绑定,即使用@Interceptor注解指示拦截器类,则必须通过将拦截器类添加到beans.xml. 根据我的经验,CDI 1.1 仍然如此,如beans.xml上面的版本所示。顺便说一句,我org.jboss.weld.se:weld-se:2.0.4.Final在这种情况下用于 CDI 实现,我相信它实现了 CDI 1.1。