.net客戶端呼叫activeMQ程式碼

iDotNetSpace發表於2009-11-23
<!--[endif]--&gt

1、新增對 Apache.NMS Apache.NMS.ActiveMQ引用;

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

2、在webconfig中新增呼叫MQ所需的MQIP,MQName,MQUserName,MQPassword;

<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

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

3、建立一個通用的呼叫類。

    

<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--&gtusing 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
.net客戶端呼叫activeMQ程式碼
{
    
public class MQ
.net客戶端呼叫activeMQ程式碼    
{
.net客戶端呼叫activeMQ程式碼        
/// 
        
/// 傳送訊息
        
/// 
        
/// ip地址
        
/// mq名稱
        
/// 使用者名稱
        
/// 密碼
        
/// 訊息引數
        
/// 訊息引數

        public static void SendMessage(string mqIp, string mqName, string mqUsername, string mqPassword, string strParam, int intParam)
.net客戶端呼叫activeMQ程式碼        
{
            IConnectionFactory factory 
= new ConnectionFactory(new Uri("tcp://" + mqIp));

            
using (IConnection connection = factory.CreateConnection(mqUsername, mqPassword))
.net客戶端呼叫activeMQ程式碼            
{
                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、呼叫

<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--&gtusing System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Lee.Client
.net客戶端呼叫activeMQ程式碼
{
    
class Program
.net客戶端呼叫activeMQ程式碼    
{
        
static void Main(string[] args)
.net客戶端呼叫activeMQ程式碼        
{
            
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);

        }

    }

}

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12639172/viewspace-620299/,如需轉載,請註明出處,否則將追究法律責任。

相關文章