Wenn mehrere Kriege bereitgestellt werden und jede WAR-Datei eine Instanz einer Klasse StandardContext enthält, die DefaultCamelContext erweitert und der Kontextname mit @ContextName auf "StandardContext" gesetzt ist, wird diese Ausnahme ausgelöst. Liegt dies an der Einrichtung des Klassenladeprogramms auf JBoss? Camel-Version: 2.17.4 JBoss-Version: EAP 6.1Kamel CDI-Laufzeit InstanceAlreadyExistsException auf JBoss EAP 6.1
0
A
Antwort
0
Sie können Ihre Camel-Anwendung so konfigurieren, dass für JMX ein Benennungsmuster (z. B. managementNamePattern) verwendet wird. Weitere Informationen finden Sie in der JMX-Dokumentation: http://camel.apache.org/camel-jmx.html
Sie können dann das Muster einen Zähler oder etwas verwenden, um den Konflikt zu vermeiden. Oder Sie können den Namen überschreiben und ihn auf etwas festlegen, von dem Sie wissen, dass er eindeutig ist, wie zum Beispiel der Modulname.
0
Früher hatte ich verwendet
getManagementNameStrategy().setNamePattern("#name#");
Aber das hat nicht funktioniert, so dass ich geändert mein Code wie folgt:
@ApplicationScoped
@ContextName("StandardContext")
public class StandardContext extends DefaultCamelContext {
@Resource(lookup = "java:module/ModuleName")
private String moduleName;
@PostConstruct
public void init() {
getManagementNameStrategy().setNamePattern(moduleName);
diesen Code Posting meine Lösung für andere Leser zu klären
Verwandte Themen
- 1. Spring Boot auf JBOSS EAP 6.1 implementieren
- 2. Logback funktioniert nicht mit JBoss EAP 6.1
- 3. JBOSS EAP 6.4 Abhängigkeit
- 4. Zeitplan Job JBoss EAP
- 5. JBoss EAP 6.x auf Java 8
- 6. Context-Root auf JBOSS EAP-7
- 7. Hibernate4 auf JBoss EAP 5.1.2 Logging-Fehler
- 8. Kann in JBoss 6.4 EAP
- 9. Jboss EAP 6.4 ohne Module
- 10. Jboss Sicherung mit EAP-Container
- 11. Jboss EAP 7.0.0 - java.lang.ClassNotFoundException: org.jboss.naming.remote.client.InitialContextFactory
- 12. Protokollierung aktivieren JBoss EAP 6.2 log4j
- 13. Wie bekomme ich die Serveradresse und den Port programmgesteuert in Java EE für JBoss 6.1 EAP?
- 14. JBOSS EAP 7 - EJB Client Benutzerdaten
- 15. Arquillian und JBoss EAP 7 eingebettet
- 16. System.out.println Nachrichten in JBoss EAP 6.2 Protokolle
- 17. JBoss 7.x oder JBoss EAP 6.x
- 18. Wie zu migrieren: JBoss AS 7.1.1 -> JBoss EAP 7
- 19. Starten Sie JBOSS jboss-eap-6.3.2 manuell zu stoppen?
- 20. Auto löschen tmp Ordner jboss-eap-6.2
- 21. wie mod_cluster oder mod_jk Cluster für jboss tun UAP 6.1
- 22. Log4j protokolliert nichts unter JBoss 6 EAP
- 23. JNDI-Portkonfiguration für JBoss eap 6.4
- 24. jboss-eap-6.2 Protokollierung, Dateigröße und Rotation
- 25. Log4j protokolliert nicht mit JBoss 6.1
- 26. LDAP jndi Verbindung (java + jboss eap 6)
- 27. Konfigurieren der Sitzungsreplikation in Jboss EAP 6.2
- 28. Jboss (6.4 EAP) zu WebSphere (7.x)
- 29. Kann jboss-eap-quickstarts nicht erstellen 6.1.1
- 30. Best Practice Entschlossenheit in Jboss EAP
Wie stellen Sie Ihre Camel-Anwendung bereit? Benutzt du einen WAR oder benutzt du Wildfly-Camel oder sowas? Und eine gute Idee ist die Verwendung von eindeutigen Kamel-ID-Namen, zB sollte @ContextName in allen Ihren Anwendungen einen eindeutigen Namen haben. –
Die Kamel-Anwendung wird als War-Datei auf JBoss EAP 6.1 bereitgestellt. Leider kann der ContextName nicht geändert werden, da es sich um eine allgemeine Basisklasse handelt, die von jeder WAR-Datei verwendet wird. Die Problemumgehung besteht jedoch darin, den Modulnamen als Namensmuster zu verwenden: –