日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > java >内容正文

java

jms java client mq_将Java客户端(JMS)连接到IBM MQ时出现问题

發(fā)布時間:2023/12/2 java 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 jms java client mq_将Java客户端(JMS)连接到IBM MQ时出现问题 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

我正在嘗試使用基本上通過以下方式構(gòu)建的Java客戶端使用SSL消耗IBM MQ(版本8.0.0.8):

Oracle JKD 8和IBM JRE 7(出于測試目的,我每個都有一個客戶端)

com.ibm.mq.allclient-9.1.0.0.jar

javax.jms-api-2.0.1.jarspring-jms-4.3.7.RELEASE.jar

spring-jms-4.3.7.RELEASE.jar

MQ是一種請求/答復(fù)類型。

我已經(jīng)設(shè)置了正確的證書和所有MQ屬性,但是由于某種原因,連接“掉線了”,并且客戶端沒有錯誤,我的請求從未得到任何響應(yīng),并且一直“永遠”運行,從未得到任何響應(yīng)。我唯一的線索是MQ日志中的錯誤消息,內(nèi)容為:

Process(31600.16) User(QMQM) Jobname(JOB_NAME)

Host(HOST_NAME)

VRMF(8.0.0.8) QMgr(MANAGER_NAME)

AMQ9638: SSL communications error for channel

‘CHANNEL_NAME’. EXPLANATION:

Cause . . . . . : An unexpected SSL communications error occurred

for a channel, as reported in the preceding messages. The

channel is ‘CHANNEL_NAME’;

奇怪的是發(fā)生了SSL握手,我的證書被MQ接受了,但是由于某些原因在此之后發(fā)生了某些事情。我正在嘗試同時使用Oracle JRE 8和IBM

JRE7。也許是MQ方面的某些東西(IBM MQ v8.0.0.8)或我缺少的某些配置。

我已經(jīng)安裝了JCE無限策略,所以問題不是CipherSpec X CipherSuite。

我正在使用-Djavax.net.debug = all,可以看到我的證書被正確使用,并且在那里看不到任何問題…

我在MQ團隊的聯(lián)系點告訴我,由于某種原因,我的應(yīng)用程序正在吊銷證書(與CLR有關(guān)的事情),但是我不知道為什么會發(fā)生這種情況。

我的Java代碼:

public Message callMQ() {

Message message = null;

try {

MQConnectionFactory factory = mqQueueConnectionFactory();

JMSContext context = factory.createContext();

Destination requestQueue = context.createQueue("queue:///REQUEST_QUEUE");

Destination replyQueue = context.createQueue("queue:///REPLY_QUEUE");

JmsTemplate jmsTemplate = new JmsTemplate(factory);

FIXMLRootInbound inbound = new FIXMLRootInbound();

String xml = XmlUtil.xmlObjectToString(inbound);

message = jmsTemplate.sendAndReceive(requestQueue,

session -> {

Message req = session.createTextMessage(xml);

req.setJMSCorrelationID(UUID.randomUUID().toString());

req.setJMSDestination(requestQueue);

req.setJMSReplyTo(replyQueue);

return req;

});

} catch (Throwable e) {

e.printStackTrace();

}

return message;

}

private MQConnectionFactory mqQueueConnectionFactory() throws NoSuchAlgorithmException, KeyStoreException,

IOException, CertificateException, UnrecoverableKeyException, KeyManagementException, JmsException {

SSLSocketFactory sslSocketFactory = sslContext().getSocketFactory();

MQEnvironment.sslSocketFactory = sslSocketFactory;

MQEnvironment.sslCipherSuite = "TLS_RSA_WITH_AES_256_CBC_SHA";

MQEnvironment.sslFipsRequired = false;

MQConnectionFactory mqQueueConnectionFactory = new MQQueueConnectionFactory();

mqQueueConnectionFactory.setHostName(host);

try {

mqQueueConnectionFactory.setTransportType(JMSC.MQJMS_TP_CLIENT_MQ_TCPIP);

mqQueueConnectionFactory.setIntProperty(WMQConstants.WMQ_CONNECTION_MODE,

WMQConstants.WMQ_CM_CLIENT);

mqQueueConnectionFactory.setQueueManager(queueManager);

mqQueueConnectionFactory.setSSLCipherSuite("TLS_RSA_WITH_AES_256_CBC_SHA");

mqQueueConnectionFactory.setCCSID(285);

mqQueueConnectionFactory.setChannel(channel);

mqQueueConnectionFactory.setPort(port);

mqQueueConnectionFactory.setSSLSocketFactory(sslSocketFactory);

mqQueueConnectionFactory.setSSLFipsRequired(false);

} catch (Exception e) {

log.error("Error creating MQQueueConnectionFactory.", e);

}

return mqQueueConnectionFactory;

}

private SSLContext sslContext() throws KeyStoreException, IOException, CertificateException, NoSuchAlgorithmException, UnrecoverableKeyException, KeyManagementException {

try (InputStream cert = new FileInputStream("C:\\myplace\\Dev\\Certificates\\MY_KEYSTORE.jks")) {

final KeyStore caCertsKeyStore = KeyStore.getInstance("JKS");

caCertsKeyStore.load(cert, "changeit".toCharArray());

final KeyManagerFactory kmf = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());

final TrustManagerFactory tmf = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm());

CertPathBuilder cpb = CertPathBuilder.getInstance("PKIX");

PKIXRevocationChecker rc = (PKIXRevocationChecker)cpb.getRevocationChecker();

rc.setOptions(EnumSet.of(

PKIXRevocationChecker.Option.PREFER_CRLS,

PKIXRevocationChecker.Option.ONLY_END_ENTITY,

PKIXRevocationChecker.Option.SOFT_FAIL,

PKIXRevocationChecker.Option.NO_FALLBACK));

PKIXBuilderParameters pkixParams = new PKIXBuilderParameters(caCertsKeyStore, new X509CertSelector());

pkixParams.addCertPathChecker(rc);

kmf.init(caCertsKeyStore, "changeit".toCharArray());

tmf.init( new CertPathTrustManagerParameters(pkixParams) );

final SSLContext sslContext = SSLContext.getInstance("TLS");

sslContext.init(kmf.getKeyManagers(), tmf.getTrustManagers(), new SecureRandom());

return sslContext;

} catch (Exception e) {

throw new RuntimeException("Exception creating SSLContext", e);

}

}

總結(jié)

以上是生活随笔為你收集整理的jms java client mq_将Java客户端(JMS)连接到IBM MQ时出现问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 天天操天天操天天干 | 亚洲综合激情小说 | 大吊av | 亚洲精品尤物 | 欧美深性狂猛ⅹxxx深喉 | 国产69精品久久久久久久 | 国产污污视频 | 男插女av| 欧美网站在线观看 | 卡通动漫精品一区二区三区 | 91视频大全 | 亚洲另类图区 | 天堂资源中文在线 | 丁香啪啪综合成人亚洲 | 丁香婷婷久久久综合精品国产 | 黄色网战在线观看 | 这里只有精品免费视频 | 精品一区二区三区欧美 | 三级全黄做爰在线观看 | 麻豆视频在线播放 | 特级av | 女女互磨互喷水高潮les呻吟 | 九九黄色大片 | 国产永久免费 | jizz视频| 天天干夜夜玩 | 日本v片 | 亚洲精品中文字幕成人片 | 男女一进一出视频 | 91在线观看成人 | 天堂中文资源在线 | 在线国产福利 | 红桃视频一区二区三区免费 | 日本三级一区二区三区 | 91成人久久 | 在线观看免费视频黄 | 经典av在线 | 在哪里看毛片 | 麻豆视频在线观看免费网站黄 | 九九热在线观看视频 | 精品人伦一区二区三区蜜桃免费 | 啪啪小视频 | 久久黄色精品视频 | 欧美天堂在线视频 | 女人扒开腿免费视频app | 日韩色小说| 嫩草影院懂你的 | 午夜成年人| www日本黄色 | 一级片观看 | 熟妇一区二区三区 | 伊是香蕉大人久久 | 亚洲 欧美 日韩在线 | 极品白嫩丰满少妇无套 | 丝袜视频在线 | 国语久久| 超碰伊人久久 | 野花视频免费在线观看 | 黑人玩弄人妻一区二区三区四 | 亚洲天天看 | 91麻豆蜜桃| 午夜精品久久久久久久久久久 | 一区二区三区高清在线观看 | www.激情| 中文无码av一区二区三区 | 久久久久亚洲av无码麻豆 | www.白浆 | xxx国产精品 | 久久.com| 丰满少妇被猛烈进入一区二区 | 另类专区亚洲 | 国产三级午夜理伦三级 | 国产精品白嫩白嫩大学美女 | 青青草公开视频 | 亚洲成人av网址 | 小毛片| 91在线网站| 高清在线一区二区三区 | 国内自拍视频在线观看 | 97精品一区二区三区 | 爱情岛论坛亚洲线路一 | 日韩欧美在线视频免费观看 | xxx毛片| 亚洲射射射 | 在线天堂1 | 激情内射人妻1区2区3区 | www.超碰在线观看 | 1024在线视频 | 精品国产一区二区三区性色 | 国产一级片免费 | 一区二区三区日韩欧美 | 黑森林av| 日韩一级网站 | 国产精品888 | 免费看欧美大片 | 国产精品乱码 | 桃色激情网| 高h放荡受浪受bl | 国产日韩一区二区三区 |