如何在WildFly上禁用WELD
如何在WildFly上完全禁用WELD。 我不需要它,因为我使用另一个DI框架。
例外0:javax.enterprise.inject.UnsatisfiedResolutionException:无法使用限定符[@ javax.enterprise.inject.Any(),@ javax.enterprise.inject解析’org.springframework.data.mongodb.core.MongoOperations’的bean 。默认()]。 at org.springframework.data.mongodb.repository.cdi.MongoRepositoryExtension.createRepositoryBean(MongoRepositoryExtension.java:104)at the sun.reflect org.springframework.data.mongodb.repository.cdi.MongoRepositoryExtension.afterBeanDiscovery(MongoRepositoryExtension.java:79)at sun.reflect at.MativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method .java:606)在org.jboss.weld上的org.jboss.weld.welject.MethodInjectionPoint.invokeOnInstanceWithSpecialValue(MethodInjectionPoint.java:93)org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:266)。 event.ExtensionObserverMethodImpl.sendEvent(ExtensionObserverMethodImpl.java:125)org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:253)org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:232) 在org.jboss.weld.event.ObserverNotifier.notifyObserver(ObserverNotifier.java:169)
我试过了
但它没有解决我的问题。
尝试删除或注释掉$JBOSS_HOME/standalone/configuration/standalone.xml
开头的扩展列表中的org.jboss.as.weld
扩展名。 您可能还想从
删除
。 这应该导致对服务器上部署的所有应用程序禁用Weld。
有标准方式:
选项1:战争中的jboss-all.xml
这是特定于Weld的,但它禁用了Weld对整个部署的自动bean扫描(例如war文件及其中的所有jar)。 当您无法轻松地将beans.xml
添加到第三方jar(例如jboss-seam-resteasy.jar)时,这很方便。
保存为战争的WEB-INF/jboss-all.xml
, WEB-INF/jboss-all.xml
为META-INF/jboss-all.xml
:
请参阅按部署配置 。
选项2:WildFly中的standalone.xml
另一个不需要更改应用程序本身的选项是将焊接子系统配置为不将随机jar作为CDI库处理 。 只需在WildFly的standalone.xml
编辑焊接配置,如下所示:
- 命名CDI bean的默认范围是什么?
- 受限制的CDIgenerics
- 用于bean的CDI @TransactionAttribute
- 可以在JSR 330中使@Inject成为可选项(如@Autowire(required = false)吗?
- Action类可以限定为Singleton吗?
- Java EE 7 – @Decorator,@ Stateless和@PersistenceContext = nullpointerException
- 在CDI中更大范围的bean实例中注入更短范围的Bean实例 – 它是如何工作的?
- Java中的资源注入和dependency injection(CDI)有什么区别?
- CDI – ApplicationScoped但已配置