2015-02-24 65 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