Yes, thats about it, except I changed quite a few files below that too. 
I'm sorting them all out.

Thanks
david jencks

On 2001.11.14 19:32:29 -0500 Dain Sundstrom wrote:
> David,
> 
> I've done some reasearch on ContainerFactory, and I think I have a
> solution.
> 
> From the logs I've seen that you removed the app.init() method, which
> should
> be ok. All we need to do is add back an init method to the Container
> class,
> which I think is below the level you care about.  Then we change
> Application.start() to:
> 
> public void start() throws Exception
> {
>    Iterator enum = containers.values().iterator();
>    while(enum.hasNext()) 
>    {
>       Container con = (Container)enum.next();
>       con.init();
>    }
> 
>    enum = containers.values().iterator();
>    while(enum.hasNext()) 
>    {
>       Container con = (Container)enum.next();
>       con.start();
>    }
> }
> 
> This change would assume that you don't care if Conatiner has an init
> method.
> 
> -dain
> 
> > -----Original Message-----
> > From: David Jencks [mailto:[EMAIL PROTECTED]]
> > Sent: Wednesday, November 14, 2001 5:28 PM
> > To: Dain Sundstrom
> > Cc: 'David Jencks'; Dain Sundstrom;
> > [EMAIL PROTECTED]
> > Subject: Re: [JBoss-dev] MBean init/start change broke CMR
> > 
> > 
> > Ok, the ejb-jar should still be one deployment unit.  The init/start
> > shouldn't affect anything except mbeans in a *service.xml 
> > file.  Almost
> > certainly I broke something like ContainerFactory. Could you 
> > send me your
> > test cases and I will see if I can figure this out?
> > 
> > 
> > Thanks
> > david jencks
> > 
> > On 2001.11.14 18:12:36 -0500 Dain Sundstrom wrote:
> > > 
> > > 
> > > > -----Original Message-----
> > > > From: David Jencks [mailto:[EMAIL PROTECTED]]
> > > > Sent: Wednesday, November 14, 2001 4:58 PM
> > > > To: Dain Sundstrom
> > > > Cc: [EMAIL PROTECTED]
> > > > Subject: Re: [JBoss-dev] MBean init/start change broke CMR
> > > > 
> > > > 
> > > > On 2001.11.14 17:11:52 -0500 Dain Sundstrom wrote:
> > > > > Hi all,
> > > > > 
> > > > > I think that the merging of init and start has broken the 
> > > > CMR code.  The
> > > > > CMR
> > > > > code depends on having a complete two-phase startup.  
> > In the phase 1
> > > > > (init)
> > > > > all of the relation ships are connected, and in phase 2 
> > > > (start) these
> > > > > relationships are used to create the entity tables with 
> > > > fks, relation
> > > > > tables, and parse ejb-ql queries.  I think that merging 
> > the two has
> > > > > changed
> > > > > the system to call init and then start for each bean 
> > > > instead of init for
> > > > > each bean and then start for each bean.
> > > > 
> > > > This is correct.
> > > 
> > > Yep, I added some code to verify the order.  I am getting:
> > > ejb1.init();
> > > ejb1.start();
> > > 
> > > ejb2.init();
> > > ejb2.start();
> > > 
> > > ejb3.init();
> > > ejb3.start();
> > > 
> > > ejb4.init();
> > > ejb4.start();
> > > 
> > > > > 
> > > > > I wasn't following the discussion about this, because I 
> > > > didn't think it
> > > > > applied to the CMR code (and the messages were very long). 
> > > > 
> > > > The first one wasn't, asking if it would break anything.
> > > 
> > > I know, but I thought the ejb-jar was one unit.  So the 
> > order wouldn't
> > > change.
> > > 
> > > >  I'm going to
> > > > > go
> > > > > back and read the messages, but if anyone has a suggestion 
> > > > or can tell me
> > > > > the resolution, I would appreciate it.
> > > > 
> > > > How can I tell if it is broken? Is there a test case?  
> > > 
> > > I know. There are test cases. I just haven't added them to 
> > the source
> > > tree.
> > >  
> > > > What are the "beans"
> > > > you mention, mbeans from a *service.xml or ejbs or generated 
> > > > mbeans from
> > > > ContainerFactory or what? What is calling the init and 
> > start?  I might
> > > > simply have done something stupid in ContainerFactory.
> > > 
> > > I am talking about ejbs.  And the container init() and 
> > start methods,
> > > which
> > > are passed through to my JDBCStoreManager class.
> > > 
> > > > If the problem is due to unexpressed dependencies between 
> > > > mbeans, generally
> > > > the solution is to explicitly state those dependencies using 
> > > > mbean-ref and
> > > > mbean-ref-list elements.
> > > 
> > > It is an expressed dependency between entities, but it is 
> > expressed in
> > > the
> > > ejb-jar.xml file.
> > > 
> > > > For instance, if you have mbeans A and B that registered with 
> > > > C on init,
> > > > and C did something with A and B in its start, put a 
> > > > mbean-ref-list element
> > > > in C containing A and B's object names: in C's start, first 
> > > > iterate through
> > > > the list, calling the new registerWithC(C) method (formerly 
> > > > init()), and
> > > > then the previous start code.
> > > 
> > > I don't have that level of control all the way down at the 
> > StoreManager.
> > > 
> > > > I'm happy to help with fixing this if you can give me some 
> > > > clues about what
> > > > is going on and where.
> > > >
> > > > Thanks
> > > > david jencks
> > > 
> > > I still putting all the pieces together my self.  
> > > 
> > > The way my code works is in the init each entity creates a 
> > set of objects
> > > that represent the cmp-fields, cmr-fields, and queries for 
> > that entity. 
> > > As
> > > each cmr-field is created it checks to see if the related entity's
> > > cmr-field
> > > has been created.  If it has not been created, it does 
> > nothing.  If it
> > > has
> > > then it creates a reference to the related cmr-field 
> > object, and gives a
> > > reference to the related entity. Only at the end of the 
> > init phase is it
> > > guaranteed that all relationships are full setup.
> > > 
> > > In the start phase, tables are created for each entity, 
> > that may contain
> > > fks
> > > for the related entity, or an additional table is created for the
> > > relationship.  In this phase the ejb-ql is cross compiled 
> > to SQL, and
> > > this
> > > process requires that any referenced relationships be fully 
> > connected.
> > > 
> > > Hope that helps.
> > > 
> > > -dain
> > > 
> > > 
> > 
> > _______________________________________________
> > Jboss-development mailing list
> > [EMAIL PROTECTED]
> > https://lists.sourceforge.net/lists/listinfo/jboss-development
> > 
> 
> 

_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to