zoukankan      html  css  js  c++  java
  • .net客户端调用activeMQ代码

    1、添加对 Apache.NMS Apache.NMS.ActiveMQ引用;

      ActiveMQ .NET   http://activemq.apache.org/nms/index.html

    2、在webconfig中添加调用MQ所需的MQIP,MQName,MQUserName,MQPassword;

      <appSettings>
        
    <add key="MQIP" value="XX" />
        
    <add key="MQName" value="XX" />
        
    <add key="MQUsername" value="XX" />
        
    <add key="MQPassword" value="XX" />
      
    </appSettings>

    3、创建一个通用的调用类。

        

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;


    using Apache.NMS;
    using Apache.NMS.ActiveMQ;
    using Apache.NMS.ActiveMQ.Commands;

    namespace Lee.Client
    {
        
    public class MQ
        
    {
            
    /// <summary>
            
    /// 发送消息
            
    /// </summary>
            
    /// <param name="mqIp">ip地址</param>
            
    /// <param name="mqName">mq名称</param>
            
    /// <param name="mqUsername">用户名</param>
            
    /// <param name="mqPassword">密码</param>
            
    /// <param name="strParam">消息参数</param>
            
    /// <param name="intParam">消息参数</param>

            public static void SendMessage(string mqIp, string mqName, string mqUsername, string mqPassword, string strParam, int intParam)
            
    {
                IConnectionFactory factory 
    = new ConnectionFactory(new Uri("tcp://" + mqIp));

                
    using (IConnection connection = factory.CreateConnection(mqUsername, mqPassword))
                
    {
                    Console.WriteLine(
    "创建一个连接!");
                    ISession session 
    = connection.CreateSession();
                    ActiveMQQueue queue 
    = (ActiveMQQueue)session.GetQueue(mqName);
                    IMessageProducer producer 
    = session.CreateProducer(queue);
                    producer.Persistent 
    = true;

                    
    // 发送消息
                    IMapMessage request = session.CreateMapMessage();
                    request.Body.SetString(
    "strParam", strParam);//具体参数
                    request.Body.SetInt("intParam", intParam);
                    producer.Send(queue, request);
                }


            }

        }

    }

    4、调用

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;

    namespace Lee.Client
    {
        
    class Program
        
    {
            
    static void Main(string[] args)
            
    {
                
    string mqIp = System.Configuration.ConfigurationManager.AppSettings["MQIP"].ToString();
                
    string mqName = System.Configuration.ConfigurationManager.AppSettings["MQName"].ToString();
                
    string mqUsername = System.Configuration.ConfigurationManager.AppSettings["MQUserName"].ToString();
                
    string mqPassword = System.Configuration.ConfigurationManager.AppSettings["MQPassword"].ToString();

                MQ.SendMessage(mqIp, mqName, mqUsername, mqPassword,
    "字符型参数",0);

            }

        }

    }

     -------------20100107----------
    改进调用类
    IMessageProducer和ISession都继承了IDisposable接口,所以创建对象producer和session时使用Using。

        public static void SendMessage(string ip, string mqName, string mqUsername, string mqPassword, string userID, string subsysID, int cent, string summary)
        {
                IConnectionFactory factory 
    = new ConnectionFactory(new Uri("tcp://" + ip));
                
    using (IConnection connection = factory.CreateConnection(mqUsername, mqPassword))
                {
                    
    using (ISession session = connection.CreateSession())
                    {
                        ActiveMQQueue destination 
    = (ActiveMQQueue)session.GetQueue(mqName);
                        
    using (IMessageProducer producer = session.CreateProducer(destination))
                        {
                            producer.Persistent 
    = true;
                            IMapMessage request 
    = session.CreateMapMessage();
                            request.Body.SetString(
    "userID", userID);
                            request.Body.SetString(
    "subsysID", subsysID);
                            request.Body.SetInt(
    "cent", cent);
                            request.Body.SetString(
    "summary", summary);
                            producer.Send(destination, request);
                        }
                    }
                }

        }



  • 相关阅读:
    随机森林算法参数调优
    BAYES和朴素BAYES
    阿里云 金融接口 token PHP
    PHP mysql 按时间分组 表格table 跨度 rowspan
    MySql按周,按月,按日分组统计数据
    PHP 获取今日、昨日、本周、上周、本月的等等常用的起始时间戳和结束时间戳的时间处理类
    thinkphp5 tp5 会话控制 session 登录 退出 检查检验登录 判断是否应该跳转到上次url
    微信 模板消息
    php 腾讯 地图 api 计算 坐标 两点 距离 微信 网页 WebService API
    php添加http头禁止浏览器缓存
  • 原文地址:https://www.cnblogs.com/tenghoo/p/activeMQ_client.html
Copyright © 2011-2022 走看看