Also, when STAFProc is shutdown all STAF handles go away so their queues
(and any messages in their queues) go away.

--------------------------------------------------------------
Sharon Lucas
IBM Austin,   luc...@us.ibm.com
(512) 286-7313 or Tieline 363-7313

----- Forwarded by Sharon Lucas/Austin/IBM on 10/15/2010 09:33 AM -----

From:   Sharon Lucas/Austin/IBM
To:     Arve Knudsen <arve.knud...@gmail.com>
Cc:     staf-users@lists.sourceforge.net
Date:   10/15/2010 09:32 AM
Subject:        Re: [staf-users] How do I receive an event from another
            machine?


Messages stay on a handle's queue until they are removed (e.g. by a QUEUE
GET request or by a QUEUE DELETE request).

A STAF handle has to be registered to be notified when an event occurs
before the event is generated for the event message to be sent to the
handle's queue.

--------------------------------------------------------------
Sharon Lucas
IBM Austin,   luc...@us.ibm.com
(512) 286-7313 or Tieline 363-7313




From:   Arve Knudsen <arve.knud...@gmail.com>
To:     Sharon Lucas/Austin/i...@ibmus
Cc:     staf-users@lists.sourceforge.net
Date:   10/15/2010 06:13 AM
Subject:        Re: [staf-users] How do I receive an event from another
            machine?



Sharon, do received events stay on the queue for only a short time? From
some testing of mine, it appears that I have to be waiting on the queue as
events are received. If I try to get events after they have been generated,
there's nothing there.

Arve

On Fri, Oct 15, 2010 at 10:10 AM, Arve Knudsen <arve.knud...@gmail.com>
wrote:
  Thanks for the example Sharon, I think I am getting somewhere now
  although I don't know what's different from my previous attempts yet. I'm
  going to try to reimplement my full scenario step by step, and we'll see
  how it goes.

  I notice a problem with PySTAF though, when I issue the request "QUEUE
  GET WAIT TYPE STAF/Service/Event" and it waits, I cannot interrupt with
  Ctrl+C. I have to kill Python. This is on Red Hat Linux btw.

  Arve


  On Thu, Oct 14, 2010 at 9:00 PM, Sharon Lucas <luc...@us.ibm.com> wrote:
   Arve,

   Here is the same example as shown in the Event Service User's Guide
   except
   that all STAF commands are being submitted via the command line using
   the
   STAF executable instead of being submitted via a Java program.  The
   following three machines will be used in this example:
   -  lucas.austin.ibm.com:  Is the Event service machine (e.g. the machine
   where the Event service is registered in its STAF.cfg file)
   - staf6e.austin.ibm.com:  Is a machine that registers to be notified
   when
   an event with type "build" is generated by the Event service machine
   - staf1e.austin.ibm.com:  Is a machine that submits a request to the
   Event
   service machine to generate an event with type "build"

   1) Machine staf6e's MyTestHandle registers with the Event service
   machine
   (lucas) to be notified for events with type "build":

   So, first on staf6e, since this example is from the command line, I'll
   create a static STAF handle to use for this test and set environment
   variable STAF_STATIC_HANDLE to this handle so that the STAF requests
   that I
   submit from this terminal will be submitted using this STAF handle
   (instead
   of the STAF executable creating a new STAF handle each time it is
   called).

   staf6e:~ root# STAF local HANDLE CREATE HANDLE Name MyTestHandle
   Response
   --------
   736

   staf6e:~ root# export STAF_STATIC_HANDLE=736

   Then handle MyTestHandle on machine staf6e registers with the Event
   service
   machine (lucas) to be notified for events with type "build".  It will be
   notified by handle name (which is the default), not by handle number.

   staf6e:~ root# STAF lucas EVENT REGISTER TYPE build
   Response
   --------

   To show the registration(s) for event type "build" on the Event service
   machine (lucas), you can list the registrations as follows:

   staf6e:~ root# STAF lucas EVENT LIST REGISTRATIONS TYPE build
   Response
   --------
   Type  Subtype Machine                          Notify By Notifiee
   ----- ------- -------------------------------- --------- ------------
   build <None>  ssl://staf6e.austin.ibm....@6550 Name      MyTestHandle

   2) Machine staf6e's MyTestHandle waits for a message with type
   "STAF/Service/Event" to be sent to its queue:

   The handle we created named MyTestHandleMachine on machine staf6e
   submits a
   local request to wait indefinitely for a message with type
   "STAF/Service/Event" to be sent to its queue.  Note that every STAF
   handle
   has a queue associated with it.

   staf6e:~ root# STAF local QUEUE GET WAIT TYPE STAF/Service/Event

   This request will not complete until it receives a message with TYPE
   "STAF/Service/Event" on its queue (since I didn't specify a maximum wait
   time for the WAIT option).

   Note that you could submit this request after the event is generated
   instead of before the event is generated.  It doesn't matter.

   3) Machine staf1e generates an event with type build and subtype win32
   on
   the Event service machine lucas:

   Note that the event service machine (lucas) must give machine
   staf1e.austin.ibm.com trust level 4 or greater as that's the trust level
   that it requires to submit a GENERATE request to the Event service.

   [r...@staf1e ~]# STAF lucas EVENT GENERATE TYPE build SUBTYPE win32
   Response
   --------
   2

   This triggers the Event service machine (lucas) to send a
   "STAF/Service/Event" type message to MyTestHandle's queue on machine
   staf6e.

   4) The message arrives on MyTestHandle's queue on machine stat6e:

   The "STAF local QUEUE GET WAIT TYPE STAF/Service/Event" request
   previously
   submitted on machine staf6e completes when the message arrives on its
   queue:

   staf6e:~ root# STAF local QUEUE GET WAIT TYPE STAF/Service/Event
   Response
   --------
   {
    handle             : 6
    handleName         : STAF/SERVICE/Event
    machine            : ssl://lucas.austin.ibm....@6550
    message            : {
      eventID         : 2
      eventServiceName: Event
      handle          : 509
      handleName      : STAF/Client
      machine         : ssl://staf1e.austin.ibm....@6550
      propertyMap     : {}
      subtype         : win32
      timestamp       : 20101014-13:35:55
      type            : build
    }
    priority           : 5
    staf-map-class-name: STAF/Service/Queue/Entry
    timestamp          : 20101014-13:26:23
    type               : STAF/Service/Event
    user               : none://anonymous
   }

   --------------------------------------------------------------
   Sharon Lucas
   IBM Austin,   luc...@us.ibm.com
   (512) 286-7313 or Tieline 363-7313




   From:   Arve Knudsen <arve.knud...@gmail.com>
   To:     Sharon Lucas/Austin/i...@ibmus
   Cc:     staf-users@lists.sourceforge.net
   Date:   10/14/2010 12:55 PM
   Subject:        Re: [staf-users] How do I receive an event from another
              machine?



   Hi Sharon

   I've now looked at the example, although it really showcases event
   propagation between two processes on the same machine rather than on two
   different machines. It looks quite similar to what I've been trying to
   do
   on the commandline however. Could you please provide a condensed
   commandline example that I can try out for myself, and see that it
   actually
   works?

   Thanks!
   Arve

   On Thu, Oct 14, 2010 at 6:12 PM, Sharon Lucas <luc...@us.ibm.com> wrote:
    The Event Service User's Guide at
    http://staf.sourceforge.net/current/event.pdf provides a working
   example
    in
    section "Example 1: Using the Event Service Via Two Java Applications"
    that
    includes registering for events, generating events, and and receving
    event
    messages on a STAFHandle's queue.  Does that provide what you're
   looking
    for?

    --------------------------------------------------------------
    Sharon Lucas
    IBM Austin,   luc...@us.ibm.com
    (512) 286-7313 or Tieline 363-7313




    From:   Arve Knudsen <arve.knud...@gmail.com>
    To:     staf-users@lists.sourceforge.net
    Date:   10/14/2010 10:58 AM
    Subject:        [staf-users] How do I receive an event from another
    machine?



    Hello

    Can someone please provide me with a working example of how machine A
   can
    register for an event at machine B, and receive it etc.? I've tried and
    tried and can't seem to figure out how to make it work.

    Thanks!
    Arve

   
------------------------------------------------------------------------------



    Beautiful is writing same markup. Internet Explorer 9 supports
    standards for HTML5, CSS3, SVG 1.1,  ECMAScript5, and DOM L2 & L3.
    Spend less time writing and  rewriting code and more time creating
   great
    experiences on the web. Be a part of the beta today.
    http://p.sf.net/sfu/beautyoftheweb
    _______________________________________________
    staf-users mailing list
    staf-us...@lists.sourceforge.net
    https://lists.sourceforge.net/lists/listinfo/staf-users





------------------------------------------------------------------------------

Download new Adobe(R) Flash(R) Builder(TM) 4
The new Adobe(R) Flex(R) 4 and Flash(R) Builder(TM) 4 (formerly
Flex(R) Builder(TM)) enable the development of rich applications that run
across multiple browsers and platforms. Download your free trials today!
http://p.sf.net/sfu/adobe-dev2dev
_______________________________________________
staf-users mailing list
staf-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/staf-users



------------------------------------------------------------------------------
Download new Adobe(R) Flash(R) Builder(TM) 4
The new Adobe(R) Flex(R) 4 and Flash(R) Builder(TM) 4 (formerly 
Flex(R) Builder(TM)) enable the development of rich applications that run
across multiple browsers and platforms. Download your free trials today!
http://p.sf.net/sfu/adobe-dev2dev
_______________________________________________
staf-users mailing list
staf-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/staf-users

Reply via email to