问题标签 [weld2]
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.
java - 在应用程序上下文中关联会话 bean
我有会话 ID 映射,我想获取与会话 ID 关联的每个会话。BoundSessionContext 被告知要使用,但我不知道如何为其设置地图值。是否有任何代码示例或其他方式来实现获取 sessionContext.
我正在使用wildFly-8.1.Final。
tomcat7 - 在 Tomcat 7 上部署的 Omnifaces 异常
我正在尝试将 Omnifaces 2.1 添加到 Web 应用程序以使用 FullAjaxExceptionHandler 以及可能在 Omnifaces 2.1 中的其他功能。
我已经阅读并关注了 BallusC 的以下帖子,但仍然卡住: 如何在 Tomcat 上安装和使用 CDI?
尝试安装 Weld 2.2.9.Final 并如上所述进行配置。我正在使用以下内容:
JSF 2.2、EL 2.2、Servlet 3、Java 7
网页.xml:
启动时,我仍然收到以下异常:
Catalina.log:
本地主机.log:
jar 确实存在并已添加到应用程序中。
还有什么可能导致此错误?
cdi - 生产者在 Arquillian 过程中被 Weld 发现
在使用 Glassfish 嵌入式插件使用 Arquillian 运行单元测试时,我收到以下 CDI 错误:
带有限定符 @SupportedLocales 的 Set(Locale) 定义在已测试 WebArchive 中部署的模块中。存档内容是:
该对象由位于“common-cdi”模块中的生产者方法提供。同一个模块提供 CDI 扩展功能,如 ThreadScoped。Weld 在测试启动期间未发现此生产者,并且 Weld 未从“commons-cdi”模块中发现 bean。这怎么可能?我们可以在同一个模块中提供 CDI 扩展功能和 CDI bean 吗?
@SupportedLocales 在“commons-cdi”中声明:
生产者在“commons-cdi”中声明:
JUnit 测试用例定义:
MyCurrentLocale 类定义:
声明有问题吗?
jsf - 来自超类的 JSF+WELD CDI+EL MethodNotFound
环境:
野蝇 9.0.1
JSF:jsf-impl-2.2.11-jbossorg-1
焊接:wildfly-weld-9.0.1
我有这种情况:
客户控制器.java
Type1CustomerController.java
Type2CustomerController.java
客户选择控制器.java
Now when the Type2CustomerController
is selected, everything works fine. 当Type1CustomerController
, 灾难来袭时:
EL 找不到在 Type1Controller 中覆盖的超类方法可能是什么问题?
cdi - Weld CDI 自定义范围中的种子值
来自 Guice 背景,我知道可以使用范围从范围中播种对象值。
我想可以通过注册一个从 中获取值的 Bean 来做到这一点AbstractBoundContext
,但是仅从自定义范围中播种一个值的示例似乎很难找到。如何创建一个自定义范围来播种可以在其他地方注入的值?
编辑:
我目前正在使用以下解决方法,可以Configuration
在进入范围时注入拦截器以设置,然后可以通过其线程本地提供程序注入。不过,我仍在寻找那些感觉不那么老套/与 Weld 中的范围/范围上下文系统更集成的选项。
java - 如何覆盖 Jersey 2.23 中的内置异常映射器?
在我的一个项目中,我已经将 Jersey 从 version 升级2.14
到2.23
. 但我在一个问题上苦苦挣扎了好几个小时。我的项目为 a 定义了自己ExceptionMapper
的ValidationException
,但不幸的是,Jersey 已经为此异常提供了一个内置的异常映射器,我无法覆盖它。
我已经正确注册(我检查了)我自己的映射器,如下所示:
但它永远不会被调用。泽西总是捡来的org.glassfish.jersey.server.validation.internal.ValidationExceptionMapper
。我也尝试 @Priority
为我的自定义映射器使用注释,但不幸的是 Jersey 没有考虑到它。
那么发生了什么?它在以前的 Jersey 版本中工作得非常好,所以它似乎是一个回归错误。
我放弃。有什么线索吗?
cdi - Deltaspike 数据 (CDI + JPA) 自定义 PrePersistAuditListener 和 PreUpdateAuditListener 用于 UTC 的自定义 java.time.ChronoLocalDateTime
Wildfly 9.0.2.Final 上的 Deltaspike Ver 1.7.2
我在实体 bean 上使用 JPA 和 Deltaspike 数据(和注释)@EntityListeners(AuditEntityListener.class)
的审计功能,@CreatedOn
不同之处在于我有一个自定义实现,它将任何+ OR a转换为 UTC 日期和时间。@ModifiedOn
@ModifiedBy
java.time.ChronoLocalDateTime
LocalDateTime
ZoneOffset
ZonedDateTime
UTC日期时间
实体 bean 部分
UTCDateTime 类还有一个自定义的 AttributeConverter,因为 epoch 值保存在数据库中。
现在,当我坚持实体时,我得到以下异常(真正原因的最后一点):
有没有办法实现我自己的org.apache.deltaspike.data.impl.audit.PrePersistAuditListener
并org.apache.deltaspike.data.impl.audit.PreUpdateAuditListener
使用它们来创建实例UTCDateTime
?
编写我自己的 EntityListener -->UTCDateTimeAuditListener
并在遵循方法的@EntityListeners(UTCDateTimeAuditEntityListener.class)
地方使用它是否正确?UTCDateTimeAuditListener
org.apache.deltaspike.data.impl.audit.AuditEntityListener
其次,我是否需要在某处使用 CDI 限定符以确保我UTCDateTimeAuditEntityListener
获得对知道如何构造实例的正确PrePersistAuditListener
和实现的引用?PreUpdateAuditListener
UTCDateTime
最后,我不知道它是否相关,但在哪里org.apache.deltaspike.data.impl.audit.TimestampsProvider
适合这种情况?
更新
我在回答我的问题方面取得了一些进展。到目前为止我所做的。不需要定制AuditEntityListener
,DeltaSpike 提供的定制就足够了。
我创建了一个TimestampsProvider
能够处理我的UTCDateTime
对象的新实现。
beans.xml 还将其列为 CDI @Alternative
内容apache-deltaspike.properties
现在的问题是两个AuditProvider
实例都被执行了,首先是我的实现(UTCDateTimeAuditProvider
)然后是默认的TimestampsProvider
我尝试了各种组合,仅使用注释指定我的@Alternative 实现,或者仅在 beans.xml 中以及在类和 beans.xml 中。
有谁知道为什么TimestampsProvider
在我的@Alternative 实现之后执行默认值?
Wildfly 9.0.2.Final 和 Weld 2.2.16 (SP1) 上的 Deltaspike Ver 1.7.2
cdi - 在运行时禁用/启用拦截器
我有一些拦截器用于调试(性能、方法使用记录等)我们的 JavaEE 应用程序。
在生产系统中,我不希望默认启用这些拦截器,但我希望有可能在运行时启用它们(=无需重新部署)。是否有任何可移植的方式来独立于 CDI 实现?如果没有,是否有任何 WELD 特定的方法来做到这一点?
我唯一的解决方案是那些拦截器必须使用的全局标志,但仍然有进入拦截器和评估标志的开销。
cdi - CDI wrt @Inject 与 BeanManager.getBeans(Function.class) 中的函数是否特殊?
我有两个类,我想注入:
和
当我尝试在其他地方使用它们时,我会得到不同的行为:
我的输出是:
这比我预期的少一行。
有人可以解释这里发生了什么吗?
解决方案,感谢 Siliarus 让我走上正确的道路:
java - 是否可以获得包含类(CDI)的引用?
我的设置如下 -
StatusModel
类如下 -
pm
inside是依赖的实例StatusModel
的引用。ParentModel
StatusModel
里面dao
- 我注射ParentModel
如下
但是,设置ParentModel
参考StatusModel
使用单独的方法调用如下 -
我们可以在没有方法调用的情况下获取pm
内部引用吗?sm