Haha!

That is why I added <startup> :-)

I *really* don't like having lots of <startup> tags. I think its ugly
as hell. So I'm willing to support either:

1) one <startup>
or
2) no <startup>

You can tell I feel strongly about this :-)

Paul

On 9/24/07, Ruwan Linton <[EMAIL PROTECTED]> wrote:
> Paul,
>
> On 9/24/07, Paul Fremantle <[EMAIL PROTECTED]> wrote:
> > My proposal would be to have an AbstractStartup that implements the id
> > (getID/setID) and have every startup implement the id tag. Then we can
> > simply get rid of the startup tag and just have any startup as a
> > top-level child of <definitions>
> >
> > That would look the cleanest.
>
> I agree, my only concern *now* is having arbitrary elements in the
> definitions tag. (I know I came up with that idea *earlier*, but now I don't
> like it, after your points on extendability) That is because having every
> types of startups like <job>, <xyz> with mediators also on the top level
> will screw up the configuration readability isn't it?
>
> For example
> <definition>
>  <job .../>
>  <paul'sJob ..../>
>  <myJob />
>  <log .../>
>  <send .... />
> </definitions>
>
> I am again saying that grouping startups is not the solution for this.
>
> Thanks,
> Ruwan
>
> > Paul
> >
> > On 9/24/07, Ruwan Linton < [EMAIL PROTECTED]> wrote:
> > > Paul,
> > >
> > > I still do not agree to one single <startup> tag. One single startup tag
> > > implies wrapping (grouping) all startups in to one tag right? We had
> this
> > > kind of a configuration earlier and dropped these wrapping elements for
> the
> > > simplicity and I just don't like grouping the elements in the
> configuration.
> > >
> > > Here is my point;
> > > Say we have <job> now, and <xyz> in the future as startup impls, but id
> and
> > > may be tracing, statistics (may be in the future) like attributes are
> common
> > > to all startups not just to jobs (SimpleQuartzStartup) or even to xyz.
> So it
> > > is good to abstract out those common attributes to a higher abstraction
> > > layer IMO, to *AbstractStartup*.
> > >
> > > At the same time if we have multiple startups, it is good to have that
> > > startup element with its common attributes in the top level so that the
> > > configuration will be clean. This does not mean we should group all the
> > > startup elements in to one single startup element, because we have
> common
> > > but unique attributes for each and every startup.
> > >
> > > WDYT?
> > >
> > > BTW: I have done the refactoring up to some extent and will modify that
> as
> > > per the discussion (changing the <job> to <onAlarm>).
> > >
> > > Do we need to change the class names as well??? I prefer to change those
> as
> > > well to have the right transparency...
> > >
> > > Thanks,
> > > Ruwan
> > >
> > >
> > > On 9/24/07, Paul Fremantle <[EMAIL PROTECTED]> wrote:
> > > > Ok I agree - I've never been good at names :-)
> > > >
> > > > I think there is one more issue. The "onAlarms" are the things that
> > > > should have names.
> > > >
> > > > So the syntax should be
> > > >
> > > > <startup>
> > > >
> > > >   <onAlarm id='blah' .../>
> > > >   <onAlarm id='foo' ..../>
> > > >
> > > > </startup>
> > > >
> > > > There is no need for multiple <startup> tags that are named.
> > > >
> > > > Finally, should we make it <onStartup> to match onAlarm?
> > > >
> > > > Paul
> > > >
> > > > On 9/24/07, Sanjiva Weerawarana < [EMAIL PROTECTED]> wrote:
> > > > > So .. I think this is not right yet.
> > > > >
> > > > > The problem is that we're using *two* very generic terms: "startup"
> and
> > > > > "job". I believe that with our current semantics, the prior means
> "do
> > > this
> > > > > as you start up" and the latter means "execute a Java class at a
> given
> > > > > clock ala cron". Is that right?
> > > > >
> > > > > What I suggest is that we keep <startup> but change <job> to
> something
> > > > > like this:
> > > > >    <onAlarm class="..">
> > > > >      <simpleTrigger ..> | <cronTrigger ..>
> > > > >      <other stuff>
> > > > >    </onAlarm>
> > > > >
> > > > > I actually don't like simpleTrigger etc. - I'd prefer something
> like:
> > > > >    <timer cron=..> and
> > > > >    <timer count=.. delay=..>
> > > > >
> > > > > This way, its clear that <onAlarm> is simply a task executed upon
> some
> > > > > trigger. We currently only have timer triggers but we could later
> have
> > > > > different triggers too.
> > > > >
> > > > > In the future if we want something other than an alarm triggered
> task
> > > > > executed at init time, then we can have new xml for that and just
> have
> > > it
> > > > > execute. For example, I can see a <log> action being a useful
> startup
> > > > > thing .. log a message to some place when the system starts up? (I
> did
> > > say
> > > > > in the future BTW!)
> > > > >
> > > > > Sanjiva.
> > > > >
> > > > > Ruwan Linton wrote:
> > > > > > After deeply looking in to Paul's code on the startup factory and
> > > > > > serialization, I thought of the syntax again with keeping Paul's
> > > points
> > > > > > about the startup element on this thread in my mind, I think the
> > > > > > following configuration is clean and clear.
> > > > > >
> > > > > > <definitions>
> > > > > >  <startup id="startup1">
> > > > > >   <job class="MessageInjector">
> > > > > >      ......
> > > > > >   </job>
> > > > > >  </ startup>
> > > > > >  <startup id="startup-n">
> > > > > >   <$ANY_TAG_REGISTERED_WITH_STARTUPFINDER ...../>
> > > > > >  </startup>
> > > > > > </definitions>
> > > > > >
> > > > > > (one startup per startup element and there can be number of
> startups
> > > in
> > > > > > the synapse def as in proxy definitions)
> > > > > >
> > > > > > This syntax will add an id to startups so that we can control them
> at
> > > > > > runtime (if needed) because there is an indexing mechanism. This
> > > syntax
> > > > > > will be same as proxy syntax from the configuration point of view.
> > > > > >
> > > > > > This also requires a certain amount of refactoring and I am ready
> to
> > > go
> > > > > > ahead with that.
> > > > > >
> > > > > > Thanks,
> > > > > > Ruwan
> > > > > >
> > > > > > On 9/21/07, *Ruwan Linton* < [EMAIL PROTECTED]
> > > > > > <mailto:[EMAIL PROTECTED]>> wrote:
> > > > > >
> > > > > >     +1 for the option [3] and I am happy to do the refactoring if
> we
> > > > > >     have decided to go with this option. (Indeed my original
> proposal
> > > > > >     was this)
> > > > > >
> > > > > >     BTW: Serializer does not seem to be working properly.. (When I
> > > tried
> > > > > >     to start synapse using a configuration with a startup job it
> > > builds
> > > > > >     the job correctly but does not serializes the job on
> serializing
> > > the
> > > > > >     config (I will look in to this).
> > > > > >
> > > > > >     Thanks,
> > > > > >     Ruwan
> > > > > >
> > > > > >
> > > > > >     On 9/20/07, *Paul Fremantle* < [EMAIL PROTECTED]
> > > > > >     <mailto:[EMAIL PROTECTED]>> wrote:
> > > > > >
> > > > > >         I'm not sure everyone is clear - maybe its because I
> haven't
> > > yet
> > > > > >         documented this :-)
> > > > > >
> > > > > >         There is a new type of extension point called a Startup
> with a
> > > > > >         Factory... just like Mediators.
> > > > > >         Job is a type of Startup - with its own XML, just like a
> > > mediator
> > > > > >         defines its own XML.
> > > > > >
> > > > > >         So if we added another type of Startup then it would have
> a
> > > > > >         different
> > > > > >         tagname. So at the moment we can have:
> > > > > >
> > > > > >         <startup>
> > > > > >           <job....>...</job>
> > > > > >           <asankha>
> > > > > >              <scheduled to work 24x7x265>
> > > > > >           </asankha>
> > > > > >         </startup>
> > > > > >
> > > > > >         So there are three choices:
> > > > > >
> > > > > >         1) Keep a wrapper element for all "startups"
> > > > > >         2) remove the flexibility to have different startups
> > > > > >         3) Refactor the code so it can tell if its a startup or a
> > > mediator
> > > > > >         when it hits the tag QName and do the right thing for
> each.
> > > > > >
> > > > > >         Paul
> > > > > >
> > > > > >         On 9/20/07, Asankha C. Perera < [EMAIL PROTECTED]
> > > > > >         <mailto: [EMAIL PROTECTED]>> wrote:
> > > > > >         >
> > > > > >         >  Well.. if we have other types of jobs.. can we do
> something
> > > like
> > > > > >         >
> > > > > >         >  <definitions>
> > > > > >         >    ...
> > > > > >         >    <job class="x.y.z.Quartz"....>
> > > > > >         >    <job class=" a.b.c.Marble"....>
> > > > > >         >
> > > > > >         >    ...
> > > > > >         >  </definitions>
> > > > > >         >
> > > > > >         >  thanks
> > > > > >         >  asankha
> > > > > >         >
> > > > > >         >  Paul Fremantle wrote:
> > > > > >         >  Do you envisage we will have other kinds of Startup or
> > > should
> > > > > >         we pull
> > > > > >         >  the pluggability for that?
> > > > > >         >
> > > > > >         >  Paul
> > > > > >         >
> > > > > >         >  On 9/20/07, Asankha C. Perera <[EMAIL PROTECTED]
> > > > > >         <mailto:[EMAIL PROTECTED] >> wrote:
> > > > > >         >
> > > > > >         >
> > > > > >         >  Paul
> > > > > >         >
> > > > > >         >  Opps.. nope.. the opposite of it..
> > > > > >         >
> > > > > >         >  e.g.
> > > > > >         >  <definitions>
> > > > > >         >  ...
> > > > > >         >  <job....>*
> > > > > >         >  ....
> > > > > >         >  <proxy... >*
> > > > > >         >  ....
> > > > > >         >  </definitions>
> > > > > >         >
> > > > > >         >  thanks
> > > > > >         >  asankha
> > > > > >         >
> > > > > >         >
> > > > > >         >  Paul Fremantle wrote:
> > > > > >         >  I'm not clear from your note, but I think you are
> saying
> > > there
> > > > > >         should
> > > > > >         >  be a top level tag that holds the jobs:
> > > > > >         >
> > > > > >         >  e.g.
> > > > > >         >
> > > > > >         >  <definitions>
> > > > > >         >  <xxxxx>
> > > > > >         >  <job>...</job>
> > > > > >         >  </xxxxx>
> > > > > >         >  ...
> > > > > >         >
> > > > > >         >  Is that what you meant?
> > > > > >         >
> > > > > >         >  Paul
> > > > > >         >
> > > > > >         >  On 9/20/07, Asankha C. Perera < [EMAIL PROTECTED]
> > > > > >         <mailto:[EMAIL PROTECTED]>> wrote:
> > > > > >         >
> > > > > >         >
> > > > > >         >  Paul / Ruwan
> > > > > >         >
> > > > > >         >  However, I agree we could do it. Thoughts from others?
> > > > > >         >
> > > > > >         >  Well.. when we finalized the config language syntax, we
> had
> > > a
> > > > > >         top level
> > > > > >         >  "definitions" and then one or more "proxy", "sequence",
> > > > > >         "endpoint" etc
> > > > > >         >  definitions. So I guess the "job" definitions should be
> > > > > >         handled the same for
> > > > > >         >  consistency.
> > > > > >         >
> > > > > >         >  asankha
> > > > > >         >
> > > > > >         >
> > > > > >         >  On 9/20/07, Ruwan Linton < [EMAIL PROTECTED]
> > > > > >         <mailto:[EMAIL PROTECTED]>> wrote:
> > > > > >         >
> > > > > >         >
> > > > > >         >  Hi all,
> > > > > >         >
> > > > > >         >  For the moment the configuration for the jobs seems to
> be
> > > like
> > > > > >         following;
> > > > > >         >
> > > > > >         >  <definitions>
> > > > > >         >  <startup>
> > > > > >         >  <job ...../>*
> > > > > >         >  </startup>
> > > > > >         >  ......
> > > > > >         >  </definitions>
> > > > > >         >
> > > > > >         >  The <startup> element is wrapping all the jobs. With
> > > compared
> > > > > >         to other
> > > > > >         >  elements in the configuration like <sequence>,
> <endpoint>
> > > and
> > > > > >         all they are
> > > > > >         >  top level elements even mediators can appear in the top
> > > level
> > > > > >         in which case
> > > > > >         >  that collection is treated as the main sequence. So I
> > > propose
> > > > > >         to bring the
> > > > > >         >  <jobs> element to the top level as follows;
> > > > > >         >
> > > > > >         >  <definitions>
> > > > > >         >  <registry ..../>?
> > > > > >         >  <proxy .../>*
> > > > > >         >  <sequence .../>*
> > > > > >         >  <endpoint ..../>*
> > > > > >         >  <job .../>*
> > > > > >         >  <localEntry .../>*
> > > > > >         >  (mediator)*
> > > > > >         >  </definitions>
> > > > > >         >
> > > > > >         >  If we do have multiple types of jobs then we can let
> the
> > > > > >         FactoryFinder to
> > > > > >         >  handle that. Is there any particular reason that I am
> > > missing
> > > > > >         here? If not
> > > > > >         >  shall we bring these jobs to the top level before 1.1
> > > release?
> > > > > >         >
> > > > > >         >  Thanks,
> > > > > >         >  Ruwan
> > > > > >         >
> > > > > >         >  --
> > > > > >         >  Ruwan Linton
> > > > > >         >   http://www.wso2.org - "Oxygenating the Web Services
> > > Platform"
> > > > > >         >
> > > > > >         >
> > > > > >         >
> > > > > >         >
> > > > > >         >
> > > > > >         >
> > > > > >         >
> > > > > >         >
> > > > > >         >
> > > > > >         >
> > > > > >         >
> > > > > >         >
> > > > > >
> > > > > >
> > > > > >         --
> > > > > >         Paul Fremantle
> > > > > >         Co-Founder and VP of Technical Sales, WSO2
> > > > > >         OASIS WS-RX TC Co-chair
> > > > > >
> > > > > >         blog: http://pzf.fremantle.org
> > > > > >         [EMAIL PROTECTED] <mailto: [EMAIL PROTECTED]>
> > > > > >
> > > > > >         "Oxygenating the Web Service Platform", www.wso2.com
> > > > > >         < http://www.wso2.com>
> > > > > >
> > > > > >
> > >
> ---------------------------------------------------------------------
> > > > > >
> > > > > >         To unsubscribe, e-mail:
> > > [EMAIL PROTECTED]
> > > > > >
> > > <mailto: [EMAIL PROTECTED]>
> > > > > >         For additional commands, e-mail:
> > > [EMAIL PROTECTED]
> > > > > >         <mailto:[EMAIL PROTECTED]>
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > >     --
> > > > > >
> > > > > >     Ruwan Linton
> > > > > >     http://www.wso2.org - "Oxygenating the Web Services Platform"
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > > --
> > > > > > Ruwan Linton
> > > > > > http://www.wso2.org - "Oxygenating the Web Services Platform"
> > > > >
> > > > > --
> > > > > Sanjiva Weerawarana, Ph.D.
> > > > > Founder & Director; Lanka Software Foundation;
> http://www.opensource.lk/
> > > > > Founder, Chairman & CEO; WSO2, Inc.; http://www.wso2.com/
> > > > > Member; Apache Software Foundation; http://www.apache.org/
> > > > > Visiting Lecturer; University of Moratuwa; http://www.cse.mrt.ac.lk/
> > > > >
> > > > >
> > >
> ---------------------------------------------------------------------
> > > > > To unsubscribe, e-mail:
> > > [EMAIL PROTECTED]
> > > > > For additional commands, e-mail: [EMAIL PROTECTED]
> > > > >
> > > > >
> > > >
> > > >
> > > > --
> > > > Paul Fremantle
> > > > Co-Founder and VP of Technical Sales, WSO2
> > > > OASIS WS-RX TC Co-chair
> > > >
> > > > blog: http://pzf.fremantle.org
> > > > [EMAIL PROTECTED]
> > > >
> > > > "Oxygenating the Web Service Platform", www.wso2.com
> > > >
> > > >
> > >
> ---------------------------------------------------------------------
> > > > To unsubscribe, e-mail:
> > > [EMAIL PROTECTED]
> > > > For additional commands, e-mail: [EMAIL PROTECTED]
> > > >
> > > >
> > >
> > >
> > >
> > > --
> > > Ruwan Linton
> > > http://www.wso2.org - "Oxygenating the Web Services Platform"
> >
> >
> > --
> > Paul Fremantle
> > Co-Founder and VP of Technical Sales, WSO2
> > OASIS WS-RX TC Co-chair
> >
> > blog: http://pzf.fremantle.org
> > [EMAIL PROTECTED]
> >
> > "Oxygenating the Web Service Platform", www.wso2.com
> >
> >
> ---------------------------------------------------------------------
> > To unsubscribe, e-mail:
> [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> >
>
>
>
> --
> Ruwan Linton
> http://www.wso2.org - "Oxygenating the Web Services Platform"


-- 
Paul Fremantle
Co-Founder and VP of Technical Sales, WSO2
OASIS WS-RX TC Co-chair

blog: http://pzf.fremantle.org
[EMAIL PROTECTED]

"Oxygenating the Web Service Platform", www.wso2.com

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to