Quote:
Originally Posted by
tysgodhi
I've got two apps running in production on dmServer 1.0.2.SR02. To test 2.0.0.RC1, I copied all my bundles from /bundles/usr to /usr, changed the imports to the new Spring library, and ran the apps in STS. One runs and the other doesn't. It had an error:
An Import-Package could not be resolved. Caused by missing constraint in bundle <com.springsource.org.apache.xbean.spring_3.3.0>
constraint: <Import-Package: org.springframework.beans; version="[2.5.4.A,3.0.0)">
that went away when I removed the 3.3.0 version of xbean.spring and replaced it with the 3.6.0 version. The system is apparently treating 3.0.0.RELEASE as subsequent to 3.0.0.
That's correct OSGi semantics. The version range [2.5.4.A,3.0.0) excludes 3.0.0 (as well as 3.0.0.RELEASE etc.).
Quote:
The other error is:
Uses violation: <Import-Package: org.springframework.mock.staticmock; version="0.0.0"> in bundle <[my app bundle]>
Uses conflict reported, but no conflicts detected.
. com.springsource.kernel.osgi.framework.UnableToSat isfyBundleDependenciesException: Unable to satisfy dependencies of bundle '[my app bundle]' at version '1.3.0': Cannot resolve: [my app]
Resolver report:
Uses violation: <Import-Package: org.springframework.mock.staticmock; version="0.0.0"> in bundle <[my app bundle]>
Uses conflict reported, but no conflicts detected.
What does this mean, and what the heck is "org.springframework.mock.staticmock?" I don't use anything like that in the app.
This is a known problem. Please see DMS-2260 for a workaround.
Quote:
Also, RC1 is way, way, way slower starting up than 1.0.2.SR02, so no upgrades for The Kid at this point in time!
You may care to raise an issue detailing your environment and the timings you are seeing as well as what forces you to restart dm Server.
Quote:
In a general sense, I really like the idea of putting the dependencies in the container rather than each of the apps, but it sure is a challenge getting stuff like Hibernate, ActiveMQ, JAXB and JAX-WS to play nicely in the same container with all their dependencies, so that sort of imposes limits.
If you wanted to, you could include some of those dependencies in a scoped plan along with the application which would reduce the amount of sharing and the associated constraints. But you'd have to pay attention to the meaning of scoping in order to choose plans that would resolve ok. In particular, packages exported inside a scoped plan cannot be imported from outside.