跪求:Linux系统下基于MQ通讯配置SSL的 *** 作步骤

跪求:Linux系统下基于MQ通讯配置SSL的 *** 作步骤,第1张

安装的MQ软件包为WMQv600Trial-x86_linux_2.tar.gz. 将WMQv600Trial-x86_linux_2.tar.gz解压至某一目录。

(1)执行接受许可脚本: ./mqlicense.sh –accept 这个脚本是要安装WebSphere MQ 软件包的MQ许可程序. 至关重要,这个脚本没有正确配置的话将导致MQ安装失败.–accept是不启动图形直接接受许可。

(2) 安装 WebSphere MQ for Linux 服务器:

[root@localhost mq]# rpm-ivh MQSeriesRuntime-6.0.0-0.i386.rpm

[root@localhost mq]# rpm-ivh MQSeriesSDK-6.0.0-0.i386.rpm

[root@localhost mq]# rpm-ivh MQSeriesServer-6.0.0-0.i386.rpm

注:安装完成后,相关文件会被自动安装在/opt/mqm下,在安装

MQSeriesRuntime-6.0.0-0.i386.rpm时候,安装程序为系统自动创建了一个mqm用户和mqm组,安装完毕后,需要使用该用户来进行MQ的配置。

(3) 安装 WebSphere MQ for Linux 客户端:

[root@localhost mq]# rpm-ivh MQSeriesClient-6.0.0-0.i386.rpm

(4) 安装 WebSphere MQ 样本程序(其中包括amqsput、amqsget、amqsgbr和amqsbcg等)

[root@localhost mq]# rpm-ivh MQSeriesSamples-6.0.0-0.i386.rpm 样本程序安装在/opt/mqm/samp/bin 中。

(5)安装MQ其他软件包

[root@localhost mq]# rpm-ivh MQSeriesMan-6.0.0-0.i386.rpm

[root@localhost mq]# rpm-ivh MQSeriesJava-6.0.0-0.i386.rpm

[root@localhost mq]# rpm-ivh IBMJava2-SDK-1.4.2-0.0.i386.rpm

上面最后一步安装的是JDK运行环境,如果已经有相同或更高版本的JDK,不需要再安装。 (6) 安装过程创建了一个名为mqm 的用户和一个同样名为mqm 的组,此时,新用户是被锁定的,必须设置一个密码来解锁,这样才能正常使用该用户。用passwd 命令

[root@localhost mq]# passwd mqm 以上 *** 作均在root用户下 *** 作,至此MQ6.0安装结束。MQ的配置相关命令 *** 作均在mqm用户下。

注意:

如果执行crtmqm命令时提示

-bash-3.2$ crtmqm

-bash: crtmqm: command not found

则需要配置mqm用户的环境变量,编辑如下文件,并添加下面的内容,如下:

第一种方法: 相对第二种较安全 仅对 mqm用户有效

1)-bash-3.2$ vi /var/mqm/.bash_profile

PATH=$PATH:/opt/mqm/samp/bin:/opt/mqm/bin:bin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin

2)执行“.”命令,使这个文件生效

-bash-3.2$ . .bash_profile

3)再次尝试实行crtmqm或是dspmqm命令,即可发现已经生效。

第二种方法:

1、su root

2、vim /etc/profile

3、在最后面加上:PATH=$PATH:/opt/mqm/samp/bin:/opt/mqm/bin:bin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin

4、关闭远程终端重新打开,无需重启服务器

5、ok了!!

public static void main(String[] args) throws JMSException {

String url = "tcp://localhost:61616"

ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory(

url)

// 设置用户名和密码,这个用户名和密码在conf目录下的credentials.properties文件中,也可以在activemq.xml中配置

connectionFactory.setUserName("system")

connectionFactory.setPassword("manager")

// 创建连接

Connection connection = connectionFactory.createConnection()

connection.start()

Session session = connection.createSession(false, Session.CLIENT_ACKNOWLEDGE)

// 创建目标,就创建主题也可以创建队列

Destination destination = session.createQueue("1230")

// 创建消息消费者

MessageProducer producer = session.createProducer(destination)

producer.setDeliveryMode(DeliveryMode.PERSISTENT)

String selector = "JMSCorrelationID='" + "1001" + "'"

MessageConsumer consumer = session.createConsumer(destination,selector)

TextMessage tm = session.createTextMessage("12345111")

tm.setJMSCorrelationID("1001")

producer.send(tm)

while(true){

TextMessage tm1 = (TextMessage) consumer.receive(1000)

if(null!=tm1){

System.out.println(tm1)

tm1.acknowledge()

System.out.println(tm1.getText())

}

else

break

}

consumer.close()

producer.close()

session.close()

connection.close()

}

}

一、通过Python模拟收发消息

1、在各个节点上安装epel源

# yum install epel* -y11

2、安装python库

# yum --enablerepo=epel -y install python2-pika11

3、在rabbitmq-server节点上

1)、创建用户

# rabbitmqctl add_user wuyeliang password 11

2)、创建虚拟主机

# rabbitmqctl add_vhost /my_vhost11

3)、赋予权限

# rabbitmqctl set_permissions -p /my_vhost wuyeliang ".*" ".*" ".*" 11

4、在rabbitmq节点上模拟发消息,代码如下

# vi send_msg.py

#!/usr/bin/env python

import pika

credentials = pika.PlainCredentials('wuyeliang', 'password') #注意用户名及密码

connection = pika.BlockingConnection(pika.ConnectionParameters(

'localhost',

5672,

'/my_vhost',

credentials))

channel = connection.channel()

channel.queue_declare(queue='Hello_World')

channel.basic_publish(exchange='',

routing_key='Hello_World',

body='Hello RabbitMQ World!')

print(" [x] Sent 'Hello_World'")

connection.close()1234567891011121314151612345678910111213141516

4、在client节点上模拟收消息,代码如下

# vi receive_msg.py

#!/usr/bin/env python

import signal

import pika

signal.signal(signal.SIGPIPE, signal.SIG_DFL)

signal.signal(signal.SIGINT, signal.SIG_DFL)

credentials = pika.PlainCredentials('wuyeliang', 'password')

connection = pika.BlockingConnection(pika.ConnectionParameters(

'dlp.srv.world',

5672,

'/my_vhost',

credentials))

channel = connection.channel()

channel.queue_declare(queue='Hello_World')

def callback(ch, method, properties, body):

print(" [x] Received %r" % body)

channel.basic_consume(callback,

queue='Hello_World',

no_ack=True)

print(' [*] Waiting for messages. To exit press CTRL+C')

channel.start_consuming()123456789101112131415161718192021123456789101112131415161718192021


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11204748.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存