草庐IT

java - EJB 警告 : WELD-000411: . .. 考虑使用 @WithAnnotations 或具有边界的通用类型来限制事件

这是在启动Web应用程序之前执行一些任务的代码(我使用的是glassfish4):importjavax.annotation.PostConstruct;importjavax.annotation.PreDestroy;importjavax.ejb.Singleton;importjavax.ejb.Startup;importjavax.servlet.ServletContextEvent;/****@authorErnestasGruodis*/@Startup@SingletonpublicclassServerInit{/***Dosomecodeexecutionbe

java - Weld 未正确初始化

我正在搭建学习JavaEE7中CDI的基础环境。我有以下用于启动Weld的代码。只是启动和关闭。packagecom.anshbansal;importorg.jboss.weld.environment.se.Weld;importorg.jboss.weld.environment.se.WeldContainer;publicclassMain{publicstaticvoidmain(String[]args){Weldweld=newWeld();WeldContainercontainer=weld.initialize();weld.shutdown();}}我正在关注我

java - 将 weld-se 与 Gradle 应用程序插件一起使用时的 Bean 发现问题

我正在构建基于Hibernate的基于Gradle的JavaSE应用程序作为我选择的ORM。我的计划是使用weld-se以便能够使用CDI注释在整个应用程序中注入(inject)EntityManagers。基于Hibernate文档中常见的HibernateUtil帮助程序类,我转向JPA接口(interface)并添加了@Produces注释以提供生产者方法(我添加了一个空的META-INF/beans.xml):packagedao;importjavax.enterprise.inject.Disposes;importjavax.enterprise.inject.Produ

java - 如何使用 Weld 轻松注入(inject)字符串常量?

我们有一种情况,我们以Map的形式为我们正在运行的程序提供外部配置。我发现JSR-330依赖注入(inject)提供了一种更简洁的方法来在代码中使用该配置映射,而不是传递映射或使用JNDI来获取它。@Inject@Named("server.username")Stringusername;让JSR-330实现自动填写此字段。使用Guice我可以设置值bindConstant().annotatedWith(Names.named(key)).to(value);我希望能够在Weld中做同样的事情(将“server.username”绑定(bind)到例如“foobar”)并且我知道该

java - Weld/CDI 的最佳调试技巧是什么?

JavaEE6的一大优点是新的依赖注入(inject)框架-带有Weld引用实现的CDI-这促使我们开始以与实现无关的方式在内部迁移到JSR-330,其明确目标是能够拥有一个被卡住的核心jar,然后能够添加额外的jar,提供新的模块来替换核心jar中的功能。我现在正在与Weld一起完成上述工作,坦率地说,幕后的魔法实在是太多了。它要么起作用,要么不起作用,并且默认情况下它不会对发生的事情提供太多帮助,因此您可以调查问题并修复它。我希望有一些开关可以轻松启用以下功能:扫描了哪些类路径条目以及在哪里扫描?结果如何?哪些bean可用于哪个类的注入(inject)?是什么导致给定的bean在以

java - Weld/CDI 的最佳调试技巧是什么?

JavaEE6的一大优点是新的依赖注入(inject)框架-带有Weld引用实现的CDI-这促使我们开始以与实现无关的方式在内部迁移到JSR-330,其明确目标是能够拥有一个被卡住的核心jar,然后能够添加额外的jar,提供新的模块来替换核心jar中的功能。我现在正在与Weld一起完成上述工作,坦率地说,幕后的魔法实在是太多了。它要么起作用,要么不起作用,并且默认情况下它不会对发生的事情提供太多帮助,因此您可以调查问题并修复它。我希望有一些开关可以轻松启用以下功能:扫描了哪些类路径条目以及在哪里扫描?结果如何?哪些bean可用于哪个类的注入(inject)?是什么导致给定的bean在以

java - Google Guice 与 JSR-299 CDI/Weld

Weld,JSR-299上下文和依赖注入(inject)引用实现,认为自己是Spring和Guice的一种继承者。CDIwasinfluencedbyanumberofexistingJavaframeworks,includingSeam,GuiceandSpring.However,CDIhasitsown,verydistinct,character:moretypesafethanSeam,morestatefulandlessXML-centricthanSpring,morewebandenterprise-applicationcapablethanGuice.Butit

java - Google Guice 与 JSR-299 CDI/Weld

Weld,JSR-299上下文和依赖注入(inject)引用实现,认为自己是Spring和Guice的一种继承者。CDIwasinfluencedbyanumberofexistingJavaframeworks,includingSeam,GuiceandSpring.However,CDIhasitsown,verydistinct,character:moretypesafethanSeam,morestatefulandlessXML-centricthanSpring,morewebandenterprise-applicationcapablethanGuice.Butit

java - 如何在 WildFly 上禁用 WELD

如何在WildFly上完全禁用WELD。我不需要它,因为我使用了另一个DI框架。Exception0:javax.enterprise.inject.UnsatisfiedResolutionException:Unabletoresolveabeanfor'org.springframework.data.mongodb.core.MongoOperations'withqualifiers[@javax.enterprise.inject.Any(),@javax.enterprise.inject.Default()].atorg.springframework.data.mon

java - WELD-000072 声明钝化范围的托管 bean 必须具有钝化能力

我在javaweb表单中编写了一个简单的程序,但收到以下错误:WELD-000072Managedbeandeclaringapassivatingscopemustbepassivationcapable.Bean:ManagedBean[classBeanPakage.DemoBeans]withqualifiers[@Any@Default@Named]谁能告诉我这个错误来自哪里?importjavax.enterprise.context.SessionScoped;importjavax.inject.Named;@Named("DemoBeans")@SessionScop