You are on page 1of 12

4/14/2016

IntroductiontotheWebSphereMessageBrokerglobalcache

developerWorksPremiumAnallaccesspasstobuildingyournextgreatapp!
Signup

developerWorks

Technicaltopics

WebSphere

Technicallibrary

IntroductiontotheWebSphereMessageBroker
globalcache
ThenewglobalcachefeatureinWebSphereMessageBrokerV8.0.0.1enablesyoutoshareaninmemorycache
betweenprocessesandbrokers.Thisarticledescribestheglobalcache,showsyouhowtouseit,andanswerssome
frequentlyaskedquestionsaboutit.

Share:
JamesHartisaSoftwareDeveloperontheWebSphereMessageBrokerDevelopmentteamattheIBMSoftwareLabinHursleyPark,United
Kingdom.Hehasworkedtheresince1999inavarietyoftechnicalandcustomerfacingroles,andheiscurrentlyTechnicalLeadforcaching
technologyinWebSphereMessageBroker.

19December2012
AlsoavailableinChinese

Introduction
ThisarticleprovidesanoverviewofthenewglobalcachecapabilityinIBM
WebSphereMessageBrokerV8.0.0.1.TheglobalcacheusesWebSphere
eXtremeScaletechnologytoprovideaninmemorydatacachethatcanbe
sharedacrossexecutiongroupsandbrokers.Thisarticlehasthreesections:
Overviewofglobalcache
Frequentlyaskedquestions
Cachetopologyconsiderations
Programmingconsiderationswillbecoveredinafuturearticle.

Overviewofglobalcache
WhywasthiscapabilityneededinWebSphereMessageBroker?
AlongstandingWebSphereMessageBrokerrequirementhasbeenamechanismforsharingdata
betweendifferentprocesses.Thisrequirementismosteasilyexplainedinthecontextofanasynchronous
request/replyscenario.Inthiskindofscenario,abrokeractsasintermediarybetweenanumberofclient
applicationsandabackendsystem.Eachclientapplicationsends,viathebroker,requestmessagesthat
containcorrelatinginformationtobeincludedinanysubsequentreplies.Thebrokerforwardsthe
messagesontothebackendsystem,andthenprocessestheresponsesfromthatsystem.Tocomplete
theroundtrip,thebrokerhastoinsertthecorrelatinginformationbackintotherepliesandroutethem
backtothecorrectclients.
Whentheflowsarecontainedwithinasinglebroker,thereareafewoptionsforstoringthecorrelating
information,suchasadatabase,orastorequeuewhereanMQGetnodeisusedtoretrievethe
http://www.ibm.com/developerworks/websphere/library/techarticles/1212_hart/1212_hart.html

1/12

4/14/2016

IntroductiontotheWebSphereMessageBrokerglobalcache

informationlater.Ifyouneedtoscalethissolutionhorizontallyandaddbrokerstohandleanincreasein
throughput,thenadatabaseistheonlyreasonableoption.
However,ifasingleinmemorycacheisavailabletotherequestandresponsemessageflowsregardless
ofwhichbrokerstheyarerunningin,thentherequestflowcanstorethecorrelationinformationinthe
cache,andthereplyflowcanretrieve(anddelete)it.Regardlessofwhetherthereplymessageisrouted
throughthesamebrokerastheoriginalrequest,orthroughadifferentbroker,thereplystillendsupwith
thecorrectclient,asshownbelow:
Request/replyscenariowithglobalcache

Othercommonscenariosfortheglobalcacheincludemaintaininganinmemoryroutetableshared
betweenexecutiongroupsorbrokers,orreducinglatencytobackendsystemsbykeepingafaadeof
frequentlyquerieddatainthecache.

Howdoestheglobalcachework?
TheWebSphereMessageBrokerglobalcacheisimplementedusingembeddedWebSphereeXtreme
Scale(WebSphereXS)technology.ByhostingWebSphereXScomponents,theJVMsembeddedwithin
WebSphereMessageBrokerexecutiongroupscancollaboratetoprovideacache.Foradescriptionof
WebSphereXS,seeProductoverviewintheWebSphereXSinformationcenter.Herearesomeofthe
keycomponentsintheWebSphereXStopology:
Catalogserver
Controlsplacementofdataandmonitorsthehealthofcontainers.
Containerserver
Acomponentembeddedintheexecutiongroupthatholdsasubsetofthecachedata.Betweenthem,
allcontainerserversintheglobalcachehostallofthecachedataatleastonce.
Map
Adatastructurethatmapskeystovalues.Onemapisthedefaultmap,buttheglobalcachecanhave
severalmaps.
EachexecutiongroupcanhostaWebSphereXScatalogserver,containerserver,orboth.Additionally,
eachexecutiongroupcanmakeaclientconnectiontothecacheforusebymessageflows.Theglobal
cacheworksoutofthebox,withdefaultsettings,andnoconfigurationyoujustswitchiton!Youdonot
needtoinstallWebSphereXSalongsidethebroker,oranyotheradditionalcomponentsorproducts.

Howdoyoucontrolthescopeofthecache?
Thedefaultscopeofonecacheisacrossonebroker.Toenablethis,switchthebrokerlevelpolicy
http://www.ibm.com/developerworks/websphere/library/techarticles/1212_hart/1212_hart.html

2/12

4/14/2016

IntroductiontotheWebSphereMessageBrokerglobalcache

propertyontheGlobalCachetabofMessageBrokerExplorertoDefaultandrestart.Thiscauseseach
executiongrouptoassumearoleinthecachedynamicallyonstartup.Thefirstexecutiongrouptostart
willbeacatalogandcontainerserver,usingthefirstfourportsfromthesuppliedportrange(aportrange
willhavebeengeneratedforyou,butyoucanmodifythis).Formoredetailsontheportrange,see
Frequentlyaskedquestionsbelow.Thesecond,third,andfourthexecutiongroups(ifpresent)willbe
containerservers,eachusingthreeportsfromtherange.Anyexecutiongroupsbeyondthefourthone
willnothostcachecomponents,butwillconnectasclientstothecachehostedinexecutiongroups14.
Thediagrambelowshowstheplacementofservers,andtheclientconnections,forasinglebrokercache
withsixexecutiongroups:
Singlebrokercachewithdefaultpolicy

Youcanextendthecachetomultiplebrokersbyusingacachepolicyfile.Threesamplepolicyfilesare
includedintheproductinstall,inthesample/globalcachedirectory.Youcansimplyalterthepolicyfileto
containallthebrokersyouwanttocollaborateinasinglecache,thenpointthebrokerlevelcachepolicy
propertyatthisfile.HereisthissettinginMessageBrokerExplorer:
ConfiguringacachepolicyfileinMessageBrokerExplorer

http://www.ibm.com/developerworks/websphere/library/techarticles/1212_hart/1212_hart.html

3/12

4/14/2016

IntroductiontotheWebSphereMessageBrokerglobalcache

Thefileletsyounominateeachbrokertohostzero,one,ortwocatalogservers,andtheportrangethat
eachbrokershoulduseforitscachecomponents.Thefollowingdiagramshowsatwobrokercache,with
bothbrokersconfiguredtocontaincatalogservers:
Twobrokercachecontrolledbypolicyfile

Youcanalsoconfigurespecificcacherolesforeachexecutiongroup,ratherthanhavingthem
dynamicallyassignedonstartup,bychangingthebrokercachepolicypropertytonone,whichthen
enablesasetofdetailedexecutiongroupproperties.Fordetails,seeCachetopologyconsiderations
below.
Asthecacheddataisallhostedinsidetheexecutiongroupprocesses,theglobalcacheisabetterfitfor
somesolutionsthanothers.Forinstance,storingtransientcorrelationinformationorroutingtablesis
http://www.ibm.com/developerworks/websphere/library/techarticles/1212_hart/1212_hart.html

4/12

4/14/2016

IntroductiontotheWebSphereMessageBrokerglobalcache

clearlyagooduseforthistechnology.Itssuitabilityasadatabasefaadedependslargelyontheamount
ofdatatobekeptinthecache.HostingseveralgigabytesofdataintheJVMheapsofasmallnumberof
executiongroupsisnotrecommended.Anotherconsiderationistherequirementforadvancedfeaturesof
WebSphereXS.IfyouhaveidentifiedaneedtoexploitAPIsotherthanthesimpleObjectMapinterface,
orarequirementtocustomizetheunderlyingWebSphereXSgridconfigurationXMLfiles,thena
separateWebSphereXSorXC10installationmaybemoreappropriate.Connectivitytoaremotea
WebSphereXSinstallationfromWebSphereMessageBrokerisnotcoveredbythisarticle.

Howdoyouinteractwiththecache?
Themessageflowdeveloperhasnew,simpleartifactsforworkingwiththeglobalcache,andisnot
immediatelyawareoftheunderlyingWebSphereXStechnologyortopology.Specifically,theJava
ComputenodeinterfacehasanewMbGlobalMapobject,whichprovidesaccesstotheglobalcache.This
objecthandlesclientconnectivitytotheglobalcache,andprovidesanumberofmethodsforworkingwith
mapsinthecache.ThemethodsavailablearesimilartothoseyouwouldfindonregularJavamaps.
IndividualMbGlobalMapobjectsarecreatedbyusingastaticgetterontheMbGlobalMapclass,which
actsasafactorymechanism.YoucanworkwithmultipleMbGlobalMapobjectsatthesametime,and
createthemeitheranonymously(whichusesapredefineddefaultmapnameunderthecoversin
WebSphereXS),orwithanymapnameofyourchoice.Intheexamplesbelow,defaultMapwillwork
withthesystemdefineddefaultmapwithintheglobalcache.myMapwillworkwithamapcalledmyMap,
andwillcreatethismapifitdoesnotalreadyexistinthecache.
SampleMbGlobalMapobjects
MbGlobalMap defaultMap = MbGlobalMap.getGlobalMap();
MbGlobalMap myMap = MbGlobalMap.getGlobalMap(myMap);

Howdoyouadministerthecache?
Interactionswiththeglobalcacheforagivenexecutiongrouparetrackedusingresourcestatistics,and
anactivitylogthatrecordsthestartofthecatalogorcontainerserverinthatexecutiongroup.Itwillthen
recordeachput,get,update,removeorcontainsKeycallmadewithinthatexecutiongroup,aswellas
whichflowandnodemadethecall,whichmapandkeywereused,anddetailsofanyexceptionsin
processing.Thefigurebelowshowsthenarrativeofconnectingtotheglobalcache,checkingwhetheran
entryexists,andthenputtingsomedatainthecache.
Exampleactivitytraceoutput

Sinceresourcestatisticsandactivitytracescanprovideonlyanisolatedviewfromeachexecutiongroup,
thereisalsothemqsicacheadmin command,whichprovidesinformationabouttheentireglobalcache.It
hasanumberofsubcommands.ThelistHostsandshowPlacementcommandshelpvalidatethe
conditionofyourglobalcacheforexample,doesitcoverthenumberofhostsyouexpect,doesithave
therightnumberofcontainers,andaretheshardsspreadevenlyacrossthesecontainers.
http://www.ibm.com/developerworks/websphere/library/techarticles/1212_hart/1212_hart.html

5/12

4/14/2016

IntroductiontotheWebSphereMessageBrokerglobalcache

showMapSizesshowstheoverallsizeofyourglobalcache,mapbymap,whileclearGridletsyouclear

thedatafromaspecificmap,whichisusefulforpurgingdatawhenaparticularmapgetstoolarge.

Frequentlyaskedquestions
Q:Canoneglobalcachebesharedacrossmultiplebrokers?
A:Yes!Althoughthedefaultcachepolicyprovidesasinglebrokercache,youcanuseacachepolicyfile
tocreateamultibrokercache.Threesamplepolicyfilesareincludedintheproductinstall.Simplyalter
thepolicyfiletocontainallthebrokersyouwanttocollaborateinasinglecache,andthenpointthe
brokerlevelcachepolicypropertyatthisfile.Thefileletsyounominateeachbrokertohostzero,one,or
twocatalogservers,andtheportrangethateachbrokershoulduseforitscachecomponents.Ensure
thatthelistenerHostattributeforeachbrokerinthepolicyfilematchesthatbroker'slistenerHostproperty.
Thisisused,alongwiththebrokername,byeachbrokertoidentifyitselfinthepolicyfile.
Q:WhathappensifIshutdownanexecutiongroupthathostsacatalogserver?
A:Ifitistheonlycatalogserver,thenyourcacheisgone.However,ifyouhaveconfiguredyourcacheto
havemorethanonecatalogserver,andtheyhavesuccessfullyhandshakedonstartup,thenthe
remainingcatalogserver(orservers)willcontinuetorunthecachewithoutinterruption.Whenyourestart
theexecutiongroup,thecatalogserverwillrejointhetopology.
Q:Inamultibrokercache,ifoneofmybrokersfails,whathappenstomydata?
A:Aslongasyouarerunningwithmultiplecatalogserversondifferentmachines,yourdataisstill
availabletotheremainingbrokers.Eachpieceofdatainthecachehasaprimaryversion(primary
shard),andareplica.Ifyouhavemultiplecatalogsondifferentmachinesthenthereplicaofanypieceof
dataisguaranteedtoresideonadifferentmachinefromtheprimary.Ifthebrokerhostingtheprimary
shardofsomedatafails,thereplicashardautomaticallybecomestheprimary,andanewreplicais
createdelsewhere.ThisbehaviourisenabledbyAPARIC88062,whichguaranteesthatprimaryand
replicashardsareplacedondifferentmachines.WithoutthisAPAR,itispossibletolosebothshardsifa
brokerfails.Ifthereisonlyonecatalogserver,oronlyonehostcontainingcatalogservers,thenprimary
andreplicashardscanbeplacedonthesamemachine.
Q:Isthereawaytoconfigurethecachetoexpiredataafteracertainamountoftime?
A:Currently,thereisnowaytoenableexpirationintheembeddedcache.Thelifecycleofalldatamust
becodedforinyourmessageflows.
Q:CanIensurethataspecificexecutiongroupalwayshostsacatalogserver?
A:Yes,bymovingfromabrokerpolicyofdefault/filetonone,andbysettingeachexecutiongroup's
cachepropertiesindividually.Formoredetailsonthistopic,seeCachetopologyconsiderationsbelow.
Q:I'mtryingouttheglobalcacheonmylaptopandhavingproblemswhenmyIPaddress
changes.Whatisthesolution?
A:Forasinglemachinetopology,youcanchangethelistenerHostpropertyofyourbroker(onthe
broker'sGlobalCachetabinMessageBrokerExplorer)tolocalhost.localhostwillnotworkifyouexpand
thecachetocovermultiplemachines,butissuitableforthiskindofsimple,laptoporientedDHCPusage.
Q:Doestheglobalcacheworkformultiinstancebrokers?
A:Ifanactivebrokerfails,andastandbybrokerstartsuptotakeitsplaceonadifferentmachine,the
catalogsandcontainersinthatbrokerwillfailtostart(astheyarebindingtothewronghostname).Butall
http://www.ibm.com/developerworks/websphere/library/techarticles/1212_hart/1212_hart.html

6/12

4/14/2016

IntroductiontotheWebSphereMessageBrokerglobalcache

executiongroupswillbeabletomakeclientconnectionstotheglobalcache,assumingthatacatalogis
stillrunninginanotherbroker.Theoriginalactivebrokerwillneedtoberestoredinorderforthecache
components(catalogsandcontainers)withinthatbrokertorestartandrejointhecache.
Q:Isthereawaytopersistdatatothefilesystemoradatabase?
A:Currentlythereisnoautomaticwaytodothiswiththeglobalcache.
Q:Areinteractionswiththeglobalcachetransactional?
A:Eachinteractionwiththeglobalcacheisatransactioninitsownright.WebSphereXSpessimistic
lockingisusedduringeachaction,andcontrolisreturnedtotheuseronlyafterthatactionhasbeen
committedtotheprimaryandreplicaversionsofthedata.Buttheglobalcacheinteractionsarenot
integratedwiththemessageflowtransaction,soifamessageflowrollsbackaftersomedatahasbeen
putintothecache,thedatawillnotberemoved.Keepthisfactinmindwhendesigningmessageflows,
andtrytomakecacheputs,updates,andremovesoccuraslateintheflowaspossible.TheCoordinated
RequestReplysampleintheproductdemonstratesthistechniquestoringcorrelationinformationinto
thecacheonlyaftertheflow'sMQOutputnodehassuccessfullyputamessage.
Q:CantheglobalcachebeaccessedoutsideofaJavaComputenode?
A:Yes.YoucancreatestaticJavawrappersforcommonglobalcachetasks,suchasgettingaString
valuefromagivenMap.YoucanthencalltheseJavamethodsfromwithinESQLandtheMappingnode.
Makingthecacheavailablenativelyfromacrosstheprogramminginterfacesisthelongtermgoal.
Q:Arethereanyimplicationsforthesizeofexecutiongroupprocesseswhenusingtheglobal
cache?
A:Withacatalogorcontainerserverenabled,theheapsizeoftheJVMwithinanexecutiongroupwill
increasebyatleast30MB.Thereisnoimpactontheperformanceofflowswithinthatexecutiongroup
asaresultofhostingacachecomponent,butallofthedataintheglobalcachewillbehostedwithinyour
executiongroupprocesses,andthesizeoftheseprocesseswillgrowaccordingly.Ifyoucreateflowsthat
continuallywritetothecacheandneverremovedata,thesizeofyourprocesseswillkeepgrowinguntil
theycauseoutofmemoryerrors.Youshouldconsiderhowmuchdataislikelytobeplacedinthecache,
andrefertotheWebSphereXSproductdocumentationforguidanceonJVMheapsizesettings.
Q:Whydoesn'tthedefaultcachepolicyallowformorethanonecatalogserver?
A:Althoughrunningwithmultiplecatalogserversisrecommended,thereissomeoverheadinvolved.
Whenyouhavemultiplecatalogs,ensurethatamajorityofthemarestartedataroundthesametime,
andallow6090secondsforthemtohandshakebeforethecachebecomesavailable.Adefaultsingle
brokercachewithonecatalogstillprovidessharingofdataacrossexecutiongroups,andstartsup
quickly.
Q:DoIneedtorestartallmybrokersifImodifythecachepolicyfile?
A:Itdependsonwhatyouhavemodified.Ifyouhaveadded,removedormodifiedabrokerthathostsa
catalogserver,thenrestartallofthebrokers.Allofthecatalogserversneedtoknowabouteachother
beforestarting,andaddinganewcatalogserverdynamicallywhilsttheothersarestillrunningisnot
possible.However,ifyouaddabrokerthatdoesnotcontainacatalogserver,thenyouonlyneedto
restartthisonebroker.Thecontainerserversandclientconnectionswithinthisbrokerwillconnecttothe
gridusingtheinformationalreadypresentinthepolicyfile,andtheothercomponentsdonotneedtobe
http://www.ibm.com/developerworks/websphere/library/techarticles/1212_hart/1212_hart.html

7/12

4/14/2016

IntroductiontotheWebSphereMessageBrokerglobalcache

madeawareofthischange.
Q:Whyisaportrangerequired,andhowlargeshoulditbe?
A:Thecatalogserverandcontainerservercomponentswithinthecacheallrequireanumberofportsto
communicate.Executiongroupsthatarehostingcatalogservers(orcatalogsandcontainers)requirefour
ports.Executiongroupsthathostonlycontainerserversrequirethreeports.Executiongroupsthatact
purelyasclientsdonotrequireanyports.WebSphereMessageBrokerrequiresthatyouprovidearange
ofatleast20ports.Currently,amaximumofeither13ports(forthedefaultcachepolicy)or14ports(for
atwocatalogbrokerdefinedviathepolicyfile)areactuallyusedperbroker.Theadditionalportsare
reservedforfutureuse.
Q:Doeseverycontainerhaveafullcopyofthecache?
A:No.Eachcontainerhostsasubsetofdatainthecache.Eachpieceofdatahasaprimarycopyanda
replica.TheWebSphereXScomponentsinthecacheensurethatthoseprimaryandreplicacopies
(shards)arespreadacrosstheavailablecontainers.

Cachetopologyconsiderations
Whatiscachetopology?
Cachetopologyisthesetofcatalogservers,containers,andclientconnectionsthatcollaboratetoforma
globalcache.Whenusingthedefaultpolicy,thefirstexecutiongrouptostartwillperformtheroleof
catalogserverandcontainerserver(callthisRole1).Thenextthreeexecutiongroupstostartperformthe
roleofcontainerservers(Role2,3,and4).Nootherexecutiongroupswillhostcatalogsorcontainers,but
allexecutiongroups(includingthoseperformingRoles1,2,3,and4)hostclientconnectionstotheglobal
cache.Whenyourestartthebroker,theexecutiongroupsmaystartinadifferentorder,inwhichcase
differentexecutiongroupsmightperformRoles1,2,3,and4.Thecachetopologystillcontainsone
catalogserver,uptofourcontainers,andmultipleclients,butthedistributionofthoserolesacrossyour
executiongroupswillvary.

Howdoesacachepolicyfilehelpwiththis?
Thepolicyfileletsyoudefinetheshapeofyourcachetopologyacrossoneormorebrokers.Ifyoucreate
apolicyfilewithtwobrokers,eachofwhichistohostonecatalogserver,thenyouareactuallyjustjoining
togethertwodefaultcaches.EachbrokerwillhavethesameRoles1,2,3,and4describedabovebut
theyallknowtheyarepartofamultiplecatalogcache,andwillsetuptheirpropertiesaccordingly.
However,youcanalsousethepolicyfiletodefineasinglebrokercachewithtwocatalogservers.Inthis
case,Role2describedabovebecomesasecondcatalogserver,andacontainerserver.
Youcanalsospecifythataparticularbrokershouldcontainzerocatalogservers,whichisusefulina
cachethatspansmultiplebrokers.Asmall,primenumberofcatalogserversisidealforoptimum
availabilityandperformance.Soinacachespreadacrosssixbrokers,youmightwantonlythreeofthem
(forexample)tohostcatalogs.Foradiscussionofwhenyouhavetorestartbrokersafterachangetothe
policyfile,seeFrequentlyaskedquestionsabove.

Whenshouldyouusepolicynoneandcontroleachexecutiongroup
individually?
Whenyouwanttoknowexactlywhichroleeachexecutiongroupisplayinginthetopology,andhave
http://www.ibm.com/developerworks/websphere/library/techarticles/1212_hart/1212_hart.html

8/12

4/14/2016

IntroductiontotheWebSphereMessageBrokerglobalcache

thisfixedacrossbrokerrestarts.
WhenyouareusingthecacheheavilyandneedtotunetheJVMheapsize,andthereforeneedtoknow
whichexecutiongroupstotune.
Whenyouwanttoisolatethecatalogserver,sothatyoucanmanagethatexecutiongroup'slifecycle
individually.
Whenyouareusingthecacheheavily,anddonotwantthecatalogservercoexistinginaJVMwitha
container,sincetheworkperformedbythecatalogcouldaffecttheperformanceofthatcontainer.
Whenyouwanttocreatemorecontainerserversorcatalogserversinabrokerthananyofthepolicy
optionsprovide.
Whenyouwanttoconfigureeachportindividually,ratherthanhavingthebrokerpickportsfromarange.

Havingsetthepolicytonone,whatdoyoudonext?
Whenyouchoosethebrokerpolicysettingofnone,asetofexecutiongrouppropertiesthatwere
previouslyreadonlybecomeavailable.ThesearevisibleinMessageBrokerExploreronthe
GlobalCachetaboftheexecutiongroup'sproperties,andalsofromthecommandlineviathe
ComIbmCacheManagerresourcewithintheexecutiongroup:
mqsireportproperties <broker> -e <EG> -o ComIbmCacheManager -r

Whenyouswitchfromapolicy(eitherthedefaultorapolicyfile)tonone,themostrecentvaluesofthese
propertiesthatweredynamicallysetbythepolicyareretainedasastartingpointforcustomization.
Customizingpropertiesforexecutiongroupsthatyouwanttonothostcatalogserversisrelatively
straightforward:
ThreeportsarerequiredlistenerPort,haManagerPort,andjmxServicePort.
YoucandisableJMX(setenableJMXtofalse),butthemqsicacheadmincommandwillthenbeunable
toreachcomponentsinthisexecutiongroup.
connectionEndPointsmustbesettoacommaseparatedlistofcatalogservers,witheachcatalog

serverdescribedintheformatlistenerHost:listenerPort.Thispropertyisusedbythecontainer
server(ifenabled)inthisexecutiongroup,andbytheclientconnection,tocommunicatewiththecache.
ThecatalogClusterEndPointspropertydoesnotneedtobeset.
Customizingpropertiesforexecutiongroupsthatyouwanttohostcatalogserversisalittlemoredifficult.
Inadditiontothestepsabove,youmustalsosetthecatalogClusterEndPointsproperty:
Eachexecutiongroupthatistohostacatalogservermusthavethesamevaluefor
catalogClusterEndPoints.
Thispropertycontainsdetailsofnotonlythisexecutiongroup'scatalog,butalsoeveryothercatalog
serverinthetopology.
EachendpointisintheformatServerName:listenerHost:CatalogPeerPort:haManagerPort.
TheCatalogPeerPortisafourthport,forcatalogserversonly,andisnotreferencedelsewhereinthe
properties.
http://www.ibm.com/developerworks/websphere/library/techarticles/1212_hart/1212_hart.html

9/12

4/14/2016

IntroductiontotheWebSphereMessageBrokerglobalcache

listenerHostandhaManagerPortarethesamevaluesasspecifiedinthisexecutiongroup's

properties.
TheservernameisBrokerName_listenerHost_listenerPort.Togiveanexample:
Youwantthisexecutiongrouptohostacatalogserver,andyouhavesetthelistenerPortto2800,
thehaManagerPortto2801,andthejmxServicePortto2802.
Youwantthefourthport(CatalogPeerPort)tobe2803.
ThebrokeriscalledMB8BROKER.
ThelistenerHostissettomybrokerbox.
ThecatalogClusterEndPointforthiscatalogserverwillbe
MB8BROKER_mybrokerbox_2800:mybrokerbox:2803:2801
catalogClusterEndPointsforthisexecutiongroupneedtobesettoacommaseparatedlistofthe

endpointabove,andallothercatalogservers.
Duetothecomplexityofsettingthecatalogserverproperties,herearesomealternativeapproachesfor
settingindividualexecutiongroupproperties:
Startwithacachepolicy.Bringupexecutiongroupsinthecorrectorderbasedontherolesyouwant
themtotake.Switchtononetofixtheseroles.Youcanthenalsotweakthesettingswithouthavingto
craftthemfromscratch(forexample,switchenableContainerServicetofalsetoachieveanisolated
catalogserver).
Again,startwithacachepolicy.Basedonthediscussionaboveaboutroleswithinthetopology,youcan
considereachsetofexecutiongrouppropertiestoconstitutearoledefinition,whichisnottightly
coupledtoanyoneexecutiongroup.Usemqsireportpropertiestocreateasnapshotoftheserole
definitions.Youcannowswitchtononeandusemqsichangepropertiestoassigntheserolestothe
specificexecutiongroups.Forexample,EG1mayhavetakenRole1underthedefaultpolicy,butyou
actuallywantadedicatedexecutiongroupcalledCATCONT1toperformthatrole.YoucanreportEG1's
propertiesandusethoseprecisevaluestosetupCATCONT1.Ifyouusethisapproach,makesurethat
yourevisitEG1'spropertiestoensurethatitnowhasthecorrectrole(evenifthatjustinvolvessetting
enableCatalogServiceandenableContainerServicetofalse).

Resources
WebSphereMessageBrokerresources
Globalcacheoverview
TopicintheWebSphereMessageBrokerV8.0.0.1informationcenter.
Productoverview
TopicintheWebSphereeXtremeScaleinformationcenter.
Parametervaluesforthecachemanagercomponent
TopicintheWebSphereMessageBrokerV8.0.0.1informationcenter.
WebSphereMessageBrokerV8informationcenter
AsingleWebportaltoallWebSphereMessageBrokerV8documentation,
withconceptual,task,andreferenceinformationoninstalling,configuring,
http://www.ibm.com/developerworks/websphere/library/techarticles/1212_hart/1212_hart.html

DigdeeperintoWebSphereon
developerWorks
Overview
NewtoWebSphere
Technicallibrary(tutorialsandmore)
Forums
Community
Downloads
Products
Events

10/12

4/14/2016

IntroductiontotheWebSphereMessageBrokerglobalcache

andusingyourWebSphereMessageBrokerenvironment.

developerWorksPremium

WebSphereMessageBrokerdeveloperresourcespage
TechnicalresourcestohelpyouuseWebSphereMessageBrokerfor
connectivity,universaldatatransformation,andenterpriselevelintegration
ofdisparateservices,applications,andplatformstopoweryourSOA.

Exclusivetoolstobuildyournext
greatapp.Learnmore.

WebSphereMessageBrokerproductpage
Productdescriptions,productnews,traininginformation,support
information,andmore.
DownloadfreetrialversionofWebSphereMessageBroker
WebSphereMessageBrokerisanESBbuiltforuniversalconnectivityand
transformationinheterogeneousITenvironments.Itdistributesinformation
anddatageneratedbybusinesseventsinrealtimetopeople,applications,
anddevicesthroughoutyourextendedenterpriseandbeyond.

developerWorksLabs
Technicalresourcesforinnovators
andearlyadopterstoexperiment
with.

IBMevaluationsoftware
EvaluateIBMsoftwareand
solutions,andtransform
challengesintoopportunities.

WebSphereMessageBrokerdocumentationlibrary
WebSphereMessageBrokerspecificationsandmanuals.
WebSphereMessageBrokerforum
Getanswerstotechnicalquestionsandshareyourexpertisewithother
WebSphereMessageBrokerusers.
WebSphereMessageBrokersupportpage
Asearchabledatabaseofsupportproblemsandtheirsolutions,plus
downloads,fixes,andproblemtracking.
IBMTrainingcourse:WebSphereMessageBrokerV8Development
ThiscoursefromIBMTrainingshowsyouhowtousethecomponentsofthe
WebSphereMessageBrokerdevelopmentandruntimeenvironmentsto
developandtroubleshootmessageflowsthatuseESQL,Java,andPHPto
transformmessages.
Youtubetutorial:IntegratingMicrosoft.NETcodeinaWebSphereMessage
BrokerV8messageflow
Thisfiveminuteyoutubetutorialshowsyouhowsimpleitistouse
WebSphereMessageBrokerV8tobuildamessageflowthatincludes
Microsoft.NETcode.MicrosoftVisualStudioisusedtobuild.NETcodein
C#,whichisthenintegratedintoamessageflowusingMessageBrokerand
anHTTPRESTfulinterface.
WebSphereresources
developerWorksWebSpheredeveloperresources
TechnicalinformationandresourcesfordeveloperswhouseWebSphere
products.developerWorksWebSphereprovidesproductdownloads,howto
information,supportresources,andafreetechnicallibraryofmorethan
2000technicalarticles,tutorials,bestpractices,IBMRedbooks,andonline
productmanuals.
developerWorksWebSphereapplicationintegrationdeveloperresources
Howtoarticles,downloads,tutorials,education,productinfo,andother
resourcestohelpyoubuildWebSphereapplicationintegrationandbusiness
integrationsolutions.
MostpopularWebSpheretrialdownloads
NochargetrialdownloadsforkeyWebSphereproducts.
WebSphereforums
Productspecificforumswhereyoucangetanswerstoyourtechnical
questionsandshareyourexpertisewithotherWebSphereusers.
WebSphereondemanddemos
Downloadandwatchtheseselfrunningdemos,andlearnhowWebSphere
productsandtechnologiescanhelpyourcompanyrespondtotherapidly
http://www.ibm.com/developerworks/websphere/library/techarticles/1212_hart/1212_hart.html

11/12

4/14/2016

IntroductiontotheWebSphereMessageBrokerglobalcache

changingandincreasinglycomplexbusinessenvironment.
WebSphererelatedarticlesondeveloperWorks
Over3000editedandcategorizedarticlesonWebSphereandrelated
technologiesbytoppractitionersandconsultantsinsideandoutsideIBM.
Searchforwhatyouneed.
developerWorksWebSphereweeklynewsletter
ThedeveloperWorksnewslettergivesyouthelatestarticlesandinformation
onlyonthosetopicsthatinterestyou.InadditiontoWebSphere,youcan
selectfromJava,Linux,Opensource,Rational,SOA,Webservices,and
othertopics.Subscribenowanddesignyourcustommailing.
WebSphererelatedbooksfromIBMPress
ConvenientonlineorderingthroughBarnes&Noble.
WebSphererelatedevents
Conferences,tradeshows,Webcasts,andothereventsaroundtheworldof
interesttoWebSpheredevelopers.
developerWorksresources
TrialdownloadsforIBMsoftwareproducts
NochargetrialdownloadsforselectedIBMDB2,Lotus,Rational,
Tivoli,andWebSphereproducts.
developerWorksbusinessprocessmanagementdeveloperresources
BPMhowtoarticles,downloads,tutorials,education,productinfo,andother
resourcestohelpyoumodel,assemble,deploy,andmanagebusiness
processes.
developerWorksblogs
JoinaconversationwithdeveloperWorksusersandauthors,andIBM
editorsanddevelopers.
developerWorkstechbriefings
FreetechnicalsessionsbyIBMexpertstoaccelerateyourlearningcurve
andhelpyousucceedinyourmostchallengingsoftwareprojects.Sessions
rangefromonehourvirtualbriefingstohalfdayandfulldaylivesessionsin
citiesworldwide.
developerWorkspodcasts
Listentointerestingandoffbeatinterviewsanddiscussionswithsoftware
innovators.
developerWorksonTwitter
CheckoutrecentTwittermessagesandURLs.
IBMEducationAssistant
Acollectionofmultimediaeducationalmodulesthatwillhelpyoubetter
understandIBMsoftwareproductsandusethemmoreeffectivelytomeet
yourbusinessrequirements.

http://www.ibm.com/developerworks/websphere/library/techarticles/1212_hart/1212_hart.html

12/12