FWIW, I've slightly changed the startup mechanism for smx4 so that all
the bundles are resolved as completely as possible (i.e. not having
optional imports that could be solved, but aren't due to bundles start
up order).

To avoid a bad interaction between fileinstall and the features
service around the deployment of the activemq-broker.xml, i've moved
the broker config into the etc/ folder and use a feature with the
spring url handler to deploy this one.  This way, fileinstall does not
try to deploy the activemq-broker.xml, but it's taken in charge by the
boot features mechanism.  The problem was that fileinstall was trying
to start the generated activemq-broker bundle, thus forcing the
resolution of bundles before it was actually necessary and was causing
problems with unresolved optional imports.   The downside is that you
can't change the etc/activemq-broker.xml and expect it to be
redeployed automatically.  Instead, you'll have to osgi:refresh the
bunde after any change, but I don't think it's a big drawback.
This change also seem to have had a good impact on startup time, but
I'll dig a bit more into that, as my cpu consumption is not very high,
so I think we can still improve things here.

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

Reply via email to