【发布时间】:2020-10-07 21:39:01
【问题描述】:
我有一个在 Windows 上运行的现有 java 批处理进程,它写入 MQSeries 队列。 在 v7 中工作正常,但使用 v8.0.0.3 失败。
使用这些 jar 文件: com.ibm.mq.allclient-8.0.0.3.jar javax.jms-api-2.0.1.jar 尝试同时运行 allclient jar,但反复出现此错误:
Exception in thread "main" java.util.ServiceConfigurationError: java.nio.charset.spi.CharsetProvider: Provider com.ibm.mq.jmqi.CustomCharsetProvider not a subtype
at java.util.ServiceLoader.fail(ServiceLoader.java:239)
at java.util.ServiceLoader.access$300(ServiceLoader.java:185)
at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:376)
at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404)
at java.util.ServiceLoader$1.next(ServiceLoader.java:480)
at java.nio.charset.Charset$1.getNext(Charset.java:352)
at java.nio.charset.Charset$1.hasNext(Charset.java:365)
at java.nio.charset.Charset$2.run(Charset.java:410)
at java.nio.charset.Charset$2.run(Charset.java:407)
at java.security.AccessController.doPrivileged(Native Method)
at java.nio.charset.Charset.lookupViaProviders(Charset.java:406)
at java.nio.charset.Charset.lookup2(Charset.java:477)
at java.nio.charset.Charset.lookup(Charset.java:464)
at java.nio.charset.Charset.forName(Charset.java:528)
at com.ibm.mq.jmqi.system.JmqiCodepage$JmqiCodepageFactory.initializeCodepage(JmqiCodepage.java:194)
at com.ibm.mq.jmqi.system.JmqiCodepage$JmqiCodepageFactory.getByName(JmqiCodepage.java:181)
at com.ibm.mq.jmqi.system.JmqiCodepage.getJmqiCodepage(JmqiCodepage.java:661)
at com.ibm.mq.jmqi.system.JmqiCodepage.getJmqiCodepage(JmqiCodepage.java:637)
at com.ibm.mq.jmqi.JmqiEnvironment.getJmqiCodepage(JmqiEnvironment.java:294)
at com.ibm.mq.jmqi.JmqiEnvironment.lookupDefaultCharset(JmqiEnvironment.java:361)
at com.ibm.mq.jmqi.JmqiEnvironment.<init>(JmqiEnvironment.java:262)
at com.ibm.mq.jmqi.system.JmqiSystemEnvironment.<init>(JmqiSystemEnvironment.java:76)
at com.ibm.mq.jmqi.JmqiFactory.getInstance(JmqiFactory.java:122)
at com.ibm.mq.internal.MQCommonServices.<clinit>(MQCommonServices.java:146)
at com.ibm.mq.MQSESSION.getJmqiEnv(MQSESSION.java:141)
at com.ibm.mq.MQSimpleConnectionManager.<init>(MQSimpleConnectionManager.java:95)
at com.ibm.mq.MQEnvironment.<clinit>(MQEnvironment.java:569)
我的代码调用了 MQenvironment
【问题讨论】:
-
确保 CLASSPATH 中没有其他 MQ 版本的任何其他 MQ jar 文件。
标签: ibm-mq