Spring integration Spring JMS出站通道适配器死锁

Spring integration Spring JMS出站通道适配器死锁,spring-integration,spring-jms,Spring Integration,Spring Jms,它突然停止发布消息,如果有任何帮助,我们将不胜感激。在下面找到一些线索,如果你想看其他的,请告诉我。除一个被阻止的发布线程外,所有发布线程都显示为等待 "publishingTaskExecutor-10" - Thread t@85 java.lang.Thread.State: WAITING at sun.misc.Unsafe.park(Native Method) - waiting to lock <69db34e8> (a java.util.c

它突然停止发布消息,如果有任何帮助,我们将不胜感激。在下面找到一些线索,如果你想看其他的,请告诉我。除一个被阻止的发布线程外,所有发布线程都显示为等待

 "publishingTaskExecutor-10" - Thread t@85
   java.lang.Thread.State: WAITING
    at sun.misc.Unsafe.park(Native Method)
    - waiting to lock <69db34e8> (a java.util.concurrent.locks.ReentrantLock$NonfairSync) owned by "publishingTaskExecutor-6" t@81
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:838)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:871)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1201)
    at java.util.concurrent.locks.ReentrantLock$NonfairSync.lock(ReentrantLock.java:214)
    at java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:290)
    at com.ibm.mq.jmqi.remote.impl.RemoteConnection.requestSendLock(RemoteConnection.java:2842)
    at com.ibm.mq.jmqi.remote.impl.RemoteConnection.sendTSH(RemoteConnection.java:1812)
    at com.ibm.mq.jmqi.remote.impl.RemoteSession.sendTSH(RemoteSession.java:758)
    at com.ibm.mq.jmqi.remote.api.RemoteFAP.jmqiPutMessageWithProps(RemoteFAP.java:7999)
    at com.ibm.mq.jmqi.remote.api.RemoteFAP.jmqiPut(RemoteFAP.java:7254)
    at com.ibm.mq.ese.jmqi.InterceptedJmqiImpl.jmqiPut(InterceptedJmqiImpl.java:496)
    at com.ibm.mq.ese.jmqi.ESEJMQI.jmqiPut(ESEJMQI.java:385)
    at com.ibm.msg.client.wmq.internal.WMQMessageProducer$SpiIdentifiedProducerShadow.sendInternal(WMQMessageProducer.java:812)
    at com.ibm.msg.client.wmq.internal.WMQMessageProducer$ProducerShadow.send(WMQMessageProducer.java:531)
    at com.ibm.msg.client.wmq.internal.WMQMessageProducer.send(WMQMessageProducer.java:1178)
    at com.ibm.msg.client.jms.internal.JmsMessageProducerImpl.sendMessage(JmsMessageProducerImpl.java:927)
    at com.ibm.msg.client.jms.internal.JmsMessageProducerImpl.send_(JmsMessageProducerImpl.java:783)
    at com.ibm.msg.client.jms.internal.JmsMessageProducerImpl.send(JmsMessageProducerImpl.java:420)
    at com.ibm.mq.jms.MQMessageProducer.send(MQMessageProducer.java:329)
    at org.springframework.jms.connection.CachedMessageProducer.send(CachedMessageProducer.java:179)
    at org.springframework.jms.core.JmsTemplate.doSend(JmsTemplate.java:633)
    at org.springframework.jms.core.JmsTemplate.doSend(JmsTemplate.java:604)
    at org.springframework.jms.core.JmsTemplate$3.doInJms(JmsTemplate.java:569)
    at org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:491)
    at org.springframework.jms.core.JmsTemplate.send(JmsTemplate.java:566)
    at org.springframework.jms.core.JmsTemplate.convertAndSend(JmsTemplate.java:689)
    at org.springframework.integration.jms.JmsSendingMessageHandler.send(JmsSendingMessageHandler.java:142)
    at org.springframework.integration.jms.JmsSendingMessageHandler.handleMessageInternal(JmsSendingMessageHandler.java:115)
    at org.springframework.integration.handler.AbstractMessageHandler.handleMessage(AbstractMessageHandler.java:78)
    at sun.reflect.GeneratedMethodAccessor21.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:616)
    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
    at org.springframework.integration.handler.advice.AbstractRequestHandlerAdvice$1.cloneAndExecute(AbstractRequestHandlerAdvice.java:92)
    at org.springframework.integration.handler.advice.RequestHandlerRetryAdvice$2.doWithRetry(RequestHandlerRetryAdvice.java:88)
    at org.springframework.retry.support.RetryTemplate.doExecute(RetryTemplate.java:263)
    at org.springframework.retry.support.RetryTemplate.execute(RetryTemplate.java:193)
    at org.springframework.integration.handler.advice.RequestHandlerRetryAdvice.doInvoke(RequestHandlerRetryAdvice.java:85)
    at org.springframework.integration.handler.advice.AbstractRequestHandlerAdvice.invoke(AbstractRequestHandlerAdvice.java:69)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
    at org.springframework.integration.handler.advice.AbstractRequestHandlerAdvice$1.execute(AbstractRequestHandlerAdvice.java:74)
    at org.springframework.integration.handler.advice.ExpressionEvaluatingRequestHandlerAdvice.doInvoke(ExpressionEvaluatingRequestHandlerAdvice.java:125)
    at org.springframework.integration.handler.advice.AbstractRequestHandlerAdvice.invoke(AbstractRequestHandlerAdvice.java:69)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207)
    at sun.proxy.$Proxy15.handleMessage(Unknown Source)
    at org.springframework.integration.dispatcher.AbstractDispatcher.tryOptimizedDispatch(AbstractDispatcher.java:116)
    at org.springframework.integration.dispatcher.UnicastingDispatcher.doDispatch(UnicastingDispatcher.java:101)
    at org.springframework.integration.dispatcher.UnicastingDispatcher.dispatch(UnicastingDispatcher.java:97)
    at org.springframework.integration.channel.AbstractSubscribableChannel.doSend(AbstractSubscribableChannel.java:77)
    at org.springframework.integration.channel.AbstractMessageChannel.send(AbstractMessageChannel.java:255)
    at org.springframework.integration.channel.AbstractMessageChannel.send(AbstractMessageChannel.java:223)
    at org.springframework.messaging.core.GenericMessagingTemplate.doSend(GenericMessagingTemplate.java:109)
    at org.springframework.messaging.core.GenericMessagingTemplate.doSend(GenericMessagingTemplate.java:44)
    at org.springframework.messaging.core.AbstractMessageSendingTemplate.send(AbstractMessageSendingTemplate.java:94)
    at org.springframework.integration.handler.AbstractReplyProducingMessageHandler.sendMessage(AbstractReplyProducingMessageHandler.java:260)
    at org.springframework.integration.handler.AbstractReplyProducingMessageHandler.sendReplyMessage(AbstractReplyProducingMessageHandler.java:241)
    at org.springframework.integration.handler.AbstractReplyProducingMessageHandler.produceReply(AbstractReplyProducingMessageHandler.java:205)
    at org.springframework.integration.handler.AbstractReplyProducingMessageHandler.handleResult(AbstractReplyProducingMessageHandler.java:199)
    at org.springframework.integration.handler.AbstractReplyProducingMessageHandler.handleMessageInternal(AbstractReplyProducingMessageHandler.java:177)
    at org.springframework.integration.handler.AbstractMessageHandler.handleMessage(AbstractMessageHandler.java:78)
    at org.springframework.integration.dispatcher.AbstractDispatcher.tryOptimizedDispatch(AbstractDispatcher.java:116)
    at org.springframework.integration.dispatcher.UnicastingDispatcher.doDispatch(UnicastingDispatcher.java:101)
    at org.springframework.integration.dispatcher.UnicastingDispatcher.access$000(UnicastingDispatcher.java:48)
    at org.springframework.integration.dispatcher.UnicastingDispatcher$1.run(UnicastingDispatcher.java:92)
    at org.springframework.integration.util.ErrorHandlingTaskExecutor$1.run(ErrorHandlingTaskExecutor.java:52)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:679)

   Locked ownable synchronizers:
    - locked <28b2311b> (a java.util.concurrent.ThreadPoolExecutor$Worker)

    - locked <12da8727> (a java.util.concurrent.locks.ReentrantLock$NonfairSync)
publishingTaskExecutor-1-线程t@76 java.lang.Thread.State:正在等待 在sun.misc.Unsafe.parkNative方法中 -正在等待锁定publishingTaskExecutor-6拥有的java.util.concurrent.locks.ReentrantLock$NonfairSynct@81 位于java.util.concurrent.locks.LockSupport.parkLockSupport.java:186 位于java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterruptAbstractQueuedSynchronizer.java:838 位于java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueuedAbstractQueuedSynchronizer.java:871 位于java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireAbstractQueuedSynchronizer.java:1201 位于java.util.concurrent.locks.ReentrantLock$NonfairSync.lockReentrantLock.java:214 位于java.util.concurrent.locks.ReentrantLock.lockReentrantLock.java:290 位于com.ibm.mq.jmqi.remote.impl.RemoteConnection.requestSendLockRemoteConnection.java:2842 位于com.ibm.mq.jmqi.remote.impl.RemoteConnection.sendTSHRemoteConnection.java:1812 位于com.ibm.mq.jmqi.remote.impl.RemoteSession.sendTSHRemoteSession.java:758 位于com.ibm.mq.jmqi.remote.api.RemoteFAP.jmqiPutMessageWithPropsRemoteFAP.java:7999 位于com.ibm.mq.jmqi.remote.api.RemoteFAP.jmqiputmotefap.java:7254 位于com.ibm.mq.ese.jmqi.InterceptedJmqiImpl.jmqiputteinterceptedjmqiimpl.java:496 位于com.ibm.mq.ese.jmqi.ESEJMQI.jmqiPutESEJMQI.java:385 位于com.ibm.msg.client.wmq.internal.WMQMessageProducer$SpiIdentifiedProducerShadow.sendInternalWMQMessageProducer.java:812 位于com.ibm.msg.client.wmq.internal.WMQMessageProducer$ProducerShadow.sendWMQMessageProducer.java:531 位于com.ibm.msg.client.wmq.internal.WMQMessageProducer.sendWMQMessageProducer.java:1178 位于com.ibm.msg.client.jms.internal.JmsMessageProducerImpl.sendMessageJmsMessageProducerImpl.java:927 在com.ibm.msg.client.jms.internal.JmsMessageProducerImpl.send_JmsMessageProducerImpl.java:783 位于com.ibm.msg.client.jms.internal.JmsMessageProducerImpl.sendJmsMessageProducerImpl.java:420 位于com.ibm.mq.jms.MQMessageProducer.sendMQMessageProducer.java:329 位于org.springframework.jms.connection.CachedMessageProducer.sendCachedMessageProducer.java:179 位于org.springframework.jms.core.JmsTemplate.doSendJmsTemplate.java:633 位于org.springframework.jms.core.JmsTemplate.doSendJmsTemplate.java:604 位于org.springframework.jms.core.JmsTemplate$3.doInJmsJmsTemplate.java:569 位于org.springframework.jms.core.JmsTemplate.executeJmsTemplate.java:491 位于org.springframework.jms.core.JmsTemplate.sendJmsTemplate.java:566 位于org.springframework.jms.core.JmsTemplate.convertAndSendJmsTemplate.java:689 位于org.springframework.integration.jms.JmsSendingMessageHandler.sendJmsSendingMessageHandler.java:142 位于org.springframework.integration.jms.JmsSendingMessageHandler.handleMessageInternalJmsSendingMessageHandler.java:115 位于org.springframework.integration.handler.AbstractMessageHandler.handleMessageAbstractMessageHandler.java:78 位于sun.reflect.GeneratedMethodAccessor21.invokeUnknown源 在sun.reflect.DelegatingMethodAccessorImpl.invokeDelegatingMethodAccessorImpl.java:43 位于java.lang.reflect.Method.invokeMethod.java:616 位于org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflectionAopUtils.java:317 位于org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpointReflectiveMethodInvocation.java:190 位于org.springframework.aop.framework.ReflectiveMethodInvocation.proceedReflectiveMethodInvocation.java:157 位于org.springframework.integration.handler.advice.AbstractRequestHandlerAdvice$1.cloneAndExecuteAbstractRequestHandlerAdvice.java:92 位于org.springframework.integration.handler.advice.RequestHandlerRetryAdvice$2.doWithRetryRequestHandlerRetryAdvice.java:88 位于org.springframework.retry.support.RetryTemplate.doExecuteRetryTemplate.java:263 位于org.springframework.retry.support.RetryTemplate.ExecuteTryTemplate.java:193 位于org.springframework.integration.handler.advice.RequestHandlerRetryAdvice.doInvokeRequestHandlerRetryAdvice.java:85 位于org.springframework.integration.handler.advice.AbstractRequestHandlerAdvice.invokeAbstractRequestHandlerAdvice.java:69
在org.springframework.aop.framework.ReflectiveMethodInvocation.proceedReflectiveMethodInvocation.java:179

上,IBM的bug与您的。是同一把锁

at com.ibm.mq.jmqi.remote.impl.RemoteConnection.requestSendLock(RemoteConnection.java:2842)
at com.ibm.mq.jmqi.remote.impl.RemoteConnection.sendTSH(RemoteConnection.java:1812)

看看publishingTaskExecutor-7,看看他在哪里。

这不是一个调试帮助问题,这提出了使用spring JMS时面临的一个严重问题,并请主题专家提供建议或更正。
"publishingTaskExecutor-5" - Thread t@80
   java.lang.Thread.State: BLOCKED
    at org.springframework.jms.connection.SingleConnectionFactory.createConnection(SingleConnectionFactory.java:225)
    - waiting to lock <1935f040> (a java.lang.Object) owned by "JMSCCThreadPoolWorker-698" t@42636
    at org.springframework.jms.support.JmsAccessor.createConnection(JmsAccessor.java:185)
    at org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:481)
    at org.springframework.jms.core.JmsTemplate.send(JmsTemplate.java:566)
    at org.springframework.jms.core.JmsTemplate.convertAndSend(JmsTemplate.java:689)
    at org.springframework.integration.jms.JmsSendingMessageHandler.send(JmsSendingMessageHandler.java:142)
    at org.springframework.integration.jms.JmsSendingMessageHandler.handleMessageInternal(JmsSendingMessageHandler.java:115)
    at org.springframework.integration.handler.AbstractMessageHandler.handleMessage(AbstractMessageHandler.java:78)
    at sun.reflect.GeneratedMethodAccessor21.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:616)
    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
    at org.springframework.integration.handler.advice.AbstractRequestHandlerAdvice$1.cloneAndExecute(AbstractRequestHandlerAdvice.java:92)
    at org.springframework.integration.handler.advice.RequestHandlerRetryAdvice$2.doWithRetry(RequestHandlerRetryAdvice.java:88)
    at org.springframework.retry.support.RetryTemplate.doExecute(RetryTemplate.java:263)
    at org.springframework.retry.support.RetryTemplate.execute(RetryTemplate.java:193)
    at org.springframework.integration.handler.advice.RequestHandlerRetryAdvice.doInvoke(RequestHandlerRetryAdvice.java:85)
    at org.springframework.integration.handler.advice.AbstractRequestHandlerAdvice.invoke(AbstractRequestHandlerAdvice.java:69)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
    at org.springframework.integration.handler.advice.AbstractRequestHandlerAdvice$1.execute(AbstractRequestHandlerAdvice.java:74)
    at org.springframework.integration.handler.advice.ExpressionEvaluatingRequestHandlerAdvice.doInvoke(ExpressionEvaluatingRequestHandlerAdvice.java:125)
    at org.springframework.integration.handler.advice.AbstractRequestHandlerAdvice.invoke(AbstractRequestHandlerAdvice.java:69)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207)
    at sun.proxy.$Proxy15.handleMessage(Unknown Source)
    at org.springframework.integration.dispatcher.AbstractDispatcher.tryOptimizedDispatch(AbstractDispatcher.java:116)
    at org.springframework.integration.dispatcher.UnicastingDispatcher.doDispatch(UnicastingDispatcher.java:101)
    at org.springframework.integration.dispatcher.UnicastingDispatcher.dispatch(UnicastingDispatcher.java:97)
    at org.springframework.integration.channel.AbstractSubscribableChannel.doSend(AbstractSubscribableChannel.java:77)
    at org.springframework.integration.channel.AbstractMessageChannel.send(AbstractMessageChannel.java:255)
    at org.springframework.integration.channel.AbstractMessageChannel.send(AbstractMessageChannel.java:223)
    at org.springframework.messaging.core.GenericMessagingTemplate.doSend(GenericMessagingTemplate.java:109)
    at org.springframework.messaging.core.GenericMessagingTemplate.doSend(GenericMessagingTemplate.java:44)
    at org.springframework.messaging.core.AbstractMessageSendingTemplate.send(AbstractMessageSendingTemplate.java:94)
    at org.springframework.integration.handler.AbstractReplyProducingMessageHandler.sendMessage(AbstractReplyProducingMessageHandler.java:260)
    at org.springframework.integration.handler.AbstractReplyProducingMessageHandler.sendReplyMessage(AbstractReplyProducingMessageHandler.java:241)
    at org.springframework.integration.handler.AbstractReplyProducingMessageHandler.produceReply(AbstractReplyProducingMessageHandler.java:205)
    at org.springframework.integration.handler.AbstractReplyProducingMessageHandler.handleResult(AbstractReplyProducingMessageHandler.java:199)
    at org.springframework.integration.handler.AbstractReplyProducingMessageHandler.handleMessageInternal(AbstractReplyProducingMessageHandler.java:177)
    at org.springframework.integration.handler.AbstractMessageHandler.handleMessage(AbstractMessageHandler.java:78)
    at org.springframework.integration.dispatcher.AbstractDispatcher.tryOptimizedDispatch(AbstractDispatcher.java:116)
    at org.springframework.integration.dispatcher.UnicastingDispatcher.doDispatch(UnicastingDispatcher.java:101)
    at org.springframework.integration.dispatcher.UnicastingDispatcher.access$000(UnicastingDispatcher.java:48)
    at org.springframework.integration.dispatcher.UnicastingDispatcher$1.run(UnicastingDispatcher.java:92)
    at org.springframework.integration.util.ErrorHandlingTaskExecutor$1.run(ErrorHandlingTaskExecutor.java:52)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:679)

   Locked ownable synchronizers:
    - locked <5fd9398d> (a java.util.concurrent.ThreadPoolExecutor$Worker)
"JMSCCThreadPoolWorker-698" - Thread t@42636
   java.lang.Thread.State: WAITING
    at sun.misc.Unsafe.park(Native Method)
    - waiting to lock <7ac1ad0d> (a java.util.concurrent.locks.ReentrantLock$NonfairSync) owned by "publishingTaskExecutor-1" t@76
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:838)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:871)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1201)
    at java.util.concurrent.locks.ReentrantLock$NonfairSync.lock(ReentrantLock.java:214)
    at java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:290)
    at com.ibm.msg.client.jms.internal.JmsSessionImpl.stop(JmsSessionImpl.java:1994)
    at com.ibm.msg.client.jms.internal.JmsSessionImpl.close(JmsSessionImpl.java:315)
    at com.ibm.msg.client.jms.internal.JmsConnectionImpl.close(JmsConnectionImpl.java:300)
    - locked <15a8f519> (a com.ibm.msg.client.jms.internal.State)
    at com.ibm.mq.jms.MQConnection.close(MQConnection.java:98)
    at org.springframework.jms.connection.SingleConnectionFactory.closeConnection(SingleConnectionFactory.java:435)
    at org.springframework.jms.connection.SingleConnectionFactory.resetConnection(SingleConnectionFactory.java:330)
    - locked <1935f040> (a java.lang.Object)
    at org.springframework.jms.connection.CachingConnectionFactory.resetConnection(CachingConnectionFactory.java:205)
    at org.springframework.jms.connection.SingleConnectionFactory.onException(SingleConnectionFactory.java:310)
    at org.springframework.jms.connection.ChainedExceptionListener.onException(ChainedExceptionListener.java:58)
    at com.ibm.msg.client.jms.internal.JmsProviderExceptionListener.run(JmsProviderExceptionListener.java:427)
    at com.ibm.msg.client.commonservices.workqueue.WorkQueueItem.runTask(WorkQueueItem.java:214)
    at com.ibm.msg.client.commonservices.workqueue.SimpleWorkQueueItem.runItem(SimpleWorkQueueItem.java:105)
    at com.ibm.msg.client.commonservices.workqueue.WorkQueueItem.run(WorkQueueItem.java:229)
    at com.ibm.msg.client.commonservices.workqueue.WorkQueueManager.runWorkQueueItem(WorkQueueManager.java:303)
    at com.ibm.msg.client.commonservices.j2se.workqueue.WorkQueueManagerImplementation$ThreadPoolWorker.run(WorkQueueManagerImplementation.java:1219)

   Locked ownable synchronizers:
    - None
at com.ibm.mq.jmqi.remote.impl.RemoteConnection.requestSendLock(RemoteConnection.java:2842)
at com.ibm.mq.jmqi.remote.impl.RemoteConnection.sendTSH(RemoteConnection.java:1812)