При попытке создать контекст, этот код выдает исключение ниже:
package com.mycompany.mq.client;
import static org.junit.Assert.assertEquals;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.net.URL;
import java.util.logging.Logger;
import javax.jms.JMSConsumer;
import javax.jms.JMSContext;
import javax.jms.JMSProducer;
import javax.jms.Queue;
import javax.jms.TextMessage;
import org.junit.Assert;
import org.junit.Test;
import com.ibm.msg.client.jms.JmsConnectionFactory;
import com.ibm.msg.client.jms.JmsFactoryFactory;
import com.ibm.msg.client.wmq.WMQConstants;
import com.prowidesoftware.swift.io.RJEReader;
import com.prowidesoftware.swift.model.SwiftMessage;
public class FileScanner {
private static final Logger logger = Logger.getLogger("RJEFileParser");
@Test
public void testPublish() throws Exception {
int count=0;
long m1,m2;
// Create a connection factory
JmsFactoryFactory ff = JmsFactoryFactory.getInstance(WMQConstants.WMQ_PROVIDER);
JmsConnectionFactory cf = ff.createConnectionFactory();
// Set the properties
String s;
s=Config.get("HOST"); // 10.32.1.69
cf.setStringProperty(WMQConstants.WMQ_HOST_NAME, s);
s=Config.get("PORT"); // 1414
cf.setIntProperty(WMQConstants.WMQ_PORT, Integer.parseInt(s));
s=Config.get("CHANNEL"); // MQCLI.CLNTCONN
cf.setStringProperty(WMQConstants.WMQ_CHANNEL, s);
cf.setIntProperty(WMQConstants.WMQ_CONNECTION_MODE, WMQConstants.WMQ_CM_CLIENT);
s=Config.get("QMGR"); // RJE_PerfTest
cf.setStringProperty(WMQConstants.WMQ_QUEUE_MANAGER, s);
cf.setStringProperty(WMQConstants.WMQ_APPLICATIONNAME, "mq-cli");
cf.setBooleanProperty(WMQConstants.USER_AUTHENTICATION_MQCSP, true);
s=Config.get("APP_USER"); // app
cf.setStringProperty(WMQConstants.USERID, s);
s=Config.get("APP_PASSWORD"); // password
cf.setStringProperty(WMQConstants.PASSWORD, s);
// Create JMS objects
try {
JMSContext context = cf.createContext(); // Throws exception
...
} catch (FileNotFoundException e) {
e.printStackTrace();
Assert.fail(e.getMessage());
} catch (IOException e) {
e.printStackTrace();
Assert.fail(e.getMessage());
} catch (Exception e) {
e.printStackTrace();
Assert.fail(e.getMessage());
}
}
}
Брошено исключение:
com.ibm.msg.client.jms.DetailedJMSRuntimeException : JMSWMQ0018: Не удалось подключиться к администратору очередей «RJE_PerfTest» с режимом подключения «Клиент» и именем хоста «10 .32.1.69 (1414)». Проверьте, запущен ли администратор очередей, и, если он работает в режиме клиента, проверьте, работает ли прослушиватель. Пожалуйста, смотрите связанное исключение для получения дополнительной информации. в com.ibm.msg.client.jms.DetailedJMSException.getUnchecked (ПодробностиJMSException. java: 267) в com.ibm.msg.client.jms.internal.JmsErrorUtils.convertJMSException (JmsErrorUtils. java: 173 в com) .ibm.msg.client.jms.admin.JmsConnectionFactoryImpl.createContext (JmsConnectionFactoryImpl. java: 478) на com.mycompany.mq.client.FileScanner.testPubli sh (FileScanner. java: 61). refle.NativeMethodAccessorImpl.invoke0 (нативный метод) в sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl. java: 62) в sun.reflect.DelegatingMethodAccessorIccessl.invoke * * * 10 *. refle.Method.invoke (Method. java: 498) в org.junit.runners.model.FrameworkMethod $ 1.runReflectiveCall (FrameworkMethod. java: 50) в org.junit.internal.runners.model.ReflectiveCallabler. (ReflectiveCallable. java: 12) в org.junit.runners.model.FrameworkMethod.invokeExplosively (FrameworkMethod. java: 47) в org.junit.internal.runners.statements.InvokeMethod.evaluate (Inv okeMethod. java: 17) в org.junit.runners.ParentRunner.runLeaf (ParentRunner. java: 325) в org.junit.runners.BlockJUnit4ClassRunner.runChild (BlockJUnit4ClassRunner.) 78 at. 1033 .runners.BlockJUnit4ClassRunner.runChild (BlockJUnit4ClassRunner. java: 57) в org.junit.runners.ParentRunner $ 3.run (ParentRunner. java: 290) в org.junit.runners.ParentRunner $ ParentRunner $ 1036 *: 71) в org.junit.runners.ParentRunner.runChildren (ParentRunner. java: 288) в org.junit.runners.ParentRunner.access $ 000 (ParentRunner. java: 58) в org.junit.runners .ParentRunner $ 2.evaluate (ParentRunner. java: 268) в org.junit.runners.ParentRunner.run (ParentRunner. java: 363) в org.eclipse.jdt.internal.junit4.runner.JUnit4TestReferencer. JUnit4TestReference. java: 89) в org.eclipse.jdt.internal.junit.runner.TestExecution.run (TestExecution. java: 41) в org.eclipse.jdt.internal.junit.runner.RemoteTestTunTr RemoteTestRunner. java: 541) в org.eclipse.jdt.internal.junit.runner.RemoteTestRun ner.runTests (RemoteTestRunner. java: 763) в org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run (RemoteTestRunner. java: 463) в org.eclipse.jdt.internal.junit.un RemoteTestRunner.main (RemoteTestRunner. java: 209) Вызвано: com.ibm.mq.MQException: JMSCMQ0001: сбой вызова IBM MQ с кодом 2 '(' MQCC_FAILED '), причина' 2540 '(' MQRC_UNKNOWN_CHANNEL_NAME '). на com.ibm.msg.client.wmq.common.internal.Reason.createException (Reason. java: 203) на com.ibm.msg.client.wmq.internal.WMQConnection. (WMQConnection. java: 424 . . ) ... еще 24 Причина: com.ibm.mq.jmqi.JmqiException: CC = 2; RC = 2540; AMQ9204: Соединение с хостом '10 .32.1.69 (1414)' отклонено. [1 = com.ibm.mq.jmqi.JmqiException [CC = 2; RC = 2540; AMQ9520: канал не определен удаленно. [3 = MQCLI.CLNTCONN]], 3 = 10.32.1.69 (1414), 5 = RemoteConnection.analyseErrorSegment] на com.ibm.mq.jmqi.remote.api. RemoteFAP.jmqiConnect (RemoteFAP. java: 2314) по адресу com.ibm.mq.jmqi.remote.api.RemoteFAP.jmqiConnect (RemoteFAP. java: 1285) по адресу com.ibm.mq.ese.jmqi.InterceptedJmqiImpl. jmqiConnect (InterceptedJmqiImpl. java: 377) на com.ibm.mq.ese.jmqi.ESEJMQI.jmqiConnect (ESEJMQI. java: 562) на com.ibm.msg.client.wmq.internal.WMQConnection. . java: 357) ... еще 28 Причина: com.ibm.mq.jmqi.JmqiException: CC = 2; RC = 2540; AMQ9520: Канал не определен удаленно. [3 = MQCLI.CLNTCONN] в com.ibm.mq.jmqi.remote.impl.RemoteConnection.analyseErrorSegment (RemoteConnection. java: 4464) в com.ibm.mq.jmqi.remote.impl.RemoteConnection.receiveT SH (RemoteConnection. java: 3199) по адресу com.ibm.mq.jmqi.remote.impl.RemoteConnection.initSess (RemoteConnection. java: 1274) по адресу com.ibm.mq.jmqi.remote.impl.RemoteConnection. connect (RemoteConnection. java: 895) по адресу com.ibm.mq.jmqi.remote.impl.RemoteConnectionSpecification.getSessionFromNewConnection (RemoteConnectionSpecification. java: 416) по адресу com.ibm.mq.jmqi.remote.impl.RemoteConnection. getSession (RemoteConnectionSpecification. java: 312) по адресу com.ibm.mq.jmqi.remote.impl.RemoteConnectionPool.getSession (RemoteConnectionPool. java: 146) по адресу com.ibm.mq.jmqi.remote.api.RemoteFAP. jmqiConnect (RemoteFAP. java: 1761) ... еще 32
DIS CHANNEL ('MQCLI.CLNTCONN')
3 : DIS CHANNEL ('MQCLI.CLNTCONN')
AMQ8414: Display Channel details.
CHANNEL(MQCLI.CLNTCONN) CHLTYPE(CLNTCONN)
AFFINITY(PREFERRED) ALTDATE(2020-03-06)
ALTTIME(11.34.36) CERTLABL( )
CLNTWGHT(0) COMPHDR(NONE)
COMPMSG(NONE) CONNAME(10.32.1.69)
DEFRECON(NO) DESCR( )
HBINT(300) KAINT(AUTO)
LOCLADDR( ) MAXMSGL(4194304)
MODENAME( ) PASSWORD( )
QMNAME(RJE_PerfTest) RCVDATA( )
RCVEXIT( ) SCYDATA( )
SCYEXIT( ) SENDDATA( )
SENDEXIT( ) SHARECNV(10)
SSLCIPH( ) SSLPEER( )
TPNAME( ) TRPTYPE(TCP)
USERID( )
С диспетчером очереди, настроенным как
DIS QMGR
2 : DIS QMGR
AMQ8408: Display Queue Manager details.
QMNAME(RJE_PerfTest) ACCTCONO(DISABLED)
ACCTINT(1800) ACCTMQI(OFF)
ACCTQ(OFF) ACTIVREC(MSG)
ACTVCONO(DISABLED) ACTVTRC(OFF)
ALTDATE(2020-03-04) ALTTIME(15.48.24)
AUTHOREV(DISABLED) CCSID(437)
CERTLABL(ibmwebspheremqrje_perftest) CERTVPOL(ANY)
CHAD(DISABLED) CHADEV(DISABLED)
CHADEXIT( ) CHLEV(DISABLED)
CHLAUTH(ENABLED) CLWLDATA( )
CLWLEXIT( ) CLWLLEN(100)
CLWLMRUC(999999999) CLWLUSEQ(LOCAL)
CMDEV(DISABLED) CMDLEVEL(800)
COMMANDQ(SYSTEM.ADMIN.COMMAND.QUEUE) CONFIGEV(DISABLED)
CONNAUTH(SYSTEM.DEFAULT.AUTHINFO.IDPWOS)
CRDATE(2020-02-20) CRTIME(16.25.00)
CUSTOM( ) DEADQ( )
DEFCLXQ(SCTQ) DEFXMITQ( )
DESCR( ) DISTL(YES)
INHIBTEV(DISABLED) IPADDRV(IPV4)
LOCALEV(DISABLED) LOGGEREV(DISABLED)
MARKINT(5000) MAXHANDS(256)
MAXMSGL(104857600) MAXPROPL(NOLIMIT)
MAXPRTY(9) MAXUMSGS(10000)
MONACLS(QMGR) MONCHL(OFF)
MONQ(OFF) PARENT( )
PERFMEV(DISABLED) PLATFORM(WINDOWSNT)
PSMODE(ENABLED) PSCLUS(ENABLED)
PSNPMSG(DISCARD) PSNPRES(NORMAL)
PSRTYCNT(5) PSSYNCPT(IFPER)
QMID(RJE_PerfTest_2020-02-20_16.25.00)
REMOTEEV(DISABLED) REPOS( )
REPOSNL( ) REVDNS(ENABLED)
ROUTEREC(MSG) SCHINIT(QMGR)
SCMDSERV(QMGR) SPLCAP(DISABLED)
SSLCRLNL( ) SSLCRYP( )
SSLEV(DISABLED) SSLFIPS(NO)
SSLKEYR(C:\ProgramData\IBM\MQ\qmgrs\RJE_PerfTest\ssl\key)
SSLRKEYC(0) STATACLS(QMGR)
STATCHL(OFF) STATINT(1800)
STATMQI(OFF) STATQ(OFF)
STRSTPEV(ENABLED) SUITEB(NONE)
SYNCPT TREELIFE(1800)
TRIGINT(999999999) VERSION(08000005)
XRCAP(NO)
Связь работает нормально.
Как решить эту проблему?
Заранее спасибо. * 1 018 *