axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "James M Snell" <jasn...@us.ibm.com>
Subject Re: event system (was: Re: Various)
Date Wed, 28 Mar 2001 17:05:34 GMT
Sanjiva,

The original idea behind the events system (perhaps there is a better way 
to do it) is to incorporate a simple means of instrumenting Axis with 
event notifications, such as Debug Events, or Performance events, etc in a 
way that is extensible and efficient.  For example... in the current code 
base, we have Debug statements everywhere.  These are Debug events.  The 
event system allows either us or the end user to create and register 
custom event listeners to deal with those events. 

Some ideas for the types of events we could fire off:

1. Debug Events
2. Performance Tuning Events
3. Lifecycle Events (handler initialized, handler invoked, handler 
terminated, etc)

It has nothing to do with the core of the engine, nothing to do with WSDD 
and it's persistence (for now) is a hashtable pushed out using an 
ObjectOutputStream.  Like I said, nothing fancy, I just wanted to get the 
basic idea out there for discussion.  This code isn't even used anywhere 
yet.

- James Snell
     Software Engineer, Emerging Technologies, IBM
     jasnell@us.ibm.com (online)
     jsnell@lemoorenet.com (offline)

Please respond to axis-dev@xml.apache.org 
To:     <axis-dev@xml.apache.org>
cc: 
Subject:        event system (was: Re: Various)



> >1) The event system - how do we expect this to be used?  Is the 
algorithm
> in
> >EventNotifier.notify() (walk through an enumeration, checking 
isInstance()
> each
> >time) perhaps a bit inefficient for use in any kind of high-performance
> system?
> >Why is there a persistence system for this stuff?
> >
>
> The event system as it is now is a first pass brainstorm just to get the
> idea thrown into the pot.  Yes, the enumeration is a bit inefficient 
(any
> ideas for this would be greatly appreciated).  In about another week or 
so
> I'll revisit this code to improve its efficiency.  Persistence is there 
to
> allow for various event configuration profiles to be used.  For example,
> you may have a different set of registered listeners for debugging at
> development time versus what you have at deployment time.  The 
persistence
> mechanism allows you to use multiple profiles depending on the current
> requirements.  Again, just a brainstorm for now.  I committed so I could
> gather feedback on whether or not people would find this type of 
mechanism
> useful inside Axis.

Can someone please give some intuition as to what the event system is
and what its used for etc. etc.. Also, how does the persistence stuff
relate to the deployment descriptor? In what form is it persisted?

Thnx,

Sanjiva.





Mime
View raw message