Install OpenMQ on Solaris

OpenMQ เป็นหนึ่งใน Message Oriented Middleware ที่นิยมใช้เป็น Message Server หรือ JMS Broker ตัว OpenMQ นั้นเป็น OpenSource ที่ติดตั้งมาพร้อมกับ Glassfish ซึ่งจะทำงานไปพร้อมกับตัว Glassfish service แต่หากต้องการใช้งานแค่ Message Server เราสามารถเลือก Download เฉพาะ OpenMQ มาใช้งานได้จาก http://mq.java.net ในบทความนี้ผมจะใช้ OpenMQ เป็น JMS Broker บน Solaris โดยเข้าไปที่หน้า Download http://mq.java.net/downloads.html

ตัวที่ผมเลือก Download จะเป็น Sun Solaris x86 แบบ zip archive, no installer เนื่องจากเครื่องที่ผมลง Solaris เป็นเครื่อง Intel ธรรมดาๆเครื่องหนึ่ง 😛 โดยผมใช้คำสั่ง

wget http://download.java.net/mq/open-mq/4.5/b29-fcs/openmq4_5-binary-SunOS_X86.zip

เมื่อทำการ Download ไฟล์เรียบร้อยแล้วให้ทำการแตกไฟล์

unzip openmq4_5-binary-SunOS_X86.zip

จะได้โฟลเดอร์ที่ชื่อว่า MessageQueue4_5 จากนั้นทำการย้ายเข้าไปเก็บไว้ใน /opt

mv  MessageQueue4_5 /opt/openmq

ที่นี้เราต้องมาแก้ค่า Config นิดหน่อยเพื่อให้ openMq ทำงานได้ โดยเราจะแก้ไขไฟล์ /opt/openmq/etc/mq/rc/imq

###### START LOCAL CONFIGURATION
# You may wish to modify these variables to suit your local configuration

# IMQ_HOME   Location of the Message Queue installation
IMQ_HOME=/opt/openmq/mq
export IMQ_HOME

# IMQ_VARHOME
# Set IMQ_VARHOME if you wish to designate an alternate
# location for storing broker specific data like:
#       - persistent storage
#       - SSL certificates
#       - user passwd database
#
IMQ_VARHOME=/opt/openmq/var/mq
export IMQ_VARHOME

# BROKER_OPTIONS        Default Options to pass to the broker executable
# additional arguments can be defined in the ARGS property
#
BROKER_OPTIONS="-silent"

#
# ETC HOME
IMQ_ETCHOME="/opt/openmq/etc/mq"
#
# imqbrokerd.conf
CONF_FILE=$IMQ_ETCHOME/imqbrokerd.conf
#
#
###### END LOCAL CONFIGURATION

จากโค๊ดผมทำการแก้ไขสี่บรรทัดคือ
IMQ_HOME=/opt/openmq/mq
IMQ_VARHOME=/opt/openmq/var/mq
export IMQ_VARHOME
IMQ_ETCHOME=”/opt/openmq/etc/mq”

จากนั้นทำการแก้ไข AUTOSTART ที่ไฟล์ /opt/openmq/etc/mq/imqbrokerd.conf

AUTOSTART=YES
ARGS=
RESTART=YES

และทำการรัน openmq โดยใช้คำสั่ง

/opt/openmq/etc/mq/rc/imq start

แล้วทดสอบด้วยการ telnet

telnet localhost 7676

หากดำเนินการถูกต้องผลลัพธ์จะได้เป็น

Trying ::1...
Connected to nhso.
Escape character is '^]'.
101 imqbroker 4.5
cluster_discovery tcp CLUSTER_DISCOVERY 0
portmapper tcp PORTMAPPER 7676 [imqvarhome=/opt/openmq/var/mq,imqhome=/opt/openmq/mq,sessionid=3762539569682553600]
jmxrmi rmi JMX 0 [url=service:jmx:rmi://nhso/stub/rO0ABXNyAC5qYXZheC5tYW5hZ2VtZW50LnJlbW90ZS5ybWkuUk1JU2VydmVySW1wbF9TdHViAAAAAAAAAAICAAB4cgAaamF2YS5ybWkuc2VydmVyLlJlbW90ZVN0dWLp/tzJi+FlGgIAAHhyABxqYXZhLnJtaS5zZXJ2ZXIuUmVtb3RlT2JqZWN002G0kQxhMx4DAAB4cHc0AAtVbmljYXN0UmVmMgAACTEyNy4wLjAuMQAA05UP5OPSwAfprWUsduYAAAE5zchJdoABAHg=]
admin tcp ADMIN 47646
jms tcp NORMAL 36547
.
Connection to nhso closed by foreign host.

ถ้าหากได้ผลเหมือนกับด้านบนแสดงว่าตอนนี้ JMS Broker ทำงานแล้วครับ แต่หากไม่สามารถเชื่อมต่อได้ให้ทำการรันแบบ Debug ดู โดยการพิมคำสั่ง

env DEBUG=1 /opt/openmq/etc/mq/rc/imq start

การรันแบบ Debug จะแสดง output ออกมาว่ามีปัญหาอะไร เพียงเท่านี้ก็สามารถใช้ openmq ได้แล้วครับ



me on google plus+Jirawong Wongdokpuang

Advertisements

4 thoughts on “Install OpenMQ on Solaris

  1. Pingback: [Tip] การ Set Java Home ให้กับ OpenMQ « GreannetworK
  2. Pingback: [TIP] การ Set ค่าให้ Admin TCP และ JMS TCP Port ของ OpenMQ « GreannetworK
  3. Pingback: Easy Jms Sender « GreannetworK
  4. Pingback: JMS Tutorial « GreannetworK

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s