Tag: ibm mq

使用C#客户端断开与WebSphere MQ的连接时,TCP连接仍处于CLOSE_WAIT状态

我使用以下代码断开与MQQueue和MQQueueManager的连接: Queue.Close(); log.Info(“Queue IsOpen:”+ Queue.IsOpen.ToString()); 队列= null; QueueManager.Disconnect(); QueueManager.Close(); log.Info(“QM IsOpen:”+ QueueManager.IsOpen.ToString()); log.Info(“QM IsConnected:”+ QueueManager.IsConnected.ToString()); QueueManager = null; 我得到以下日志条目: 队列IsOpen:false QM IsOpen:false QM IsConnected:false 但是几个小时后,当我从命令提示符运行netstat -n命令时,我得到了一长串与MQ服务器的连接,这些连接中的State是CLOSE_WAIT 。 任何想法为什么TCP连接没有完全关闭? 有什么方法可以从代码中杀死那些? 目前,我将不得不重新启动客户端应用程序,以清理打开的连接。 WebSphere MQ版本是6.0.2.6,.NET库来自MQ 7。

C#中的消息驱动bean

任何人都可以建议我在C#.net中编写消息驱动bean的代码来监听MQ并处理它。

具有集群队列的IBM MQ问题

无法将消息放入远程队列管理器上的群集队列。 我正在使用MQGetMessageOptions和MQPutMessageOptions。 我使用7.5 MQ服务器和客户端(7.5.0.1) 它抛出原因码 – 2085-消息-CompCode:2,原因:2085 队列和队列管理器使用MQ群集连接。 mqQueue = mqQueueMgr.AccessQueue(“queue name”, MQC.MQOO_FAIL_IF_QUIESCING | MQC.MQOO_INPUT_SHARED | MQC.MQOO_BROWSE); 我尝试使用amqsput.exe发送测试消息,它在那里工作正常。 有什么想法吗?

C# – 使用Websphere MQ V7.0.1的SSL

使用C#连接到启用SSL的队列管理器时,我需要设置哪些值才能使队列正常工作? 我目前收到此错误:原因代码:2393 MQRC_SSL_INITIALIZATION_ERROR 在我的代码中,我正在设置MQEnvironment.SSLKeyRepository和MQEnvironment.SSLCipherSpec 我还需要用C#设置其他东西吗? 我已经看到一些Java示例设置密钥库密码和类型和东西。 我也看过设置系统环境变量的例子,但这似乎也没有任何区别。

通过C#将消息放入Websphere MQ与手动放置相同消息的数据长度不同

MQMessage queueMessage = new MQMessage(); queueMessage.WriteString(strInputMsg); queueMessage.Format = MQC.MQFMT_STRING; MQPutMessageOptions queuePutMessageOptions = new MQPutMessageOptions(); Queue.Put(queueMessage, queuePutMessageOptions); 使用C#,使用上面的代码,当我将消息输入队列时,消息的数据长度为3600。 当我通过右键单击队列并选择Put Test Message选项手动将消息输入队列时,消息的数据长度为1799。 我真的很困惑为什么会这样。 两种情况下的消息都是带声明的xml字符串。 在Notepad ++中,有1811个字符,包括声明。 当我在输入队列之前在调试器中查看消息时,消息将转换为xml而不包含任何行或返回的托架。 我使用以下方法创建了xml字符串: //converts string message into xml by serializing it public string GetMessage(MyMessage messageInstance) { // Serialize the request XmlSerializer xsr = new XmlSerializer(typeof(MyMessage)); MemoryStream memoryStream = new MemoryStream(); XmlTextWriter xmlTextWriter […]

如何获取Websphere MQ连接状态以及如何重置连接:

1.)从.net客户端,如何测试客户端是否连接到服务器(即可以发送和接收)是的,我可以在try块内发送消息并捕获随后的exception,但我希望更优雅的解决方案。 2)如何打开,关闭和重新打开连接? 在我尝试解决上面的问题1时,我发现如果我打开连接然后调用connection.Close()我无法从连接工厂获得另一个连接(请参阅下面的代码片段)。 我收到错误消息XMSCC0008 我使用的是非常标准的vanilla MQ配置。 以下是我的客户端连接方式: ISession session = MQAccess.GetSession(MQAccess.Connection); IDestination destination = session.CreateTopic(SubTopicName); Consumer = MQAccess.GetConsumer(session, destination); Consumer.MessageListener = new MessageListener(HandleMQSubEvent); MQAccess.Connection.Start(); 其中MQAccess是一个小实用程序类。 编辑了添加MQAccess代码的问题: public static class MQAccess { public static readonly MQConfigurationSectionHandler ConfigSettings; public static readonly IConnectionFactory ConnectionFactory; private static readonly IConnection connection; public static IConnection Connection { get { return connection; […]

使用CCDT连接到MQ服务器

我正在尝试使用CCDT文件中的信息连接到MQ 。 我现在可以使用所有细节连接到MQ ,并从队列获取消息并将消息放入队列。 经过大量的谷歌搜索,我一直无法找到任何允许我使用CCDT文件连接的示例代码。 我的一位同事向我转发了他的JMS连接代码,但我无法将其移植到C# 。 JAVA代码如下 – public class MQTest { public static void main(String[] args) { MQQueueManager queueManager = null; URL ccdtFileUrl = null; MQMessage mqMessage = null; //MQPutMessageOptions myPMO = null try { String QM = “IB9QMGR”; String QUEUE1 = “TEST”; System.out.println(“Starting MQClient Put Program: “); ccdtFileUrl = new URL(“file:///D:/AMQCLCHL.TAB”) ; […]

.NET客户端通过SSL连接到IBM MQ

我从客户端获得了关键文件,我需要使用它们来连接到MQ over SSL。 我们从客户端获得的文件是: xxx.crl xxx.kdb xxx.rdb xxx.sth xxx.tab 他们说客户端频道表。 我正在尝试使用以下代码进行连接。 他们说我不需要指定它将在客户端通道表中定义的队列管理器。 但有一点是他们在使用“user1”创建密钥时已完成。 码: Hashtable connectionProperties = new Hashtable(); // Add the connection type connectionProperties.Add(MQC.TRANSPORT_PROPERTY, connectionType); MQQueueManager qMgr; MQEnvironment.SSLCipherSpec = “TRIPLE_DES_SHA_US”; MQEnvironment.SSLKeyRepository = @”D:\Cert\BB\key”; MQEnvironment.UserId = “user1”; MQEnvironment.properties.Add(MQC.TRANSPORT_PROPERTY, connectionType); qMgr = new MQQueueManager(); 我得到的错误: 消息=“MQRC_Q_MGR_NAME_ERROR” 我也试过telneting我能做的服务器。 有些人可以帮助我,我在这里做错了,为什么我得到这个错误。

如何使用c#.net连接ibm websphere mq

可以任何人指导我,通过使用c#.net连接到ibm websphere mq,原因是我试图将消息推送到MQ,请任何给我建议连接使用c#.net