闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾剧懓顪冪€n亝鎹i柣顓炴閵嗘帒顫濋敐鍛婵°倗濮烽崑鐐烘偋閻樻眹鈧線寮撮姀鐘栄囨煕鐏炲墽鐓瑙勬礀閳规垿顢欑紒鎾剁窗闂佸憡顭嗛崘锝嗙€洪悗骞垮劚濞茬娀宕戦幘鑸靛枂闁告洦鍓涢ˇ顓熺節閳封偓閸曞灚鐤佸Δ鐘靛仜濡繂顕i鈧畷鐓庮熆椤忎焦娅婇柟顔筋殜閺佹劖鎯斿┑鍫濆毈闁诲海鎳撻幉锛勬崲閸曨厽顫曢柟鐑樻尰缂嶅洭鏌曟繛鍨姢闁荤喆鍔岄—鍐Χ鎼粹€茬凹缂備緡鍠楅幐鎼佹偩閻戣棄纭€闁绘劕绉堕崰鏍箖濞嗘挸绠f繝闈涙搐椤︹晠姊洪幎鑺ユ暠闁搞劌婀卞Σ鎰板箻鐎涙ê顎撴繝娈垮枟閸╁牊绂嶅┑瀣疄闁靛ň鏅涢悙濠囨煏婵炲灝鈧绮诲顒夋富闁靛牆妫涙晶顒勬煟閺冩垵澧撮柣鎿冨墴椤㈡宕掑Δ鈧禍楣冩偡濞嗗繐顏痪鐐倐閺屾稒鎯旈敐鍡樻瘓閻庢鍣崑濠囩嵁濡偐纾兼俊顖滅帛椤忕喖姊绘担鑺ョ《闁革綇绠撻獮蹇涙晸閿燂拷婵犵數濮烽弫鍛婃叏閻戣棄鏋侀柛娑橈攻閸欏繘鏌i幋锝嗩棄闁哄绶氶弻鐔兼⒒鐎靛壊妲紒鐐劤椤兘寮婚敐澶婄疀妞ゆ帊鐒﹂崕鎾剁磽娴e搫小闁告濞婂濠氭偄閸忓皷鎷婚柣搴ㄦ涧婢瑰﹤危椤斿墽纾藉ù锝呮惈鍟搁梺鍝ュУ閻楃姴顕f繝姘╅柍鍝勫€告禍婊堟⒑閸涘﹦绠撻悗姘嚇婵偓闁靛牆妫涢崢閬嶆⒑闂堟胆褰掑磿闁秴鐒垫い鎺嗗亾婵犫偓闁秴绠查柕蹇曞Л濡插牓鏌曡箛鏇炐㈤柤鏉跨仢閳规垿鍩ラ崱妤冧淮濡炪倖娉﹂崶顭戞閻庡箍鍎遍ˇ浼村煕閹寸姷纾奸悗锝庡亽閸庛儵鏌涙惔銏犲缂佽鲸甯為幏鐘诲箵閹烘挻顔掑┑鐘殿暜缁辨洟寮拠鑼殾闁绘梻鈷堥弫宥嗘叏濡じ鍚柡澶嬫倐濮婄粯鎷呴崫銉︾€┑鈩冦仠閸斿酣骞忕€n喖钃熼柕澶堝劤閿涙盯姊虹憴鍕妞ゆ泦鍥х闁逞屽墴閹嘲饪伴崘鐐枅閻庢鍠楅幃鍌氼嚕椤曗偓瀹曞ジ鎮㈤崫鍕辈闂傚倷鑳剁划顖毭洪弽顓炵9闁革富鍘搁崑鎾愁潩閻愵剙顏�
开发学院WEB开发Xml 使用 WebSphere Message Broker 的 WebSphere Tra... 阅读

使用 WebSphere Message Broker 的 WebSphere Transformation Extender 插件

 2010-10-22 17:19:18 来源:WEB开发网 闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾剧懓顪冪€n亜顒㈡い鎰Г閹便劌顫滈崱妤€骞婄紓鍌氬€瑰銊╁箟缁嬫鍚嬮柛顐線缂冩洟姊婚崒娆戭槮婵犫偓闁秵鎯為幖娣妼缁愭鏌″搴′簽濞戞挸绉甸妵鍕冀椤愵澀娌梺缁樻尪閸庣敻寮婚敐澶婂嵆闁绘劖绁撮崑鎾诲捶椤撴稑浜炬慨妯煎亾鐎氾拷闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾剧懓顪冪€n亝鎹i柣顓炴閵嗘帒顫濋敐鍛婵°倗濮烽崑娑⑺囬悽绋挎瀬闁瑰墽绮崑鎰版煙缂佹ê绗ч柍褜鍓﹂崣鍐潖閸濆嫅褔宕惰娴犲ジ姊虹拠鑼闁煎綊绠栭幃楣冩倻閽樺鎽曢梺闈涱檧婵″洭宕㈤悽鍛娾拺閻熸瑥瀚烽崯蹇涙煕閻樺磭澧甸柕鍡楀€圭缓浠嬪川婵犲嫬骞堥梺纭呭閹活亞妲愰弴鐔哄ⅰ闂傚倷绶氬ḿ褍煤閵堝洠鍋撳顐㈠祮闁绘侗鍣i獮鎺懳旈埀顒傜不閿濆棛绡€闂傚牊绋戦弳娆徝瑰⿰鍫㈢暫闁哄矉缍佹慨鈧柍鎯版硾濠€杈ㄧ珶閺囩喓绡€婵﹩鍘鹃崢鐢告⒑缂佹ê濮﹂柛鎾村哺閹ɑ娼忛妸銈囩畾闂佸湱绮敮鐐存櫠濞戞氨纾肩紓浣贯缚濞插鈧娲栧畷顒冪亙闂佸憡鍔曢崯鐘诲礈濠靛牊宕叉繛鎴炨缚閺嗗棗鈹戦悩杈厡闁轰焦鐗滅槐鎾存媴娴犲鎽甸梺鍦嚀濞层倝鎮鹃悜钘夌闁规惌鍘介崓鐢告⒑閻熸澘鎮侀柣鎺炵畵閹骞栨担鍏夋嫽婵炶揪绲块崕銈夊吹閳ь剟姊洪幖鐐测偓鏍偋閻樿崵宓侀煫鍥ㄧ⊕閺呮悂鏌ㄩ悤鍌涘濠电姷鏁告慨鐑藉极閸涘﹥鍙忛柣鎴f閺嬩線鏌涘☉姗堟敾闁告瑥绻戦妵鍕箻閸楃偟浠肩紓浣哄閸ㄥ爼寮诲☉銏犵疀闂傚牊绋掗悘鍫ユ倵閻熺増鍟炵紒璇插暣婵$敻宕熼姘鳖啋闁诲酣娼ч幗婊堟偩婵傚憡鈷戠痪顓炴媼濞兼劖绻涢懠顒€鏋庢い顐㈢箳缁辨帒螣閼测晜鍤岄梻渚€鈧偛鑻晶顔肩暆閿濆牆鍔垫い锔界叀閹繝濡舵径瀣帾闂佸壊鍋呯换鍐磻椤忓懐绠剧€瑰壊鍠曠花濠氬箚閻斿吋鈷戦悗鍦У閵嗗啴鏌ら崘鑼煟鐎规洘绻堥弫鍐焵椤掑嫧鈧棃宕橀鍢壯囨煕閳╁喚娈橀柣鐔稿姍濮婃椽鎮℃惔鈩冩瘣闂佺粯鐗曢妶绋跨暦閻戞ḿ绡€闁搞儜鍐ㄧギ闂備線娼ф蹇曟閺囥垹鍌ㄦい蹇撶墛閳锋垿鏌熼懖鈺佷粶闁告梹顨婇弻锟犲川椤旈敮濮囩紓浣稿€圭敮鐔妓囩€靛摜纾奸弶鍫涘妼缁楁碍绻涢悡搴g闁糕斁鍓濋幏鍛存煥鐎e灚缍楅梻鍌氬€峰ù鍥ь浖閵娾晜鍊块柨鏇炲€哥粻鏌ユ煕閵夘喖澧柡瀣╃窔閺岀喖宕滆鐢盯鏌¢崨顔藉€愰柡灞诲姂閹倝宕掑☉姗嗕紦闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾剧懓顪冪€n亜顒㈡い鎰Г閹便劌顫滈崱妤€骞婄紓鍌氬€瑰銊╁箟缁嬫鍚嬮柛顐線缂冩洟姊婚崒娆戭槮婵犫偓闁秵鎯為幖娣妼缁愭鏌″搴′簽濞戞挸绉甸妵鍕冀椤愵澀娌梺缁樻尪閸庣敻寮婚敐澶婂嵆闁绘劖绁撮崑鎾诲捶椤撴稑浜炬慨妯煎亾鐎氾拷  闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌i幋锝呅撻柛銈呭閺屻倝宕妷锔芥瘎婵炲濮靛銊ф閹捐纾兼繛鍡樺笒閸橈紕绱撴笟鍥ф珮闁搞劌鐖兼俊鎾礃椤旂厧绐涢梺鍝勵槹閸ㄥ綊宕㈠ú顏呭€垫鐐茬仢閸旀碍銇勯敂璇茬仸鐎规洩绻濋獮搴ㄦ嚍閵壯冨妇闂傚⿴鍋勫ú锕€煤閺嶃劎澧¢梻鍌欐祰椤曆呪偓鍨浮瀹曟粓鎮㈡總澶嬬稁闂佹儳绻愬﹢杈╁閸忛棿绻嗘い鏍ㄧ閹牊銇勯銏㈢劯婵﹥妞藉畷鐑筋敇濞戞瑥鐝遍梻浣呵归鍛涘┑瀣畾闁逞屽墯閵囧嫯绠涢幘瀵搞偐濠碘槅鍨扮€氭澘顫忓ú顏勪紶闁告洦鍓氶幏鍗炩攽閻愭彃绾у畝锝呮健楠炴垿濮€閻橆偅鏂€婵犵數濮寸€氼噣寮堕幖浣光拺闁告繂瀚婵嗏攽椤旀儳鍘撮柟顔诲嵆婵$兘鍩¢崒妤佸濠电偠鎻徊浠嬪箹椤愩倖鏆滈悹杞拌閻斿棝鏌i悢宄扮盎闁衡偓閼姐倗纾奸柛灞炬皑瀛濆Δ妤婁簷閸楀啿鐣烽悡搴僵闁挎繂鎳嶆竟鏇㈡⒑閸濆嫬鏆欓柣妤€妫涚划鍫ュ礃閳瑰じ绨婚棅顐㈡搐濞寸兘藝閿曗偓闇夋繝濠傜墢閻f椽鏌$仦璇插闁宠鍨垮畷鍗炩槈閹典礁浜炬俊銈傚亾妞ゎ叀鍎婚¨渚€鏌涢悩宕囧⒌婵犫偓娓氣偓濮婅櫣绱掑Ο鏇熷灴閹兘濡疯閸嬫挸顫濋悡搴㈢亾缂備緡鍠氱划顖炲Χ閿濆绀冮柍鍝勫暙楠炲牊淇婇悙顏勨偓鏍礉閹达箑纾归柡鍥ュ灩閸戠娀骞栧ǎ顒€濡介柣鎾跺枛閻擃偊宕惰閸庡繘鏌涢弮鈧划鎾诲蓟閺囥垹鐐婄憸宥夘敂椤撶姭鍋撳▓鍨灍婵炲吋鐟ㄩ悘鎺楁⒑閸涘﹦绠撻悗姘煎墲椤ゅ倹绻濈喊澶岀?闁稿鍨垮畷鎰板箣閿曗偓閸ㄥ倹绻涘顔荤凹闁稿绻濋弻宥夊传閸曨剙娅g紓浣哄У閻楃娀寮诲澶婄厸濞达絽鎲″▓鏌ユ⒑缁嬫寧鎹i柛鐘崇墵瀵寮撮姀鐘靛€為悷婊冪Ф閼鸿鲸绻濆顓犲幍闂佸憡鍨崐鏍偓姘炬嫹
核心提示:简介Integration Server 的 IBM® WebSphere® Transformation Extender(以下称为 WebSphere TX)通过在处理节点中嵌入 WebSphere TX 引擎扩展了 WebSphere Message Broker(以下称为 Message Bro

简介

Integration Server 的 IBM® WebSphere® Transformation Extender(以下称为 WebSphere TX)通过在处理节点中嵌入 WebSphere TX 引擎扩展了 WebSphere Message Broker(以下称为 Message Broker)的转换消息能力。您可以使用 Message Broker Toolkit 中的 WebSphere TX 插件节点,轻松配置一个调用 WebSphere TX 映射的消息流来执行复杂的数据转换和验证任务,这样您就得到了一个数据转换和业务连通性的集成解决方案。以下是 WebSphere Message Broker 的 WebSphere Transformation Extender 插件的几点优势:

WebSphere TX 引擎向更广泛的消息格式和协议提供功能强大的转换和验证功能。

让您在广泛的行业标准(包括金融服务、医疗保健、保险、EDI 等等)中利用 WebSphere TX Industry Pack 提供的预定义数据格式。

给 Message Broker 用户一个用户友好的、无需编码的 WebSphere TX Type Designer 和 Map Designer 接口,使其可以较为容易地配置和可视化复杂数据类型和映射。

将格式转换复杂性与业务流逻辑分开,从而增强开发团队工作效率。让熟悉业务逻辑的成员可以将注意力集中在设计 Message Broker 消息流上,而数据格式专家可将注意力集中在 WebSphere TX 节点的格式映射上。

先决条件

要使用本文中的样例,您需要将以下产品安装在您的 Windows 机器上:

WebSphere MQ V7.0.1 或更高版本。

WebSphere Message Broker V7.0 或更高版本。

WebSphere Message Broker Toolkit V7.0 或更高版本。

WebSphere Transformation Extender Design Studio V8.3 或更高版本。

WebSphere Transformation Extender for Integration Servers V8.3 或更高版本。

创建一个 WebSphere TX 映射

本节将向您展示如何创建 WebSphere TX 类型树和映射,使 WebSphere TX Design Studio 可以将 CSV 输入数据转换成 XML 输出数据:

清单 1. CSV 输入数据样例

John Smith,222-2222,25 park st.,Heaven City,Univor State,222 


清单 2. XML 输出数据样例

<?xml version="1.0"?> 
<addressBook> 
<name>John Smith</name> 
<phone>222-2222</phone> 
<address> 
<street>25 park st.</street> 
<city>Heaven City</city> 
<state>Univor State</state> 
<zip>222</zip> 
</address> 
</addressBook> 

1. 通过导入函数为输出数据格式创建一个 XML 类型树

打开 Message Broker 工具箱,然后选择一个新目录作为您的工作空间。工具箱打开之后,从右上角切换至 Transformation Extender Development 透视图:

图 1. Transformation Extender Development 透视图
使用 WebSphere Message Broker 的 WebSphere Transformation Extender 插件

创建一个 WebSphere TX 项目:

从菜单栏选择 File => New => Project。

选择 Transformation Extender => Extender Project => Next。

在项目名称中输入 dwSample,然后单击 Finish。

通过导入 XSD 创建输出 XML 类型树:

在 Extender Navigator 中右键单击 Type Trees,然后选择 Import => XML Schema。

在弹出窗口中浏览并选择提供的 xsd 文件 AB.xsd,然后单击 Next。

保留所有的默认设置(western / Xerces / None),然后单击 Next。

图 2. XML Schema Importer 对话框
使用 WebSphere Message Broker 的 WebSphere Transformation Extender 插件

选择 dwSample 作为父文件夹,输入文件夹名 “AddressBook.mtt”,然后单击 Next。

Importer 开始验证架构,应该会显示零个警告或错误,并显示消息 “Type tree created successfully”。单击 Finish 完成 XML 架构导入。

在弹出的信息提示中,选择 Yes 打开类型树。

在菜单栏中,选择 Tree => Analyze => Structure and logic 来分析类型树。您将在 Analyze Results 视图中看到零个警告和错误,如果看到警告,忽略它们。

图 3. AddressBook 类型树分析结果
使用 WebSphere Message Broker 的 WebSphere Transformation Extender 插件

保存类型树。

2. 为 CSV 输入格式创建另一个类型树

在 Extender Navigator 视图中右键单击 Type trees 并选择 New => Type tree。然后选择 dwSample 作为父文件夹,输入文件名 addressCSV,然后单击 Finish:

图 4. 从 Extender Navigator 视图中选择类型树
使用 WebSphere Message Broker 的 WebSphere Transformation Extender 插件

向类型树添加条目:

在最新创建的 addressCSV 类型树上,右键单击 Root 并选择 Add => Yes。

在 Extender 属性面板中,在 Name 字段输入 “name”,在 Class 字段选择 Item,在 Item subclass 字段选择 Text,如下所示:

图 5. 姓名项属性配置
使用 WebSphere Message Broker 的 WebSphere Transformation Extender 插件

重复以上步骤,增加其余五个条目,电话、街道、城市、国家和邮政编码。所有这些属于 Item 类和 Text Item 子类。您的类型树看起来应该是这样的:

图 6. addressCSV 类型树
使用 WebSphere Message Broker 的 WebSphere Transformation Extender 插件

向类型树添加组:在类型树编辑面板上,右键单击 Root 并选择 Add => Yes。在 Extender 属性面板中,输入以下所示属性:

在 Name 字段输入 rec,在 Class 字段中选择 group。

在 Group subclass 字段之下的 Format 字段中选择 Explicit。

在 Component Syntax 字段中选择 Delimited。

在 Group subclass => Format => Component syntax 之下的 Value 字段中输入 “,”(逗号)。


图 7. rec 组属性配置
使用 WebSphere Message Broker 的 WebSphere Transformation Extender 插件

在 Type 树编辑面板中双击 rec,调出一个空的组件面板:

图 8. rec 组的空组件面板
使用 WebSphere Message Broker 的 WebSphere Transformation Extender 插件

将其余条目按下列顺序从类型树拖放到组件面板:姓名、电话、街道、城市、国家、邮政编码:

图 9. 将条目拖放到 rec 组的组件面板
使用 WebSphere Message Broker 的 WebSphere Transformation Extender 插件

保存组件面板。

在菜单栏,选择 Tree => Analyze => Structure and logic 来分析类型树,您在 Analyze 结果视图中应该看到零个警告和错误:

图 10. addressCSV 类型树分析结果
使用 WebSphere Message Broker 的 WebSphere Transformation Extender 插件

保存类型树。

3. 在输入类型树和输出类型树之间创建一个映射

在 Extender 导航器中右键单击 Map files 并选择 New => Map source。在弹出对话框中选择 dwSample 作为父文件夹,输入 addressMap 作为 File name,然后单击 Finish。

在 Outline 面板中右键单击 addressMap,然后在 Map 名称字段选择 New、input csv2xml 并单击 OK:

图 11. 创建一个新映射
使用 WebSphere Message Broker 的 WebSphere Transformation Extender 插件

右键单击 Input cards 并选择 New。在 New 输入卡对话框中,输入如下所示属性并单击 OK:

在 CardName 字段输入 “csv”。

在 TypeTree 字段选择 addressCSV.mtt。

在 Type 字段选择 rec。

在 FilePath 字段输入 “input.csv”。


图 12. Input Card 配置
使用 WebSphere Message Broker 的 WebSphere Transformation Extender 插件

右键单击 Output cards 并选择 New。在 New 输出卡对话框,输入如下所示属性并单击 OK:

在 CardName 字段输入 xml。

在 TypeTree 字段选择 AddressBook.mtt。

在 Type 字段选择 Doc。

在 FilePath 字段输入 output.xml.


图 13. Output Card 配置
使用 WebSphere Message Broker 的 WebSphere Transformation Extender 插件

在 Map Editing 面板上,执行以下操作:

将名称、电话、街道、城市、国家和邮政编码字段从输入卡拖放到输出卡相应的字段。

在输出卡上选择 version 字段,输入 ="1.0",然后按下 Enter (您必须按住 Enter 直止生效)。

在 encoding 字段和 standalone 字段输入 =NONE(全部大写)。

现在,您的映射看起来像这样:

图 14. 映射规则配置
使用 WebSphere Message Broker 的 WebSphere Transformation Extender 插件

保存映射。

在菜单栏选择 Map => Build 来建立映射。

直接将提供的文件 input.csv 放在项目工作空间下面。

在菜单栏选择 Map => Run 来运行映射。您可以看到成功完成映射的对话框:

图 15. 成功完成映射
使用 WebSphere Message Broker 的 WebSphere Transformation Extender 插件

验证 XML 输出结果:在菜单栏选择 Map => View run results。在弹出窗口中,查看 #1 XML:

图 16. 查看 XML 输出结果
使用 WebSphere Message Broker 的 WebSphere Transformation Extender 插件

文件内容应同上述清单 2 中的 XML 内容一样。

用 WebSphere TX 插件节点创建一个 Message Broker 流

既然您已经创建了 WebSphere TX 类型树和映射,接下来就要在 Message Broker 消息流中配置和执行 WebSphere TX 映射。您将配置一个流,从 MQ 输入队列中取出 CSV 格式消息,用 WebSphere TX 映射来将消息流转换为 XML,然后放在 MQ 输出队列中。

表格 1. MQ 和 Broker 配置概述

MQ 配置Queue ManagerMYMQ
Input QueueQ.IN
Output QueueQ.OUT
Broker 配置Broker NameMYBROKER

1. 创建代理和输入/输出 MQ 队列

本节将向您展示如何使用命令创建 MQ 元素和代理。您也可以使用 Broker View Toolkit 创建代理。

打开 Windows Services 对话框:选择 Start => Run 并输入 services.msc。确保 IBM MQSeries 服务如开始所示。

图 17. 启动 IBM MQSeries 服务
使用 WebSphere Message Broker 的 WebSphere Transformation Extender 插件

打开 Message Broker 命令控制台:选择 Start => All Programs => WebSphere Message Broker V7。执行以下命令创建一个名为 MYBROKER 的代理。该命令也创建名一个为 MYQM 的队列管理器。执行命令之前确保用户名隶属于 msm 和 mqbrkrs。

清单3. 创建一个代理和相应的队列管理器的命令样例

mqsicreatebroker MYBROKER -i <username> -a <password> -q MYQM 
mqsistart MYBROKER 

在同一个 Message Broker 命令控制台,在 MYQM 队列管理器中使用以下命令创建命名为 Q.IN 和 Q.OUT 的非永久性输入和输出队列。

清单4. 创建 MQ 输入和输出队列的命令样例

runmqsc MYQM 
def ql(Q.IN) MAXDEPTH(10000) DEFPSIST(NO) 
def ql(Q.OUT) MAXDEPTH(10000) DEFPSIST(NO) 
end 


图 18. 创建 MQ 队列命令
使用 WebSphere Message Broker 的 WebSphere Transformation Extender 插件

2. 使用 Message Broker Toolkit 创建一个消息流

您需要创建一个使用 WebSphere TX 映射 csv2xml 的 Message Broker 消息流:

打开 Message Broker V7 Toolkit 并使用与创建 WebSphere TX 映射相同的工作空间。工具箱打开后,从右上端切换到 Broker Application Development 透视图,如前面 图 1 所示。

在菜单栏选择 File => New => Project,然后选择 Message Broker => Message flow project => Next。输入项目名称 dwFlow 并单击 Finish。

右键单击 dwFlow 项目并选择 New => Message Flow,输入消息流名称 my_wtx_flow 并单击 Finish。

在 my_wtx_flow 消息流编辑器画布中,从 WebSphere MQ 类别下的选项板中拖放一个 MQInput 节点。在 Basic 选项卡之下的 Node 属性部分输入 Q.IN 作为 Queue 名,并使其余字段保留默认设置。

从 WebSphere TX 类别之下的选项板拖放一个 WebSphere TX Map 节点到画布,并编辑 Node 属性,如下所示:

在 Basic 选项卡中选择 Use map from project 并单击 Browse 来选择 addressMap.mms之下的 csv2xml compiled map。在 Basic 选项卡中,您有两个选择来引用 WebSphere TX 映射。其中一个是 Use map from project,它引用一个已经包含在现有工作空间中的 WebSphere TX 已编译的映射。另一个是 Use external map,它通过使用 Map server location 字段指定的绝对路径引用 WebSphere TX 已编译的映射。在本例中选择 Use map from project 。

图19. WebSphere TX 插件节点基本配置
使用 WebSphere Message Broker 的 WebSphere Transformation Extender 插件

查看原图(大图)

如果您有不止一个输入卡,您可以在 Card number to wire 字段中指定想从 MQ 队列上获取消息的卡片数量。然而在本例中,您只有一个输入卡和一个输出卡,因次您可以让选项卡中的其余部分保留默认设置。

将 MQOutput 节点从 WebSphere MQ 类别下的选项板拖放到画布。在 Basic 选项卡之下的 Node 属性中,输入 Queue manager name 属性 MYQM ,输入 Queue name 属性 Q.OUT。在高级选项卡中,将 Message 内容从 Pass all 改变为 Default,将输出消息的消息头 PUTTIME 设置为消息发出时间。

图 20. MQOutput 节点高级配置
使用 WebSphere Message Broker 的 WebSphere Transformation Extender 插件

从选项板选择 connection 元素来连接三个节点。单击 MQInput node => Out,然后单击 WebSphere TX Map node 来在 MQInput 节点和 WebSphere TXMap 节点之间建立一个连接。然后选择 WebSphere TX Map => out1 并单击 MQOutput node 来在 WebSphere TXMap 节点和 MQOutput 节点之间建立第二个连接,一旦工作流部署到代理,MQInput 节点中的消息将被传递给 WebSphere TX Map 节点,ebSphere TX Map 节点的输出将输入 MQOutput 节点。

图21. Message Broker 流画布
使用 WebSphere Message Broker 的 WebSphere Transformation Extender 插件

保存流:按下 Ctrl + S。

构建用于部署到代理的 BAR 文件:

在左边的资源树中右键单击 dwFlow 项目并选择 New => Message Broker Archive,在 Name 字段输入 mybar。

在 Prepare 选项卡上,选择 my_wtx_flow.msgflow 并在底部单击 Build broker archive 来构建存档文件。您将在弹出对话框中看到操作成功完成。

图 22. 建立代理存档
使用 WebSphere Message Broker 的 WebSphere Transformation Extender 插件

查看原图(大图)

在 Manage 选型卡上,单击位于第一列的 my_wtx_flow.cmf。您可以修改 Additional instances 字段来管理由流创建的线程的数量。默认情况下,代理启动一个线程来处理每个流,但是如果您在 Additional instances 中输入的不是零,代理将启动超过一个线程来处理每个流,这在多核环境中可能会提高性能。

图 23. 代理存档配置
使用 WebSphere Message Broker 的 WebSphere Transformation Extender 插件

保存代理存档文件:按下 Ctrl + S。

3. 部署 BAR 文件到代理并启动消息流

在现有的 Message Broker V7 Toolkit 中,从 File 菜单选择 Window => Show view => Brokers。

在 Brokers 视图中,您能看见 MYBROKER,这是您在第一步中创建并附加到代理节点的:

图 24. 代理视图
使用 WebSphere Message Broker 的 WebSphere Transformation Extender 插件

右键单击 MYBROKER 并选择 New Execution Group。在弹出对话框中输入新的执行组名 EG1。单击 OK 之后,可能需要一段时间才能在 MYBROKER 下创建 EG1。

部署 BAR 文件:将 mybar.bar 拖放到 EG1:

图25. 部署 BAR 文件
使用 WebSphere Message Broker 的 WebSphere Transformation Extender 插件

my_wtx_flow 应该被部署在 MYBROKER 上运行。您能看到一个带有绿色向上箭头的流,这意味着该流是向上的且正在运行:

图 26. my_wtx_flow 成功启动
使用 WebSphere Message Broker 的 WebSphere Transformation Extender 插件

4. 验证流得到正确部署且正在运行

打开 MQ Explorer,展开 Queue managers 文件夹并选择 MYQM => Queues。

属于 MYQM 的所有队列都显示在右边面板中。右键单击 Q.IN 并选择 Put Test Message:

图27. 从 MQ Explorer 发出测试消息
使用 WebSphere Message Broker 的 WebSphere Transformation Extender 插件



清单 5. 消息内容样例

John Smith,222-2222,25 park st.,Heaven City,Univor State,222 


图28. 输入测试消息内容
使用 WebSphere Message Broker 的 WebSphere Transformation Extender 插件

当流启动时,我们刚刚放进输入队列的消息由流来处理,转换成 XML,并放入到输出队列 Q.OUT。您可以在 MQ Explorer中查看:在右上角单击 Refresh,您将看到 Q.OUT 的当前队列深度变为 1,这意味着这个队列中只有一条消息:

图29. 从 MQ Explorer 验证输出消息
使用 WebSphere Message Broker 的 WebSphere Transformation Extender 插件

您可以验证消息内容:右键单击 Q.OUT 并选择 Browse messages。您应该能从 Message data 字段看到 XML 格式的消息内容。忽略 XML 内容中的方形符号 —— 它们代表换行符。

图30. 从 Message Browser 验证输出消息内容
使用 WebSphere Message Broker 的 WebSphere Transformation Extender 插件

查看原图(大图)

如果您看见如上所示的 XML 消息数据,意味着工作流已被部署且正在成功运行。

本文示例源代码或素材下载

Tags:使用 WebSphere Message

编辑录入:爽爽 [复制链接] [打 印]
[]
  • 好
  • 好的评价 如果觉得好,就请您
      0%(0)
  • 差
  • 差的评价 如果觉得差,就请您
      0%(0)
更多精彩
    赞助商链接

    热点阅读
      焦点图片
        最新推荐
          精彩阅读