问题标签 [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 回答
5044 浏览

jsf - WELD-001519 为抽象类“xxx”创建了 InjectionTarget 实现。不可能产生这种类型的实例

我正在以下环境中运行应用程序。

  • GlassFish 服务器 4.0
  • 莫哈拉 2.2.4
  • PrimeFaces 4.0 最终版
  • PrimeFaces 扩展 1.1.0
  • OmniFaces 1.6.3

添加 OmniFaces 后,服务器终端上会出现以下警告。

给定环境中的 OmniFaces 是否有任何问题?

0 投票
2 回答
1102 浏览

cdi - CDI(焊接)+ DeltaSpike + 转换

我目前正在尝试让 CDI(更准确地说是 Weld)与 JSF 2 和长期对话一起工作。我在 @ConversationScoped 我的支持 bean 中开始对话。我还在创建一个@ConversationScoped 实体管理器。遗憾的是,当 JSF 尝试编写 @ManyToMany 映射字段时,我在我的支持 bean 中编辑的实体总是得到一个LazyInitializationException 。似乎实体与实体管理器分离。在我的 EntityManagerProducer(见下文)中,在抛出 LazyInitializationException 之前,不会调用方法createEntityManager(),所以我假设 entitymanager 实际上是会话范围的。

据我所知,DeltaSpike 还没有提供任何东西来处理 JSF 中的长时间运行的对话。任何人都可以提出一种方法来说明如何使用 Weld + DeltaSpike(最好在带有weld-servlet 的 Tomcat 上)实现与 CDI 的长时间运行对话吗?

0 投票
1 回答
890 浏览

java - Tomcat 7,焊接,RESTEasy 不扫描 JAR

我有 Tomcat 7.0.47,并且正在托管 REST Easy JAXRS 服务。该服务使用两个外部 JAR,一个具有基本存储库接口和默认实现,另一个创建从基本存储库派生的具体存储库(即这两个 JAR 具有依赖关系)。

该服务有效,即我可以发送请求并从数据库中取回数据。

现在我想要做的是将存储库注入到 REST 服务中,为此我将 REST 代码更改为如下所示

我已将 beans.xml 文件添加到 Web 应用程序的 WAR 文件(它位于 META-INF 目录中),并将 beans.xml 添加到两个 JARS。

当我部署应用程序时,我看到以下消息:

但我在 JAR 中没有看到存储库类的类似消息。

部署 JAR;beans.xml 文件位于 JAR 的 META-INF 目录中;我尝试将 @ManagedBean 添加到存储库类。

我确定我错过了一些简单的东西,但是很多搜索都没有出现。

这是Tomcat 7.0.47;焊接 2.1.0;RESTEasy 3.0.5

我还应该尝试什么?

0 投票
0 回答
198 浏览

java - JSF 查询字符串参数

我可能完全错过了来自经典 ASP 世界的一些基础知识,但我对 JSF 和 Java 完全陌生。如果不产生错误,我似乎无法将查询字符串附加到我的初始页面请求。

如果我http://localhost:8080/fooBean在浏览器中输入没有错误,但是,如果我使用http://localhost:8080/fooBean/index.xhtml?param1=value&param2=value2它会生成以下错误:

WELD-001303 范围类型 javax.enterprise.context.SessionScope 没有活动上下文

任何帮助或澄清将不胜感激。

谢谢你。

0 投票
3 回答
1846 浏览

java - java ee 6堆栈与spring框架有什么区别?

在企业应用程序中使用 java ee 6 vs spring 框架的优点/缺点是什么?哪个更适合大型项目(为什么)?与 java ee 6 相比,spring 的缺点是什么?我在春天没有任何经验,但我想知道它们之间的区别。

0 投票
1 回答
876 浏览

events - Arquillian 中的 CDI 观察,事件未传播到注入的 bean

使用 Arquillian JUnit(版本 1.1.1 和 4.11)设置嵌入 JDK 1.7.25 的 CDI(Weld 1.1.13.Final 上的 1.0.0.CR7)......

获得了以下课程:

打印的内容如下:

我不明白为什么接收器哈希码不同并且事件没有传播到示例 JUnit 中注入的接收器 bean。而是将事件发送到某个 OTHER 接收器 bean。

这与范围(应该是默认的@Dependent)有关吗?

0 投票
1 回答
1235 浏览

java - 来自 void main 的 Bootstrap Weld 2.1.0

如何使用 CDI 在普通 Java SE 环境中启动使用 Weld 的应用程序,它只是从命令行启动并且在后台没有 Glassfish 或 Tomcat?使用 Weld 1.x,您可以执行类似的操作

但在 Weld 2.x 中,initialize() 丢失了。

我可以做这样的事情:

这将注入 Foo,但我想将我的整个应用程序打包到一个 jar 中,以供不需要等待 Weld 实际开始运行的其他应用程序使用。所以我基本上想要一种正确初始化 Weld 的方法。

0 投票
1 回答
1043 浏览

cdi - JaxRS 应用程序中的 CDI HK2 错误

我为 Glassfish 4 编写了一个 JaxRS 应用程序。它使用 Jackson 2。我可以毫无问题地构建它,但是当我部署它时,我得到以下 4 个错误中的一个或多个。

和/或

和/或

和/或

据我所知,当 glassfish 尝试两次加载一个类时可能会引发最后一个异常?

我上传了我的直接和间接依赖项的屏幕截图。 http://i.stack.imgur.com/HEtb1.png

关于其他解决方案,我尝试添加<scope>provided</scope>到包含这些类的包中。--> 没有成功

你有什么主意吗?

编辑1:

我的资源配置:

启用杰克逊 2:

很多这样的实体:

然后我有很多这样的DAO:

还有很多这样的资源:

编辑2:

我创建了一个新的测试项目。一旦我向 org.glassfish.jersey.server 添加依赖项,我就会收到错误消息。

编辑 3:

我做了一个错误的测试应用程序:

http://www.file-upload.net/download-8459084/testApplication_20131229.rar.html

0 投票
2 回答
192 浏览

java - Java EE依赖注入什么时候用?

我是新手,我想了解什么时候在 Java 中使用 DI 是合适的。假设我需要使用不同的 ping 参数 ping 不同的网络:

PingParams 类:

PingResult 类:

PingService 类:

客户端:

我有 2 个注入点:

  1. 我在 PingService 的构造函数中注入 PingParams。

这个对吗?我的意思是,除非您创建一些“Produces”注释方法,否则 DI 容器无法知道超时并重试注入 PingParams,即使在这种情况下,它也需要大量工作来创建对象!但是当然你需要为每个网络创建几个,你如何使用 DI 来做到这一点?

  1. 我在客户端注入 PingService。

看起来是合法的,但 PingService 依赖于 PingParams,它将我们带到第 1 号注入点。

在我看来,使用 DI 的唯一合适方法是使用没有依赖项(因此无用)的类,或者使用非常简单的服务类,您可以将所有依赖项作为参数传递给服务方法。例如,在 ping 方法中接受 ip 和 PingParams 的 PingService,同样,此类将没有依赖关系......

我错过了什么吗?您如何将 DI 与这些“数据”类一起使用,这些类仅包含用于保存数据的字段 (PingParams)?在这些情况下是否应该避免 DI?谢谢

0 投票
1 回答
413 浏览

java - Glassfish 上的实例之间的会话复制问题

我尝试使用 glassfish 4 在 2 个本地实例(在同一集群、同一节点上)之间使用会话复制。

我遵循了一些教程并在我的 web.xml 文件中添加了以下输入:在我的目标(集群)上部署 war 文件时,我还检查了启用的“可用性”。

我的应用程序基于 Spring + JSF2(来自 javax.faces.bean 的@ManagedBeans)。(Mojarra 2.2.4,我也从 GF/modules 目录中的原始 javax.faces.jar 覆盖)。

没有焊接,没有 jboss,没有对话。

部署在 glassfish 管理服务器上时一切正常,即使部署在单个实例上(其他实例关闭)也是如此。当我在部署war文件时禁用“可用性”时,它也适用于2个实例。

但是,当尝试使用本机会话复制行为时,我得到了跟踪,并且我的应用程序没有显示(甚至实例崩溃)。

这似乎是一个会话反序列化问题。

网页.xml:

我收到以下问题:

我真的不知道为什么,因为我既没有使用 JBOSS 也没有使用任何对话行为(或注释)。

谢谢你的帮助。