(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
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)