cdi相关内容

Quarkus / CDI和“ java config” DI定义

我刚刚开始了夸夸其谈的概念证明。容器启动的时间真是太神奇了! 现在,我正在研究“依赖注入”部分。并找出选项。 https://quarkus.io/blog/quarkus-dependency-injection/ 我的偏好是: 我更喜欢构造函数注入。 (一切正常)。 我更喜欢“ java config”,因此我可以遵循“ Composition Root”模式,将 ..
发布时间:2020-09-30 01:39:33 其他开发

CDI事务拦截器不起作用

我有一个具有以下类的Java SE应用程序: main: public static void main(String args []) { Weld weld = new Weld(); WeldContainer容器= weld.initialize(); ShopCar sc = container.instance()。select(ShopCar.class ..
发布时间:2020-09-30 01:38:22 Java开发

在CDI中指定不同的子类实现

我有两个类,A和B,需要使用服务。有两个服务,S1和S2。 S2扩展了S1。我希望将S1注入A类,将S2注入B类。如何在CDI中实现这一目标? 公共类S1 { } 公共类S2扩展了S1 {} 公共类A { @Inject S1服务; //模棱两可?是S1还是S2? } 公共类B { @Inject S2服务; } 解决方案 @Typed 注释启用 ..
发布时间:2020-09-30 01:38:20 Java开发

从CDI代理获取真实对象

我正在寻找一种干净的CDI解决方案,而不是一个依赖WELD的解决方案,但到目前为止没有任何东西... 我需要测试对象列表中的每个元素是否我使用@Inject @Any MyInterface bean获得的是代理,当为true时,我需要获取真实的对象进行自省并获取该对象的所有属性。 我的WELD实现: MyInterface interf = obj; if(isProxy ..
发布时间:2020-09-30 01:38:16 Java开发

如何从过滤器读取JSF会话bean?

我正在搜索,但找不到答案,我需要基于权限的安全资源,我无法使用过滤器,因为FacesContext之前未初始化,因此我需要在会话bean中加载权限。一些避免使用过滤器的解决方案? PhaseListener,ViewHandler和ResourceHandler无法捕获URL资源请求,例如,我需要拒绝此直接访问: http://127.0.0.1:8080/test/resources/image ..
发布时间:2020-09-30 01:38:12 其他开发

如何将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模块中: webframework-demo.ea ..
发布时间:2020-09-30 01:38:07 其他开发

在带有Weld的Spring Boot环境中使用Omnifaces 2.x时失败

最后,如此处所述,我在Spring Boot环境中成功引导了Weld。对于使用Mojarra的JSF和使用Jersey的Web服务,CDI都可以正常工作。 但是现在,当我尝试在应用程序中包含Omnifaces 2.6时遇到了问题。 p> 我的应用程序启动失败,并显示以下消息: com.sun.faces .config.ConfigurationException:未正确配置工 ..
发布时间:2020-09-30 01:36:30 其他开发

使用@Inject Instance< blah>在春天

我知道Instance不属于JSR 330,但是有Spring等效项吗?我对实例实现Iterable感兴趣,因此Provider将不是正确的答案。 公共接口Report {。 ..} (有两个类使用 @Named来实现报告注释) @命名为 的公共类ReportRunner { @Inject private Instance报告; } ..
发布时间:2020-09-30 01:36:26 其他开发

在非托管CDI Bean中引用CDI Bean

是否可以在使用 new 关键字创建的类中获取CDI bean的实例?我们目前正在对旧的应用程序进行一些增强,并且总是得到编程时,rel =“ nofollow”> ContextNotActiveException 在我们的应用程序中查找CDI Singleton bean。 获取引用的代码: 公共类ClassCreatedWithNew { public void doSometh ..
发布时间:2020-09-30 01:36:21 Java开发

如何在Servlet中注入ConversationScoped bean

我需要将 ConversationScoped bean注入到servlet中。我使用标准的简单 @Inject 标记,并使用cid参数调用servlet,但是当它调用注入的bean中的任何方法时,会出现以下错误: org.jboss.weld.context.ContextNotActiveException : WELD-001303 范围类型 javax.enterprise.cont ..
发布时间:2020-09-30 01:36:14 Java开发

CDI事件,其传播范围

这是我经常遇到的问题,我认为CDI事件也许可以帮到我,但我不确定。 我有两个用户在网站上进行互动,我希望他们共享一个bean实例,以便他们都可以共享一个活动。到目前为止,我唯一知道方法的方法是将数据推送到数据库,然后使用两个不同的bean(每个用户一个)连续检查更改。 我的问题是,如果一个sessionscoped bean观察到一个事件,我触发它时是否会通知每个用户的每个sessio ..
发布时间:2020-09-30 01:36:10 Java开发

@ApplicationScoped在集群中

我目前没有群集环境,但是我对群集环境中的 @ApplicationScoped 行为感到好奇。 我已经读到 @Singleton 在每个JVM中创建code> 解决方案 是对 @ApplicationScoped 的引用,因此CDI容器可以正确地解决它们。无论应用程序中有多少个节点,这都是正确的。状态和实例在所有客户端请求中共享。 ..
发布时间:2020-09-30 01:35:57 Java开发

Weld CDI自定义范围中的种子值

来自Guice背景,我知道可以从使用范围的对象中播种对象。 范围.seed(Key.get(SomeObject.class),someObject); 我想可以通过注册一个从 AbstractBoundContext ,但是似乎很难找到仅从“自定义范围”播种一个值的示例。我如何创建自定义范围并植入可以在其他地方注入的值? 编辑: 我目前正在使用按照以下解决方 ..
发布时间:2020-09-30 01:35:54 其他开发