Actually I just found this snippet from Guillaume:

"All components and shared libraries classloaders are built according to the
jbi descriptor, and have the container classloader as a parent. For SUs, it
is up to the component, but the classloader is usually the same as the
component one. It can be modified when using xbean deployments using
<classpath/> tag. In such a case, the urls are used to create a new
classloader, with the component classloader as a parent. "

Which says what I would expect, though it seems sporadic with how the
classes are picked up in my service unit.  I'm almost wondering if it has to
do something with XBean.  Partially because I'm loading an xbean context
inside the su xbean context because it seemed like it would make it easier.
That strategy worked perfectly when I deploy onto the servicemix-bean
component, but since I moved to my own service-engine I seem to be having
sporadic problems.  Maybe I should just try to eliminate that second xbean
context... which will be a pain, but I'm not sure how else I can
troubleshoot/fix this problem.

On Sun, Jan 25, 2009 at 11:13 PM, Ryan Moquin <[email protected]>wrote:

> I'm a little puzzled still by classloading when using the servicemix-web
> war inside tomcat.  It seems as though classes cannot be found unless they
> are in the servicemix-web war WEB-INF/lib directory, which seems strange to
> me when they are included in the service engine.  An example of this is the
> servicemix-jms (the jms jars).  I created a new service-engine today since
> one of my services was outgrowing the servicemix-bean component.  The
> service-engine works perfectly until it runs in the servicemix-web
> distribution.  At that point, my service units won't start because various
> classes cannot be found, even though they are present in my service-engine,
> as they should be.  The only way around this, as with all the other
> service-engine components is to copy all the jar files from the
> service-engine to the servicemix-web/WEB-INF/lib directory.  This seems a
> little silly to me since you can run a service-engine as is from the
> standalone servicemix.  I'm a little puzzled why service-engines do not
> classload correctly from the servicemix-web WAR.... am I just deploying it
> incorrectly?  I can't imagine that you have to manually copy all the jars
> from any service engine that you are deploying.  Does anyone use
> servicemix-web that has a way of using it that is similar to the standlone,
> where you can deploy SEs and SUs without any modifications?
>
> Thanks for any help!
>
> Ryan
>

Reply via email to