跳到主要內容

IBM MQ Server To Server的簡易設定

IBM MQ 的STS建置方式,IBM Red Book已經說明的滿完整的,這裡稍微整理一下,步驟如下

在 MQ-A Server MQ QMGR(MQA) 上需要建立的物件定義如下:
• 遠端佇列定義 PAYROLL.QUERY
• 傳輸佇列定義 MQB(預設 = 遠端佇列管理程式名稱)
• 程序定義 MQA.TO.MQB.PROCESS(對於 WebSphere MQ for AIX、HP-UX、Solaris 與 Windows,及 MQSeries for Compaq Tru64 UNIX 與 OS/2 Warp,並非必要)
• 傳送端通道定義 MQA.TO.MQB
• 接收端通道定義 MQB.TO.MQA
• 本端佇列定義 MQ2
以下是必須建立在 MQ-B Server MQ QMGR(MQB) 中的物件定義:
• 遠端佇列定義 PAYROLL.RESPONE
• 傳輸佇列定義 MQA(預設值=遠端佇列管理程式名稱)
• 程序定義 MQB.TO.MQA.PROCESS(對於 WebSphere MQ for AIX、HP-UX、Solaris 與 Windows,及 MQSeries for Compaq Tru64 UNIX 與 OS/2 Warp,並非必要)
• 傳送端通道定義 MQB.TO.MQA
• 接收端通道定義 MQA.TO.MQB
• 本端佇列定義 MQ4
1.先啟動MQ-A Server上的QMGR(MQA),並使用Runmqsc進入。
2.在佇列管理程式 MQA 上執行下列指令。
遠端佇列定義
DEFINE QREMOTE(PAYROLL.QUERY) DESCR('MQA 的遠端佇列') REPLACE +
PUT(ENABLED) XMITQ(MQB) RNAME(MQ4) RQMNAME(MQB)
註:
遠端佇列定義並非實體的佇列,但卻是引導訊息至傳輸佇列 (MQB) 的一種方式,以便能將訊息送至佇列管理程式 MQB。
傳輸佇列定義
DEFINE QLOCAL(MQB) DESCR('對 MQB 的傳輸佇列') REPLACE +
USAGE(XMITQ) PUT(ENABLED) GET(ENABLED) TRIGGER TRIGTYPE(FIRST) +
INITQ(SYSTEM.CHANNEL.INITQ) PROCESS(MQA.TO.MQB.PROCESS)
當第一項訊息放置到此傳輸佇列上時,便會將觸發訊息傳送到起始佇列 (SYSTEM.CHANNEL.INITQ)。通道起始程式會從起始佇列來取得訊息,並且啟動命名處理中已識別的通道。
程序定義
DEFINE PROCESS(MQA.TO.MQB.PROCESS) DESCR('Process for starting channel') +REPLACE APPLTYPE(UNIX) USERDATA(MQA.TO.MQB)
通道起始程式會使用此處理資訊,來啟動通道 MQA.TO.MQB。(本範例定義是以 UNIX 做為應用程式類型)。
註: 針對 WebSphere MQ for AIX、HP-UX、Linux、Solaris 和 Windows 與 MQSeries V5.1 for Compaq Tru64 UNIX 以及 OS/2 Warp 上,對於程序定義的需要,可利用指定傳輸佇列 TRIGDATA 屬性中的通道名稱來加以消去。
傳送端通道定義
DEFINE CHANNEL(MQA.TO.MQB) CHLTYPE(SDR) TRPTYPE(TCP) +
REPLACE DESCR('對 MQB 的傳送端通道') XMITQ(MQB) +
CONNAME('192.168.1.2(1414)')
註: MQ-A Server IP或Hostname(Listener Port)
接收端通道定義
DEFINE CHANNEL(MQB.TO.MQA) CHLTYPE(RCVR) TRPTYPE(TCP) +
REPLACE DESCR('MQA 中的接收端通道')
本端佇列定義
DEFINE QLOCAL(MQ2) REPLACE PUT(ENABLED) GET(ENABLED) +
DESCR('MQA之本端佇列的訊息')

3.先啟動MQ-B Server上的QMGR(MQB),並使用Runmqsc進入。
4.在佇列管理程式 MQB 上執行下列指令。

遠端佇列定義
DEFINE QREMOTE(PAYROLL.RESPONE) DESCR('MQA 的遠端佇列') REPLACE +
PUT(ENABLED) XMITQ(MQA) RNAME(MQ2) RQMNAME(MQA)
註:
遠端佇列定義並非實體的佇列,但卻是引導訊息至傳輸佇列 (MQA) 的一種方式,以便能將訊息送至佇列管理程式 MQA。
傳輸佇列定義
DEFINE QLOCAL(MQA) DESCR('對 MQA 的傳輸佇列') REPLACE +
USAGE(XMITQ) PUT(ENABLED) GET(ENABLED) TRIGGER TRIGTYPE(FIRST) +
INITQ(SYSTEM.CHANNEL.INITQ) PROCESS(MQB.TO.MQA.PROCESS)
當第一項訊息放置到此傳輸佇列上時,便會將觸發訊息傳送到起始佇列 (SYSTEM.CHANNEL.INITQ)。通道起始程式會從起始佇列來取得訊息,並且啟動命名處理中已識別的通道。
程序定義
DEFINE PROCESS(MQB.TO.MQA.PROCESS) DESCR('啟動通道之處理') +
REPLACE APPLTYPE(UNIX) USERDATA(MQB.TO.MQA)
通道起始程式會使用此處理資訊,來啟動通道 MQB.TO.MQA。
註:
針對 WebSphere MQ for AIX、HP-UX、Linux、Solaris 和 Windows 與 MQSeries V5.1 for Compaq Tru64 UNIX 以及 OS/2 Warp 上,對於程序定義的需要,可利用指定傳輸佇列 TRIGGERDATA 屬性中的通道名稱來加以消去。
傳送端通道定義
DEFINE CHANNEL(MQB.TO.MQA) CHLTYPE(SDR) TRPTYPE(TCP) +
REPLACE DESCR('對 MQA 的傳送端通道') XMITQ(MQA) +
CONNAME('192.168.1.1(1414)')
註: MQ-A Server IP或Hostname(Listener Port)
接收端通道定義
DEFINE CHANNEL(MQB.TO.MQA) CHLTYPE(RCVR) TRPTYPE(TCP) +
REPLACE DESCR('MQB 中的接收端通道')
本端佇列定義
DEFINE QLOCAL(MQ4) REPLACE PUT(ENABLED) GET(ENABLED) +
DESCR('MQB之本端佇列的訊息')
5.將MQB及MQA的QMGR重新起動,並啟動Listener。
5.1 strmqm MQA
5.2 strmqm MQB
5.3 runmqlsr -m MQA -t tcp -p 1414(MQ-A Server)
5.4 runmqlsr -m MQB -t tcp -p 1414(MQ-B Server)
5.5 start channel(MQA.TO.MQB)【MQ-A Server】
5.6 start channel(MQB.TO.MQA)【MQ-B Server】
6.並檢查通道是否正常
6.1 Display chstatus(MQA.TO.MQB)
6.2 Display chstatus(MQB.TO.MQA)

留言

這個網誌中的熱門文章

Pentaho kettle取指定目錄下的所有檔案

最近開始玩 BI的東西,而之前專案有使用到Pentaho Open Source這個好物.... Pentaho裡面很多東西,跟 Jasperreport一樣東西很多,我最先接觸到的是kettle ETL的工具,玩了一陣子,開始有空就把它寫下來,以免忘記。 Scan一個目錄下所有檔案,然後塞進去資料庫 1.先拉兩個 Input,一個Get File Names,一個是CSV file input,再拉一個 output 中的 Table output,然後把他連起來。 2.點開 Get File Names,File or directory設定你的指定目錄,Regular Expression則是輸入.*\.*$則是所有檔案,若是CSV則可.*\.torrent$這可以了,可以按一下 Preview rows看看是否正確。

Spring boot v1.5 (六) spring data jpa 基本操作

最近天氣好熱,做甚麼事都覺得很懶,想要寫個spring data jpa也是懶懶的,不過這部分卻也是滿重要的一部分,前一篇介紹 JDBCTemplate ,已經覺得跟以前寫SQL方式有所差異了,JPA帶來的是物件導向的設計面思考,說到JPA不得不提提 ORM ,Object-relational mapping主要想法為簡化及物件導向的設計,讓RDB更貼近Object,在設計上可以更加便利,甚至透過一些設計可以讓Table具有物件導向的特性如繼承等等,以往要使用ORM的框架,都會先以 Hibernate 進行,不過近來慢慢地轉向JPA,主要還是在減少程式碼、增加彈性等等,大體的功能沒有差異很大,所以從Hibernate轉到JPA問題不大,JPA要介紹的東西還滿多的,所以我這裡會再分成三個章節來介紹。 SPRING DATA JPA基本操作 JPQL & Named SQL & Native SQL Cache & DB Design Pattern SPRING DATA JPA更加簡化的程式撰寫,只需要一個 Interface內寫一些查詢 method就可以操作JPA,因為利用 method 組合查詢條件,確實很方便也很容易理解,若是都沒有辦法符合需求當然也可以自己實作一個來用當然沒有問題。 學習目的 :SPRING DATA JPA基本操作。 學習時數 :3.5hr 教學影片: pom.xml 說明 spring-boot-starter-web:配置 Web Project所需的函式庫。 spring-boot-starter-test:配置 unit or mock test 所需的函式庫。 spring-boot-starter-actuator:配置監控spring boot所需的函式庫,後續spring cloud會使用到,所以一開就導入。 spring-boot-starter-jdbc:配置使用jdbc所需的函式庫。 postgresql:配置postgresql連接Driver所需的函式庫。 jasypt-spring-boot-starter:加解密所需的函式庫。 spring-boot-starter-data-jpa:配置Spring data jpa所需的函式庫。

IReport字型下拉選單中文亂碼

這個問題其實也不是很大啦,不過當你有很多的中文字型檔的時候可能就不知道要選哪一個,啟動IReport後,開啟報表後會發現左邊下拉選單中,最下面的字型清單中有出現方框,顯示不出該字型的名稱,這幾個字型應該是判斷新細明體,標楷體及細明體,如下圖 下載IReport的Source Code來檢查一下,it.businesslogic.ireport.gui.MainFrame發現這個JComboBox有特別設定Arial字型,當然只要是中文的都顯示不出來ㄚ,所以點掉這一行後重新編譯,嘿嘿就可以了。 jComboBoxFont.setFont(new java.awt.Font("Arial", 0, 11)); 我目前使用的版本為 IReport-3.0.0-src