Skip to main content

JEAP 5 - J老闆連接大藍的MQ

最近JBoss的勢力範圍越來越大~
要跟J老闆連接的資源也越來越多!

今天的討論如果對大藍的MQ Server 不熟的話,請直接跳過!
因為我完全沒有打算介紹大藍的MQ, 下面只會有設定方式噢!

感嘆~大藍的文件資料真是超齊全的拉!真是值得稱讚!
J老闆的文件比起來還真像是紐約的圖書館遇到非洲的荒野.....

===========以上是抱怨的碎碎念 本文開始==================

跟許多外部資源一樣,MQ也是透過JCA連結的!
所以如果要設定連結,跟普通的資料庫一樣,必須設定 xx-ds.xml 檔案
(本次的設定不是走XA!)

1. 安裝wmq.jmsrs.rar

依照不同的MQ Server,到不同的路徑下看到我們這次需要安裝的Adapter。
裡面應該會有 wmq.jmsrs.rar


OS
路徑
AIX
/usr/mqm/java/lib/jca
HP-UX, Linux, and Solaris
/opt/mqm/java/lib/jca
i5/OS
/QIBM/ProdData/mqm/java/lib/jca
Windows
install_dir\Java\lib\jca


把wmq.jmsrs.rar copy 出來後,放到 $JBOSS_HOME/server/$SERVER/deploy下
把J老闆打開~應該會看到安裝成功的log...



2. 建立真正連結的JCA設定 wmq.jmsrs-ds.xml
在建立之前,先看一下我們的JMS code ,
把資料放到Queue 之前,跟建立JDBC 的connection 一樣,
我們也需要建立Queue 的connection.

public void doQueueSending() throws javax.jms.JMSException, javax.naming.NamingException{
 //Setup Connection to Queue 
 javax.naming.InitialContext iniCtx = new InitialContext(); 
 javax.jms.QueueConnectionFactory qcf = iniCtx.lookup("XXXConnectionFactory");
 javax.jms.QueueConnection conn = qcf.createQueueConnection(); 
 javax.jms.QueueSession session =  conn.createQueueSession(false,javax.jms.QueueSession.AUTO_ACKNOWLEDGE); 
 javax.jms.Queue que = (Queue) iniCtx.lookup("queue/testQueue"); 
 conn.start(); 

 // Send a text msg 
 javax.jms.QueueSender sender = session.createSender(que); 
 javax.jms.TextMessage tm = session.createTextMessage(text); 
 sender.send(tm); 
 log.info("sendRecvAsync, sent text=" + tm.getText()); 
 sender.close(); 
 conn.stop(); 
 session.close(); 
 conn.close(); 
}

所以就知道總共要建立

A. ConnectionFactory 
B. Queue

建立的方法就是再xxx-ds.xml 中
(因為我還沒找到好的排版工具~ 就先抓圖檔吧!)



建立好後,把xxx-ds.xml 檔案放到deploy的路徑下之後,
就可以直接寫code 存取MQ 上面的訊息囉~ ^^


Comments

Popular posts from this blog

Red Hat JBoss Fuse/A-MQ - Fuse and A-MQ Version 6.3 GA is released!

Fuse and A-MQ 6.3 GA has just went out. Maybe, you would think this is just only a minor version release why should I care? Hold your thoughts on that! Because they have done a lot of improvements and also added many new features into this release.

Besides various bug fixes and making sure Fuse Fabric is much more stable. There are two major change in this version update:

New Tooling in JBoss Developer Studio (JBDS) 9.1 GA. Newer Apache Camel version – Camel v2.17. I was really impressed by the work put in to make developing Camel application much simpler. First is the installation of tooling itself. Now it has a all-in-one installer so you don't need to worry about which plugins you need to check. See the videos below to see the new "Getting Started" of Fuse 6.3.



And If you notice from the above video, the presentation of camel route in JBDS has also updated. It fixed some of the miss representation of logic and making it easier to read.

Old Camel Route
New Camel Route
On …

Fuse Integration Service - Setup JBDS and create first quickstart application

Before we go and start creating our first application, I want to show you how to setup your JBoss Developer Studio, create a small application from the quickstart example and then running it on Fuse Integration Service.

I am using JBoss Developer Studio version 9, you can find it here.
After download the

jboss-devstudio-9.0.0.GA-installer-eap.jar
double-click it, and start installing with default values.

After successful installation, we will need install the plugins for Fuse, on JBoss Central view, select software update, select enable early access.


And select JBoss Fuse Development for the plugin,


Click on install, and we are all set to go!

First thing first, we want to create a Fuse project to deploy on the base of Fuse Integration Service, which is OpenShift. If you have not installed it, please go back to my previous post for instructions. So on your JBDS, right click and start creating the project. Select new, maven project, if you have installed the plugin correctly, you should …

Red Hat JBoss Fuse - Getting Started with Fuse Integration Service 2.0 Tech preview

I just realized that I did not do a getting started for Fuse Integration Service 2.0 Tech preview before I did the pipeline demo, thanks for those of you who reminded me! :)

To get started with FIS 2.0, for people who has just getting to know the technology, here is how I interpret it. Basically, it's divide into two aspect,

1. Integration development, FIS uses Apache Camel as the core technology that creates, orchestrate, compose microservices into a super lightweight thin integration layer, and become the API provider and service orchestrator through exposing RESTful or messaging service endpoints. And you can choose to either package and run it with Spring-Boot or Karaf.


2. Application Deployment and Management, FIS takes advantages of OpenShift platform, and allows you to separately deploy the micro-integration service among distributed environment, at the same time takes care of the failover, high availability, load balancing and service lookup problem for you.


So, now we know …