c#.netを使用してibm websphere mqに接続するために、誰かが私をガイドできますか?メッセージをMQにプッシュしようとしている理由は、c#.netを使用して接続するための提案を教えてくれますか?
Windowsにはamqmdnet.dllと呼ばれるIBM提供のdll(v5.3 Fixpack8以降)があります。これは、IBMがサポートするMQSeriesのモデルを提供する.NETアセンブリです。 ( 参照 )通常はC:\Program Files\IBM\WebSphere MQ\bin\amqmdnet.dll
にあります
より多くの方向性が必要な場合は、CodeProjectで.NETからMQと通信する方法に関するいくつかの例があります。
また、役立つ可能性のあるこのウォークスルーがあります: http://www.c-sharpcorner.com/UploadFile/pk_khuman/AquickstartCsharpWebsphereMQ07112006024017AM/AquickstartCsharpWebsphereMQ.aspx
IBMが提供する.NETライブラリーを使用して接続できます。ただし、ソリューションをデプロイするすべてのサーバーにWebSphereMQクライアントをインストールする必要があります。 (ラメ)
WebSphere MQを使用している場合、XMSアプリケーションの実行に使用されるマシンは、WebSphere MQ ClientV7.0.1.0以降とともにインストールされる必要があります。
IKVM(www.ikvm.net)を使用していくつかのJavaライブラリを変換することで、これを回避できます。
プロセス全体は約15分しかかかりません。
JARファイルを取得できるように、開発ボックスにクライアントをダウンロードしてインストールする必要があります。 変換後、クライアントをアンインストールできます。
1)JARを取得する
2)JARを変換する
3)JARをコピーする
4)JARを参照します
以下は、ライブラリの使用方法の非常に簡単な例です。
using com.ibm.msg.client.jms;
using com.ibm.msg.client.wmq.common;
using javax.jms;
using System;
class Program
{
static void Main(string[] args)
{
var ff = JmsFactoryFactory.getInstance(JmsConstants.__Fields.WMQ_PROVIDER);
var cf = ff.createConnectionFactory() as JmsConnectionFactory;
cf.setIntProperty(CommonConstants.__Fields.WMQ_CONNECTION_MODE, CommonConstants.__Fields.WMQ_CM_CLIENT);
cf.setStringProperty(CommonConstants.__Fields.WMQ_Host_NAME, "<YOUR INFO>");
cf.setIntProperty(CommonConstants.__Fields.WMQ_PORT, 1414);
cf.setStringProperty(CommonConstants.__Fields.WMQ_CHANNEL, "<YOUR INFO>");
cf.setStringProperty(CommonConstants.__Fields.WMQ_QUEUE_MANAGER, "<YOUR INFO>");
var connection = cf.createConnection();
var session = connection.createSession(false, Session.__Fields.AUTO_ACKNOWLEDGE);
var queue = session.createQueue("queue:///<YOUR INFO>");
var producer = session.createProducer(queue);
var msg = session.createTextMessage();
msg.setStringProperty("JMSXGroupID", Guid.NewGuid().ToString());
msg.setIntProperty("JMSXGroupSeq", 1);
msg.setBooleanProperty("JMS_IBM_Last_Msg_In_Group", true);
msg.setText("Hello World");
connection.start();
producer.send(msg);
producer.close();
session.close();
connection.close();
}
}