And don't forget... We should really have the "restart" semantic in the
new state diagram ;) 

> -----Original Message-----
> From: Ivelin Ivanov [mailto:[EMAIL PROTECTED] 
> Sent: Sunday, March 07, 2004 10:01 PM
> To: [EMAIL PROTECTED]; Scott M Stark
> Cc: [EMAIL PROTECTED]; The Core
> Subject: Re: [JBoss-dev] RE: Service Lifecyle confusions - 
> potential fix
> 
> 
> I often see people puzzled by the fact that the depend tag 
> does not include
> registration. When there are two SARs, the second of which 
> has MBeans that
> depend on classes in the first one, the microkernel troughs 
> "Class Not Found"
> exception if it happens to deploy the dependant SAR first.
> 
> Also as Adrian noted, developers usually expect clicking on 
> Stop in the console
> to also stop the dependant MBeans in the appropriate order.
> 
> The MBean lifecycle improvements are on the roadmap and we 
> need to document the
> detailed requirements in one place. I could do that later, 
> but for now I hardly
> find time to collect the JMS ones.
> 
> Ivelin
> 
> 
> 
> --- Adrian Brock <[EMAIL PROTECTED]> wrote:
> > On Sun, 2004-03-07 at 02:20, Adrian Brock wrote:
> > > On Sun, 2004-03-07 at 02:08, Scott M Stark wrote:
> > > > The state machine was not immeadiately for the service 
> layer, but
> > > > will be used to enforce illegal transitions if we 
> decide on a state
> > > > diagram.
> > > > 
> > > > The suggested change makes sense, but the other problem 
> is the fact
> > > > that the deployment layer is out of the loop in this. 
> > > 
> > > I wasn't considering deployment, only lifecyle.
> > 
> > I actually feel lifecycle is unnecessary if read-ahead and
> > IOC was implemented. It would be replaced by ordered configuration
> > and valves. The user would have two options start/stop the valve
> > or deploy/undeploy the service.
> > 
> > > 
> > > > I would like
> > > > to couple dependency and life cycle to delay the creation of the
> > > > service as an mbean, but have not really looked at how 
> big a change
> > > > this is.
> > > 
> > > My preferred solution for this to read-ahead all deployments
> > > to determine the full graph (including class and jndi 
> dependencies)
> > > before any deployment starts. You can then inject 
> configuration IOC
> > > style. It would also give enough information to allow a realistic
> > > valve implementation.
> > > I haven't figured out how you identify the deployers or 
> the scanner
> > > as special - i.e. allowing their initial processing 
> before the full
> > > graph has been read - so they can contribute to the graph.
> > > 
> > 
> > One solution would be to run core services/deployers in "ring zero"
> > a sort of controlling sub-machine/extensible kernel. This would make
> > other services slightly second class citizens.
> > This still does not solve the problem generally,
> > e.g. 
> > 1) how to allow pluggable logging (currently implemented with
> > a boot.log and server.log)
> > 2) how to run the boot under a security context and still 
> have pluggable
> > security
> > 3) what if you want your mbean persistence from the db for your core
> > services when the db connection isn't deployed until later
> > 
> > It's almost like you a need a separate bootstrap "process"
> > that boots enough to configure the main machine before 
> being discarded
> > in favour of it? A bit like the bios/boot block in the pc.
> > 
> > Regards,
> > Adrian
> > 
> > > I'd also like to introduce cleverer (more fine grained) dependency
> > > information like the ejb deployer should not depend upon jms.
> > > Instead it should be based on whether jms is used, either by an
> > > mdb or a resource-ref.
> > > This would potentially allow the jmx-console to deploy 
> eariler rather
> > > than waiting for unnecessary dependencies specified on 
> the web deployer.
> > > 
> > > Regards,
> > > Adrian
> > > 
> > > > 
> > > > xxxxxxxxxxxxxxxxxxxxxxxx
> > > > Scott Stark
> > > > Chief Technology Officer
> > > > JBoss Group, LLC
> > > > xxxxxxxxxxxxxxxxxxxxxxxx  
> > > > 
> > > > > -----Original Message-----
> > > > > From: Adrian Brock 
> > > > > Sent: Saturday, March 06, 2004 5:24 PM
> > > > > To: Scott M Stark
> > > > > Cc: [EMAIL PROTECTED]; The Core
> > > > > Subject: Service Lifecyle confusions - potential fix
> > > > > 
> > > > > Hi Scott,
> > > > > 
> > > > > Are you working on the Service lifecycle?
> > > > > I saw you replaced common's state machine implementation.
> > > > > 
> > > > > I was thinking that there should be an extra indirection to 
> > > > > avoid the confusion caused by people clicking stop() and 
> > > > > other operations in the console where dependencies are not 
> > > > > taken into account.
> > > > > 
> > > > > My idea is that you implement an extra operation in 
> > > > > ServiceMBeanSupport
> > > > > 
> > > > > public void jbossServiceLifecylce(String operation) throws 
> > > > > Exception { if (operation.equals("create")) { // the current 
> > > > > create() method } etc.
> > > > > }
> > > > > 
> > > > > This would be invoked from ServiceController.ServiceProxy 
> > > > > when it is implemented by the MBean.
> > > > > 
> > > > > This would allow us to change the current
> > > > > ServiceMBeanSupport.create() to be:
> > > > > serviceController.create(serviceName);
> > > > > etc.
> > > > > 
> > > > > Now clicking stop() in the console goes via the service 
> > > > > controller making sure dependencies are also stopped.
> > > > > 
> > > > > This doesn't fix the problem for MBeans that do not extend 
> > > > > ServiceMBeanSupport. These would still do the old behaviour.
> > > > > Similar changes would be required to 
> > > > > ServiceDynamicMBeanSupport and the XMBean descriptor include.
> > > > > 
> > > > > Regards,
> > > > > Adrian
> > > > > 
> > > > > --
> > > > > xxxxxxxxxxxxxxxxxxxxxxxx
> > > > > Adrian Brock
> > > > > Director of Support
> > > > > Back Office
> > > > > JBoss Inc.
> > > > > xxxxxxxxxxxxxxxxxxxxxxxx 
> > > > > 
> > > > > 
> > > > > 
> > -- 
> > xxxxxxxxxxxxxxxxxxxxxxxx 
> > Adrian Brock
> > Director of Support
> > Back Office
> > JBoss Inc.
> > xxxxxxxxxxxxxxxxxxxxxxxx 
> > 
> > 
> > 
> > -------------------------------------------------------
> > This SF.Net email is sponsored by: IBM Linux Tutorials
> > Free Linux tutorial presented by Daniel Robbins, President 
> and CEO of
> > GenToo technologies. Learn everything from fundamentals to system
> > 
> administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click
> > _______________________________________________
> > JBoss-Development mailing list
> > [EMAIL PROTECTED]
> > https://lists.sourceforge.net/lists/listinfo/jboss-development
> 
> 


-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of
GenToo technologies. Learn everything from fundamentals to system
administration.http://ads.osdn.com/?ad_id70&alloc_id638&op=click
_______________________________________________
JBoss-Development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to