Ok, that was about it.  I think I got everything straightened out and
checked in. (your tests work for me).  It would be great to get the tests
into the testsuite!

Sorry for the problems and thanks for your help fixing them.

David Jencks

On 2001.11.14 20:31:22 -0500 David Jencks wrote:
> 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