You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@servicemix.apache.org by Daniel Kulp <dk...@apache.org> on 2010/06/25 03:04:59 UTC

JBI deployer dependencies....

I spent a good deal of time today and yesterday trying to figure out why some 
endpoints and components were not starting up.   It turns out, I didn't have 
the org.apache.felix.karaf.deployer.blueprint bundle installed.   The JBI 
components (particularly the deployer in my case) apparently now require it as 
their blueprint files have extensions that reference it's namespace.

The questions is: should the JBI bundles have a "Required-Bundle" for the 
deployer.bundle?  Without it, the bundle seemed to start, but not really.   

On a related note, the deployer.blueprint bundle is REALLY sensitive to order 
and timing issues with the blueprint bundle.   Blueprint seems to start some 
of it's stuff on a timer thread.   If deployer.blueprint starts before that 
timer triggers, it doesn't seem to register correctly.   My workaround was to 
put a bunch of bundles between them.   Kind of a hack.

-- 
Daniel Kulp
dkulp@apache.org
http://dankulp.com/blog

Re: JBI deployer dependencies....

Posted by Daniel Kulp <dk...@apache.org>.
Guillaume,

Figured this out.  It's a bug in the geronimo blueprint.   The geronimo 
version doesn't check attributes.   Looking at the Aries version, it looks 
like it's kind of fixed there so I'm going to give it a try.

Basically, in SMX4, it IS resulting in an empty namespace set.  However, when 
the registry tries to find a schema for it, it finds the first schema in the 
registry that contains all the namespaces.   With an empty set, the first 
schema it finds is ALWAYS a match.   It just happens that with SMX4, the first 
one has a bunch of namespaces with the ext one being one of them.   Not so 
with my setup.

Dan



On Friday 25 June 2010 2:10:28 am Guillaume Nodet wrote:
> The blueprint deployer does not have any namespace extension.
> It registers an URL handler for the "blueprint" protocol, but I don't
> remember the jbi deployer using it in any way.
> 
> On Fri, Jun 25, 2010 at 03:04, Daniel Kulp <dk...@apache.org> wrote:
> > I spent a good deal of time today and yesterday trying to figure out why
> > some endpoints and components were not starting up.   It turns out, I
> > didn't have the org.apache.felix.karaf.deployer.blueprint bundle
> > installed.   The JBI components (particularly the deployer in my case)
> > apparently now require it as their blueprint files have extensions that
> > reference it's namespace.
> > 
> > The questions is: should the JBI bundles have a "Required-Bundle" for the
> > deployer.bundle?  Without it, the bundle seemed to start, but not really.
> 
> Does that really solve the problems ?  I don't find why this bundle
> would have an impact.
> 
> > On a related note, the deployer.blueprint bundle is REALLY sensitive to
> > order and timing issues with the blueprint bundle.   Blueprint seems to
> > start some of it's stuff on a timer thread.   If deployer.blueprint
> > starts before that timer triggers, it doesn't seem to register
> > correctly.   My workaround was to put a bunch of bundles between them.  
> > Kind of a hack.
> 
> Yeah.
> 
> I can imagine seeing some startup dependencies problems as you
> describe when using spring-dm, because there's actually no expressed
> dependencies between a spring app and the namespaces it require.  But
> with blueprint, i've specifically enhanced the aries implementation to
> behave correctly and wait until the required namespaces are available
> before actually starting the application.
> 
> Could you please provide more informations about the problem ? What
> actually happen?
> 
> > --
> > Daniel Kulp
> > dkulp@apache.org
> > http://dankulp.com/blog

-- 
Daniel Kulp
dkulp@apache.org
http://dankulp.com/blog

Re: JBI deployer dependencies....

Posted by Guillaume Nodet <gn...@gmail.com>.
The blueprint deployer does not have any namespace extension.
It registers an URL handler for the "blueprint" protocol, but I don't
remember the jbi deployer using it in any way.

On Fri, Jun 25, 2010 at 03:04, Daniel Kulp <dk...@apache.org> wrote:
>
> I spent a good deal of time today and yesterday trying to figure out why some
> endpoints and components were not starting up.   It turns out, I didn't have
> the org.apache.felix.karaf.deployer.blueprint bundle installed.   The JBI
> components (particularly the deployer in my case) apparently now require it as
> their blueprint files have extensions that reference it's namespace.
>
> The questions is: should the JBI bundles have a "Required-Bundle" for the
> deployer.bundle?  Without it, the bundle seemed to start, but not really.

Does that really solve the problems ?  I don't find why this bundle
would have an impact.

> On a related note, the deployer.blueprint bundle is REALLY sensitive to order
> and timing issues with the blueprint bundle.   Blueprint seems to start some
> of it's stuff on a timer thread.   If deployer.blueprint starts before that
> timer triggers, it doesn't seem to register correctly.   My workaround was to
> put a bunch of bundles between them.   Kind of a hack.

Yeah.

I can imagine seeing some startup dependencies problems as you
describe when using spring-dm, because there's actually no expressed
dependencies between a spring app and the namespaces it require.  But
with blueprint, i've specifically enhanced the aries implementation to
behave correctly and wait until the required namespaces are available
before actually starting the application.

Could you please provide more informations about the problem ? What
actually happen?

>
> --
> Daniel Kulp
> dkulp@apache.org
> http://dankulp.com/blog
>



-- 
Cheers,
Guillaume Nodet
------------------------
Blog: http://gnodet.blogspot.com/
------------------------
Open Source SOA
http://fusesource.com