2015-02-24 66 views
9


HermesJMS有什麼替代方案?我需要對JBoss WildFly 8進行測試,它使用Java 8. HermesJms似乎是爲Java 6構建的,我無法找到完整的Java 8端口。我試着用this configuration option hermes.bat設置,但我得到了以下錯誤:JMS客戶端工具 - HermesJMS for Java 8的替代方案?

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

這似乎是由於Xerces的JAR版本,但我很擔心,如果在所有其他庫%HERMES_HOME%\ LIB \分機將有類似的Java 8兼容性問題。最好的方法是使用HermesJMS的Java 8兼容版本,而不是嘗試逐個修復JAR,但由於沒有這樣的分支,似乎不可能。

謝謝
水稻

回答

13

this answer Mitch1077487建議添加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" 

設置參數bin/hermes.sh使得愛馬仕正確啓動。

修改應該在最後一行以"$JAVACMD"開頭。可以在此之後立即插入參數。

13

這似乎與java 7 vs 8 difference in XMLP

爲了使它工作,我更新愛馬仕的lib文件夾:

從MVN回購下載JAR後,我重新命名爲與Hermes中的現有命名相匹配。

在此更改之後Hermes開始(並且在使用JMS時工作正常)並且日誌中沒有錯誤。

+0

這就像一個魅力.. – 2017-07-03 14:44:01

3

你可以給一個嘗試JMSToolBox(sourceforge上)

+0

你問什麼是可用作爲替代。這是一個。它的拜占庭式配置稍微少一些(但只是略微公平),它具有實際工作的優勢。 – staylorx 2017-03-16 18:54:38

1

它通過將以下jar文件添加到lib目錄中爲我工作。 xercesImpl

+0

這隻包含較少的信息,然後最上面的答案https://stackoverflow.com/a/36565755/2442804 - 它有什麼不同?傳遞java參數的 – luk2302 2017-06-13 10:00:12

+0

也不適合我。因爲jar本身在你的庫中不可用。所以只有當你有它可以引用類的jar。我希望它很清楚。 – abc 2017-06-14 04:34:23