Difference between revisions of "Common Messaging endpoints"

From Gcube Wiki
Jump to: navigation, search
Line 71: Line 71:
  
 
</pre>
 
</pre>
 +
 +
The current implementation is using ONLY the openwire broker interface, but in future  release if requested we can also addd other inteface addresses (.e.g STOMP) and give the possobility to retrieve them trough the library.
 +
 +
 +
The Library can be instantiated by clients to retrieve MessageBroker addresses as follows:
 +
 +
 +
<source >
 +
 +
ScopeProvider.instance.set(<scope>);
 +
 +
ScheduledRetriever retriever = BrokerEndpoints.getRetriever(<waiting_time>, <refresh_period>);
 +
 +
</source>
 +
 +
* ''waiting_time'' specifies the waiting time in seconds ( the MAX waiting time for the library to try to contact the IS and get the profiles)
 +
* ''refresh_period'' specifies the refreshing  time for the profiles
 +
 +
each ScheduledRetriever is static within the JVM, so only one ScheduledRetriever is instantiated per scope.
 +
 +
Once the retriever is instantiated it can be also retrieved as follows
 +
 +
<source >
 +
 +
ScopeProvider.instance.set(<scope>);
 +
 +
ScheduledRetriever retriever = BrokerEndpoints.getRetriever();
 +
 +
</source>
 +
 +
 +
The addresses provided are of two types:
 +
 +
* JMS failover endpoint ( retriever.getFailoverEndpoint())
 +
* Broker addresses (retriever.getEndpoints())

Revision as of 12:47, 18 April 2013

The Messagin Endpoints Lirbary is a simple library that has been developed in order to harvest and make available the Message broker instances addresses that are published on the gCube Information System

The library expects each Message Broker instance to be published on the IS as a gCube Runtime Resource having the following model:


 <ID></ID>
    
   <Type>RuntimeResource</Type>
    
   <Scopes>
        
      <Scope>/xxx/xxxxx</Scope>
    
   </Scopes>
    
   <Profile>
        
      <Category>Service</Category>
        
      <Name>MessageBroker</Name>
        
      <Description />
        
      <Platform>
            
         <Name>ActiveMQ</Name>
            
         <Version>5</Version>
            
         <MinorVersion>5</MinorVersion>
            
         <RevisionVersion>1</RevisionVersion>
            
         <BuildVersion>1</BuildVersion>
        
      </Platform>
        
      <RunTime>
            
         <HostedOn>hostname</HostedOn>
            
         <GHN UniqueID="" />
            
         <Status>READY</Status>
        
      </RunTime>
        
      <AccessPoint>
            
         <Description>openwire interface</Description>
            
         <Interface>
                
            <Endpoint EntryName="openwire">tcp://hostname:port</Endpoint>
            
         </Interface>
            
         <AccessData>
                
            <Username />
                
            <Password />
            
         </AccessData>
        
      </AccessPoint>
    
   </Profile>


The current implementation is using ONLY the openwire broker interface, but in future release if requested we can also addd other inteface addresses (.e.g STOMP) and give the possobility to retrieve them trough the library.


The Library can be instantiated by clients to retrieve MessageBroker addresses as follows:


Invalid language.

You need to specify a language like this: <source lang="html4strict">...</source>

Supported languages for syntax highlighting:

4cs, 6502acme, 6502kickass, 6502tasm, 68000devpac, abap, actionscript, actionscript3, ada, aimms, algol68, apache, applescript, arm, asm, asp, asymptote, autoconf, autohotkey, autoit, avisynth, awk, bascomavr, bash, basic4gl, bf, bibtex, blitzbasic, bnf, boo, c, caddcl, cadlisp, cfdg, cfm, chaiscript, chapel, cil, clojure, cmake, cobol, coffeescript, cpp, csharp, css, cuesheet, d, dart, dcl, dcpu16, dcs, delphi, diff, div, dos, dot, e, ecmascript, eiffel, email, epc, erlang, euphoria, ezt, f1, falcon, fo, fortran, freebasic, freeswitch, fsharp, gambas, gdb, genero, genie, gettext, glsl, gml, gnuplot, go, groovy, gwbasic, haskell, haxe, hicest, hq9plus, html4strict, html5, icon, idl, ini, inno, intercal, io, ispfpanel, j, java, java5, javascript, jcl, jquery, kixtart, klonec, klonecpp, latex, lb, ldif, lisp, llvm, locobasic, logtalk, lolcode, lotusformulas, lotusscript, lscript, lsl2, lua, m68k, magiksf, make, mapbasic, matlab, mirc, mmix, modula2, modula3, mpasm, mxml, mysql, nagios, netrexx, newlisp, nginx, nimrod, nsis, oberon2, objc, objeck, ocaml, octave, oobas, oorexx, oracle11, oracle8, oxygene, oz, parasail, parigp, pascal, pcre, per, perl, perl6, pf, php, pic16, pike, pixelbender, pli, plsql, postgresql, postscript, povray, powerbuilder, powershell, proftpd, progress, prolog, properties, providex, purebasic, pycon, pys60, python, q, qbasic, qml, racket, rails, rbs, rebol, reg, rexx, robots, rpmspec, rsplus, ruby, rust, sas, scala, scheme, scilab, scl, sdlbasic, smalltalk, smarty, spark, sparql, sql, standardml, stonescript, systemverilog, tcl, teraterm, text, thinbasic, tsql, typoscript, unicon, upc, urbi, uscript, vala, vb, vbnet, vbscript, vedit, verilog, vhdl, vim, visualfoxpro, visualprolog, whitespace, whois, winbatch, xbasic, xml, xpp, yaml, z80, zxbasic


ScopeProvider.instance.set(<scope>);

ScheduledRetriever retriever = BrokerEndpoints.getRetriever(<waiting_time>, <refresh_period>);
  • waiting_time specifies the waiting time in seconds ( the MAX waiting time for the library to try to contact the IS and get the profiles)
  • refresh_period specifies the refreshing time for the profiles

each ScheduledRetriever is static within the JVM, so only one ScheduledRetriever is instantiated per scope.

Once the retriever is instantiated it can be also retrieved as follows

Invalid language.

You need to specify a language like this: <source lang="html4strict">...</source>

Supported languages for syntax highlighting:

4cs, 6502acme, 6502kickass, 6502tasm, 68000devpac, abap, actionscript, actionscript3, ada, aimms, algol68, apache, applescript, arm, asm, asp, asymptote, autoconf, autohotkey, autoit, avisynth, awk, bascomavr, bash, basic4gl, bf, bibtex, blitzbasic, bnf, boo, c, caddcl, cadlisp, cfdg, cfm, chaiscript, chapel, cil, clojure, cmake, cobol, coffeescript, cpp, csharp, css, cuesheet, d, dart, dcl, dcpu16, dcs, delphi, diff, div, dos, dot, e, ecmascript, eiffel, email, epc, erlang, euphoria, ezt, f1, falcon, fo, fortran, freebasic, freeswitch, fsharp, gambas, gdb, genero, genie, gettext, glsl, gml, gnuplot, go, groovy, gwbasic, haskell, haxe, hicest, hq9plus, html4strict, html5, icon, idl, ini, inno, intercal, io, ispfpanel, j, java, java5, javascript, jcl, jquery, kixtart, klonec, klonecpp, latex, lb, ldif, lisp, llvm, locobasic, logtalk, lolcode, lotusformulas, lotusscript, lscript, lsl2, lua, m68k, magiksf, make, mapbasic, matlab, mirc, mmix, modula2, modula3, mpasm, mxml, mysql, nagios, netrexx, newlisp, nginx, nimrod, nsis, oberon2, objc, objeck, ocaml, octave, oobas, oorexx, oracle11, oracle8, oxygene, oz, parasail, parigp, pascal, pcre, per, perl, perl6, pf, php, pic16, pike, pixelbender, pli, plsql, postgresql, postscript, povray, powerbuilder, powershell, proftpd, progress, prolog, properties, providex, purebasic, pycon, pys60, python, q, qbasic, qml, racket, rails, rbs, rebol, reg, rexx, robots, rpmspec, rsplus, ruby, rust, sas, scala, scheme, scilab, scl, sdlbasic, smalltalk, smarty, spark, sparql, sql, standardml, stonescript, systemverilog, tcl, teraterm, text, thinbasic, tsql, typoscript, unicon, upc, urbi, uscript, vala, vb, vbnet, vbscript, vedit, verilog, vhdl, vim, visualfoxpro, visualprolog, whitespace, whois, winbatch, xbasic, xml, xpp, yaml, z80, zxbasic


ScopeProvider.instance.set(<scope>);

ScheduledRetriever retriever = BrokerEndpoints.getRetriever();


The addresses provided are of two types:

  • JMS failover endpoint ( retriever.getFailoverEndpoint())
  • Broker addresses (retriever.getEndpoints())