2016-07-05 23 views
0

私は現在、SpringのJMSメッセージング(JMSTemplate)を使用するアプリケーションで作業しています。アプリケーションは、JMSTemplateがメッセージに付加する "RFH"ヘッダーを解読できないメインフレームキューにメッセージを送信する必要があります。メインフレームがヘッダーなしでメッセージの生の内容を取得できるように、すべてのヘッダー情報をプログラムで完全に削除する方法はありますか?ここでSpring JMSテンプレート - RFHヘッダー情報を削除する

は私のコードです...ここで

MQQueueConnectionFactory connectionFactory = new MQQueueConnectionFactory(); 
    connectionFactory.setHostName("127.0.0.1"); 
    connectionFactory.setPort(1414); 
    connectionFactory.setChannel("S_LOCALHOST"); 
    connectionFactory.setQueueManager("QM_LOCALHOST"); 
    connectionFactory.setTransportType(1); 

    UserCredentialsConnectionFactoryAdapter credentials = new UserCredentialsConnectionFactoryAdapter(); 
    credentials.setUsername(""); 
    credentials.setPassword(""); 
    credentials.setTargetConnectionFactory(connectionFactory); 

    JmsTemplate jmsTemplate = new JmsTemplate(credentials); 
    jmsTemplate.setPubSubDomain(false); 
    jmsTemplate.setDeliveryMode(javax.jms.DeliveryMode.NON_PERSISTENT); 
    jmsTemplate.setExplicitQosEnabled(true); 
    jmsTemplate.setReceiveTimeout(60000); 

    jmsTemplate.convertAndSend("MY.QUEUE", "cobol data"); 

は、メッセージは、WebSphere MQ Explorerのように見えるものです。これらの値を削除するにはどうすればよいですか? Spring JMSでも可能ですか?あなたが任意のより多くの情報が必要な場合は、レムは知っている...非JMSキューに送信されRFHヘッダーを無効にする

enter image description here

答えて

1

一つの方法は、例えば、targetClientキューURIプロパティを使用することです

queue.setTargetClient(WMQConstants.WMQ_CLIENT_NONJMS_MQ); 

のWebSphere MQ参照:

https://www.ibm.com/support/knowledgecenter/SSFKSJ_9.0.0/com.ibm.mq.dev.doc/q032240_.htm

http://www.ibm.com/support/knowledgecenter/SSFKSJ_9.0.0/com.ibm.mq.javadoc.doc/WMQJMSClasses/com/ibm/mq/jms/MQDestination.html

jmsTemplate.convertAndSend("queue:///MY.QUEUE?targetClient=1", "cobol data"); 

また、あなたはQueueオブジェクト自体にこれを設定し、jmsTemplate先として、これを使用することができます

+0

ありがとうたくさんのck1、あなたの最初のスニペットは、トリックを行ったようだ!もう1つのスニペットについての質問ですが、他の投稿でtargetClientの設定については言及していますが、キューオブジェクトの種類が分からない場合は、キューオブジェクトの完全修飾パッケージ名を教えてください。 – Jason

関連する問題