If the EAR doesn't get preference as to which classes to load then there
are bigger problems here.

Example: I have a SuperMap class that implements Map, plus has a bunch
of other stuff in it.

Both the SAR, and the EJBs int he EAR use it.  

If I update SuperMap, and change the EJBs to use the new functionality, 
even though the ejb.jar has the new version in it, it won't see it's new
version of the class.  It will get the SARs version, and crash with NSME.

Is there some standard way to deploy common code in JBoss 3?

Maybe a SAR that defines no services in the xml?  and contains all the
non-EJB non-Service code?

Maybe package up all my classes into that service-less sar, and then
just deploy descriptors?

Re-deploying the serviceless sar would auto-redeploy the EJBs and
Services?

I'm confused here.  I would expect that a deployed ejb.jar, or EAR file
would use it's logically closest implementation of classes.  And not one
that it "found" from another SAR/EAR.

Or are we only talking about EJB implementation classes that will exibit
this behavior?

And when you say 3.x will do away with it, do you have a timeframe on
that?  If it's soon, I can just restart jboss for every code change.  If
it's not expected until 3.0 final, I'll work at re-packaging everything
(which means re-factoring 80% of my code, since my impl/interfaces are
all in the same package)

I don't mean to be a pest.  I just got caught off guard with this.  My
company asked for a demo of my stuff for next week, and I had just
assumed all along that the CLs would always find the classes defined in
the same archive as the DD.

-David


On Sat, 08 Dec 2001, marc fleury wrote:

> 
> > What I'm seeing now is, if I deploy my sar (which has
> > all my classes,
> > including the EJB implementation classes). 
> 
> The SAR classes will see EJB ones from the SAR. 
> 
> do you have the *implementation* class in there as well? if so remove that.
> 
>  Then
> > deploy my EAR file.
> > 
> > Subsequent re-deployes of the EAR, look as though
> > they are re-deploying,
> > but when I access the EJBs, they are using the old
> > classes (from the SAR
> > I assume).
> 
> That is normal, you packaged static classes in the SAR. When you deploy an ear, 
>since we still use the delegation model from 2.x. the CL for the EJB has SAR CL has 
>parent and sees the classes in the SAR. BTW 3.x will do away with this delegate 
>app-service.
> 
> Don't package the implementation classes with the SAR
> 
> marcf
> 

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

Reply via email to