So deaktivieren Sie WELD auf WildFly

7

Wie man WELD auf WildFly vollständig deaktiviert. Ich brauche es nicht, weil ich ein anderes DI-Framework verwende.

  

Ausnahme 0:   javax.enterprise.inject.UnsatisfiedResolutionException: Eine Bean kann nicht für 'org.springframework.data.mongodb.core.MongoOperations' mit Qualifizierern [@ javax.enterprise.inject.Any (), @ javax.enterprise.inject.Default ( )].       unter org.springframework.data.mongodb.repository.cdi.MongoRepositoryExtension.createRepositoryBean (MongoRepositoryExtension.java:104)       bei org.springframework.data.mongodb.repository.cdi.MongoRepositoryExtension.afterBeanDiscovery (MongoRepositoryExtension.java:79)       bei sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Methode)       bei sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:57)       bei sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)       bei java.lang.reflect.Method.invoke (Methode.java:606)       at org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstanceWithSpecialValue (MethodInjectionPoint.java:93)       unter org.jboss.weld.event.ObserverMethodImpl.sendEvent (ObserverMethodImpl.java:266)       at org.jboss.weld.event.ExtensionObserverMethodImpl.sendEvent (ExtensionObserverMethodImpl.java:125)       unter org.jboss.weld.event.ObserverMethodImpl.sendEvent (ObserverMethodImpl.java:253)       unter org.jboss.weld.event.ObserverMethodImpl.notify (ObserverMethodImpl.java:232)       unter org.jboss.weld.event.ObserverNotifier.notifyObserver (ObserverNotifier.java:169)

Ich habe es versucht

%Vor%

Aber es hat mein Problem nicht gelöst.

    
Rinat Mukhamedgaliev 13.02.2014, 14:15
quelle

3 Antworten

4

Löschen oder kommentieren Sie die Erweiterung org.jboss.as.weld in der Erweiterungsliste am Anfang von $JBOSS_HOME/standalone/configuration/standalone.xml . Sie können auch <subsystem xmlns="urn:jboss:domain:weld:1.0"/> von <profile> löschen. Dies sollte dazu führen, dass Weld für alle auf dem Server bereitgestellten Anwendungen deaktiviert wird.

    
Petr Mensik 13.02.2014, 14:22
quelle
13

Es gibt den üblichen Weg:

%Vor%     
Yuri 13.02.2014 14:30
quelle
13

Option 1: jboss-all.xml im Krieg

Dies ist Weld-spezifisch, aber es deaktiviert Welds automatischen Bean-Scan für eine gesamte Implementierung (z. B. eine WAR-Datei und alle darin enthaltenen JAR-Dateien). Dies ist praktisch, wenn Sie beans.xml nicht einfach zu einem Drittanbieter-JAR hinzufügen können, z. B. jboss-seam-resteasy.jar.

Speichern unter WEB-INF/jboss-all.xml für Kriege, META-INF/jboss-all.xml ansonsten:

%Vor%

Siehe Konfiguration pro Konfiguration .

Option 2: standalone.xml in WildFly

Eine weitere Option, bei der die Anwendung nicht geändert werden muss, besteht darin, das Schweißsubsystem so zu konfigurieren, dass keine zufälligen Objekte behandelt werden als CDI-Bibliotheken . Bearbeiten Sie einfach die Konfiguration für das Schweißen in WildFly standalone.xml wie folgt aussehen:

%Vor%     
seanf 05.06.2014 23:43
quelle

Tags und Links