Difference between revisions of "IS-Notification"
Lucio.lelii (Talk | contribs) (→How to configure clients running outside the gCore container) |
Lucio.lelii (Talk | contribs) (→How to configure clients running outside the gCore container) |
||
Line 22: | Line 22: | ||
To register a Topic outside a gCore cotnainer this library requires 2 steps of configuration: | To register a Topic outside a gCore cotnainer this library requires 2 steps of configuration: | ||
− | * modify the file $GLOBUS_LOCATION/etc/globus_wsrf_core/client-server-config.wsdd adding in the '''globalConfiguration''' session the parameter | + | * modify the file $GLOBUS_LOCATION/etc/globus_wsrf_core/client-server-config.wsdd adding in the '''globalConfiguration''' session the parameter '''logicalHost''' |
<source lang="xml"> | <source lang="xml"> | ||
... | ... | ||
Line 28: | Line 28: | ||
<parameter name="containerThreads" value="1"/> | <parameter name="containerThreads" value="1"/> | ||
<parameter name="containerThreadsMax" value="3"/> | <parameter name="containerThreadsMax" value="3"/> | ||
− | < | + | |
− | <parameter name=" | + | <!-- add the following line --> |
+ | <parameter name="logicalHost" value="yourhost"/> | ||
− | < | + | <parameter name="sendXsiTypes" value="true"/> |
<parameter name="authenticationService" | <parameter name="authenticationService" | ||
value="gsi/AuthenticationService"/> | value="gsi/AuthenticationService"/> | ||
... | ... | ||
+ | </source> | ||
+ | |||
+ | * start the client setting the '''GLOBUS_LOCATION''' system property | ||
+ | <source> | ||
+ | java '''-DGLOBUS_LOCATION=$GLOBUS_LOCATION''' RegistrationTest | ||
</source> | </source> | ||
=== Examples === | === Examples === |
Revision as of 15:01, 9 September 2010
Contents
Design
The IS-Notification is a library that provides a subscription/notification mechanism based on Remote Events. This library helps the clients to interact with the Notifier Service and allows:
- for a Client or a Service (Subscriber) to subscribe for a Topic and receiving notifications
- for a Service (producer) to register its own topic and sending notification.
Interface
- public <T extends BaseNotificationConsumer> void registerToISNotification(T consumer,List<GCUBENotificationTopic> notifications, GCUBESecurityManager manager, GCUBEScope ... scope) throws ISNotifierException – this method registers a entity of type T (consumer) for a list of GCUBENotificationTopic in selected Scopes (scope) with a GCUBESecurityManager (manager) in the IS-Notifier;
- public void unregisterFromISNotification( GCUBESecurityManager manager, List<GCUBENotificationTopic> notifications, GCUBEScope ... scope) throws ISNotifierException – this method unregisters the consumer for a list of GCUBENotificationTopic from the IS-Notifier in the selected scopes (scope) with a GCUBESecurityManager (manager);
- public void registerISNotification (EndpointReferenceType producerEPR, List<? extends Topic> notifications, GCUBESecurityManager manager, GCUBEScope ... scope) throws ISNotifierException – this method registers the reference to a resource (producerEPR) that produces a list of topics (notifications) in the IS-Notifier in the selected scopes (scope) with a GCUBESecurityManager (manager);
- public void unregisterISNotification (EndpointReferenceType producerEPR, List<? extends Topic> notifications, GCUBESecurityManager manager, GCUBEScope ... scope) throws ISNotifierException – this method unregister the reference to a resource (producerEPR) for a list of topics (notifications) in the IS-Notifier in the selected scopes (scope) with a GCUBESecurityManager (manager);
- public boolean[] isTopicRegistered(GCUBESecurityManager securityManager, GCUBEScope scope, List<TopicData> topics) throws ISNotifierException - this methods checks if a topic (topic) registration is completed or not for a producer (producerEpr) in the IS-Notifier in the selected scopes (scope) with a GCUBESecurityManager (manager);
New Features
From version 1.4 this library contains new features:
- the possibility to register for a client running outside a gcore container;
- the possibility to register to a Topic specifying a 'precodition'. The 'precodition' is represented by an XPath specified at Topic creation time an evaluated producer-side. This feature reduces the number of messages exchanged between producer and consumer.
How to configure clients running outside the gCore container
To register a Topic outside a gCore cotnainer this library requires 2 steps of configuration:
- modify the file $GLOBUS_LOCATION/etc/globus_wsrf_core/client-server-config.wsdd adding in the globalConfiguration session the parameter logicalHost
... <globalConfiguration> <parameter name="containerThreads" value="1"/> <parameter name="containerThreadsMax" value="3"/> <!-- add the following line --> <parameter name="logicalHost" value="yourhost"/> <parameter name="sendXsiTypes" value="true"/> <parameter name="authenticationService" value="gsi/AuthenticationService"/> ...
- start the client setting the GLOBUS_LOCATION system property
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
java '''-DGLOBUS_LOCATION=$GLOBUS_LOCATION''' RegistrationTest