Hi,
I'm experimenting with dm-kernel (not the full dm-server at the moment) as a runtime for my applications. As part of this, I have a set of api/library bundles that I like to think of as a platform for the applications. Anyhow, I have a plan outlining the platform bundles. It looks as follows
and, with dependencies, it pulls in around 40 bundles. What I noticed, and what concerns me, is that starting this plan (by placing the plan file in the pickup directory) takes over two minutes.Code:<?xml version="1.0" encoding="UTF-8"?> <plan name="platform.plan" version="2.0" scoped="false" atomic="true" xmlns="http://www.springsource.org/schema/dm-server/plan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" http://www.springsource.org/schema/dm-server/plan http://www.springsource.org/schema/dm-server/plan/springsource-dm-server-plan.xsd"> <artifact type="bundle" name="com.springsource.com.mysql.jdbc" version="5.1.6"/> <artifact type="bundle" name="com.springsource.org.apache.derby" version="10.5.1000001.764942"/> <artifact type="bundle" name="com.springsource.org.eclipse.persistence" version="1.1.0"/> <artifact type="bundle" name="com.springsource.org.eclipse.persistence.antlr" version="1.1.0"/> <artifact type="bundle" name="com.springsource.org.eclipse.persistence.asm" version="1.1.0"/> <artifact type="bundle" name="com.springsource.org.eclipse.persistence.jpa" version="1.1.0"/> <artifact type="bundle" name="org.ops4j.pax.web.extender.war" version="0.5.1"/> <artifact type="bundle" name="org.ops4j.pax.web.extender.whiteboard" version="0.5.1"/> <artifact type="bundle" name="org.ops4j.pax.web.pax-web-service" version="0.6.0"/> <artifact type="bundle" name="org.apache.felix.webconsole" version="1.2.8"/> <artifact type="bundle" name="org.apache.cxf.bundle-minimal" version="2.2.1"/> <artifact type="bundle" name="org.apache.servicemix.cxf.transport.osgi" version="4.0.0"/> <artifact type="bundle" name="org.apache.wicket.wicket" version="1.3.6"/> <artifact type="bundle" name="org.apache.wicket.wicket-datetime" version="1.3.6"/> <artifact type="bundle" name="org.apache.wicket.wicket-extensions" version="1.3.6"/> <artifact type="bundle" name="org.apache.wicket.wicket-ioc" version="1.3.6"/> <artifact type="bundle" name="org.apache.wicket.wicket-spring" version="1.3.6"/> <artifact type="bundle" name="org.apache.wicket.wicket-spring-annot" version="1.3.6"/> </plan>
As a comparison, installing the transitive closure of the plan bundles with FileInstall (simply copying all the bundles into FileInstall's load directory) finishes within 20 seconds.Code:[2010-03-21 09:01:58.952] fs-watcher <DE0000I> Installing plan 'platform.plan' version '2.0.0'. [2010-03-21 09:01:59.204] fs-watcher <DE0000I> Installing bundle 'com.springsource.com.mysql.jdbc' version '5.1.6'. ... [2010-03-21 09:04:25.624] start-signalling-3 <DE0005I> Started bundle 'org.apache.servicemix.cxf.transport.osgi' version '4.0.0'. [2010-03-21 09:04:25.628] start-signalling-3 <DE0005I> Started plan 'platform.plan' version '2.0.0'.
I know that the deployment pipeline of the dm server is a lot more sophisticated but taking several minutes to install a bunch of bundles seems somewhat excessive to me.
Are the startup times I'm seeing to be expected?
I would be happy to see someone comment on my observations.
BTW, I'm looking forward to the Eclipse Virgo move!
best regards, Peter
/PS If anyone would like to look closer into this particular case (launching dm kernel with the same bundle repo and plan file), I'd be happy provide a Maven pom file that gathers the bundles I have in my bundle repo.


