2015-02-24 7 views
9


Jakie alternatywy dla HermesJMS są dostępne? Muszę przetestować na JBoss WildFly 8 i używa Java 8. HermesJms wydaje się być zbudowany dla Java 6 i nie mogłem znaleźć dla niego pełnego portu Java 8. Próbowałem ustawienie hermes.bat z this configuration option ale pojawia się następujący błąd:Narzędzie klienta JMS - jakakolwiek alternatywa dla HermesJMS dla Java 8?

org.xml.sax.SAXNotRecognizedException: Feature 'http://javax.xml.XMLConstants/feature/secure-processing' is not recognized. 

Wydaje się to być spowodowane Xerces wersji JAR ale obawiam się, jeśli wszystkie inne libs pod% HERMES_HOME% \ lib \ ext będą miały podobny Problemy z kompatybilnością Java 8. Najlepszym sposobem jest użycie kompatybilnej z Java 8 kompilacji HermesJMS zamiast próbować naprawiać JAR-y pojedynczo, ale wydaje się to niemożliwe, ponieważ nie ma takiej gałęzi.

Dzięki,
Paddy

Odpowiedz

13

W this answer Mitch1077487 proponuje dodanie parametrów java

java -Dorg.xml.sax.parser="com.sun.org.apache.xerces.internal.parsers.SAXParser" \ 
-Djavax.xml.parsers.DocumentBuilderFactory="com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl" \ 
-Djavax.xml.parsers.SAXParserFactory="com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl" 

Ustawianie parametrów w bin/hermes.sh sprawia Hermes uruchomić poprawnie.

Zmiany należy dokonać w ostatnim wierszu rozpoczynającym się od "$JAVACMD". Parametry można wstawić natychmiast po tym.

13

To wydaje się być związane z java 7 vs 8 difference in XMLP

Aby to działało mi zaktualizowaną folderu lib Hermes z:

Po pobraniu plików JAR z repozytorium MVN zmieniono nazwę, aby pasowała do istniejącego nazewnictwa w Hermes.

Po tej zmianie uruchamia się Hermes (i działa poprawnie podczas używania JMS) i nie ma błędów w dziennikach.

+0

To zadziałało jak urok .. –

3

Mógłbyś spróbować do JMSToolBox (na SourceForge)

+0

Zapytałeś, co jest dostępne jako alternatywa. Tu jest jeden. Ma nieco mniej bizantyjską konfigurację (ale uczciwie tylko tak nieznacznie) i ma tę zaletę, że faktycznie działa. – staylorx

1

To działało dla mnie, dodając następujący plik jar do katalogu lib. xercesImpl

+0

Obejmuje to tylko mniej informacji niż najwyższa odpowiedź https://stackoverflow.com/a/36565755/2442804 - jak to jest inne? – luk2302

+0

przekazywanie parametrów java też nie działało dla mnie. Ponieważ słoik nie jest dostępny w twojej bibliotece. Więc tylko jeśli masz słoik, możesz skierować klasę. Mam nadzieję, że jest jasne. – abc