Don Laidlaw | 1 Sep 15:52 2009

Re: ConfigurationAdmin - changing the location of a PID

OK,

I created bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=288253

Also, the suggestion to get a fresh Configuration object with ConfigurationAdmin.getConfiguration(pid, location) did not work any differently.

--
Best Regards,

Don Laidlaw | Sr. Research Engineer |
Infor | office: +1 902-576-5185 | mobile: +1 902-401-6771 | don.laidlaw-wzDqe+/AE4kAvxtiuMwx3w@public.gmane.org



From: Thomas Watson <tjwatson-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
Reply-To: Equinox development mailing list <equinox-dev-j9T/66MeVpFAfugRpC6u6w@public.gmane.org>
Date: Mon, 31 Aug 2009 16:24:06 -0400
To: Equinox development mailing list <equinox-dev-j9T/66MeVpFAfugRpC6u6w@public.gmane.org>
Subject: Re: [equinox-dev] ConfigurationAdmin - changing the location of a PID

Please open a bug against Equinox->Compendium at https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Equinox about this.

Also can you try get/creating the configuration with the initial location of A (i.e. by calling ConfigurationAdmin.getConfiguration(String pid, String location)).  When you open the bug report please let us know if that method also fails for you.  Thanks.

Tom



Don Laidlaw ---08/31/2009 01:53:34 PM---Hi,


From:
Don Laidlaw <Don.Laidlaw-wzDqe+/AE4kAvxtiuMwx3w@public.gmane.org>

To:
Equinox development mailing list <equinox-dev-j9T/66MeVpFAfugRpC6u6w@public.gmane.org>

Date:
08/31/2009 01:53 PM

Subject:
[equinox-dev] ConfigurationAdmin - changing the location of a PID



Hi,

I am using ConfigurationAdmin, and programmatically setting the location of a PID that I am creating. That all works OK, and the getLocation() method returns the correct location for the PID. I change the location of the pid to the location of a bundle that has a ManagedService with the service.pid set to the PID in question.

That is:
Bundle A, registers a ManagedService with service.pid=my.pid
Bundle B, creates PID my.pid and sets the Configuration location to the location of Bundle A.

The problem is that the ManagedService never has its updated(Dictionary) method called. Stepping through the code reveals that this is because the ConfigurationImpl class has in internal private variable named boundBundle which is still set to the bundle that created the PID, and the Configuration location is ignored in deciding whether to call ManagedService.updated(Configuration) methods.

Is this as designed? I hope not :) I would have expected that if I created the PID and set its location to that of another bundle, then the ManagedService class in the other bundle would immediately start to have its updated(Configuration) method called whenever the PID was changed.

Thanks!
--
Best Regards,

Don Laidlaw | Sr. Research Engineer |
Infor | office: +1 902-576-5185 | mobile: +1 902-401-6771 | don.laidlaw-wzDqe+/AE4kAvxtiuMwx3w@public.gmane.org <don.laidlaw <at> infor.com>
_______________________________________________
equinox-dev mailing list
equinox-dev-j9T/66MeVpFAfugRpC6u6w@public.gmane.org
https://dev.eclipse.org/mailman/listinfo/equinox-dev



<div>
<span>OK,<br><br>
I created bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=288253">https://bugs.eclipse.org/bugs/show_bug.cgi?id=288253</a><br><br>
Also, the suggestion to get a fresh Configuration object with ConfigurationAdmin.getConfiguration(pid, location) did not work any differently.<br><br>
-- <br>
Best Regards,<br></span><span><br>
Don Laidlaw | Sr. Research Engineer |</span><span> Infor | office: +1 902-576-5185 | mobile: +1 902-401-6771 | <a href="don.laidlaw@...">don.laidlaw@...</a><br></span><span><br><br><br>From: Thomas Watson &lt;<a href="tjwatson@...">tjwatson@...</a>&gt;<br>Reply-To: Equinox development mailing list &lt;<a href="equinox-dev <at> eclipse.org">equinox-dev@...</a>&gt;<br>Date: Mon, 31 Aug 2009 16:24:06 -0400<br>To: Equinox development mailing list &lt;<a href="equinox-dev <at> eclipse.org">equinox-dev@...</a>&gt;<br>Subject: Re: [equinox-dev] ConfigurationAdmin - changing the location of a PID<br><br>
Please open a bug against Equinox-&gt;Compendium at <a href="https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Equinox">https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Equinox</a> about this.<br><br>
Also can you try get/creating the configuration with the initial location of A (i.e. by calling ConfigurationAdmin.getConfiguration(String pid, String location)). &nbsp;When you open the bug report please let us know if that method also fails for you. &nbsp;Thanks.<br><br>
Tom<br><br><br><br>Don Laidlaw ---08/31/2009 01:53:34 PM---Hi,<br><br><br>From:<br>
Don Laidlaw &lt;<a href="Don.Laidlaw@...">Don.Laidlaw@...</a>&gt; <br><br>To:<br>
Equinox development mailing list &lt;<a href="equinox-dev@...">equinox-dev@...</a>&gt; <br><br>Date:<br>
08/31/2009 01:53 PM <br><br>Subject:<br>
[equinox-dev] ConfigurationAdmin - changing the location of a PID <br><br><br><br></span><span>Hi,<br><br>
I am using ConfigurationAdmin, and programmatically setting the location of a PID that I am creating. That all works OK, and the getLocation() method returns the correct location for the PID. I change the location of the pid to the location of a bundle that has a ManagedService with the service.pid set to the PID in question.<br><br>
That is: <br>
Bundle A, registers a ManagedService with service.pid=my.pid<br>
Bundle B, creates PID my.pid and sets the Configuration location to the location of Bundle A.<br><br>
The problem is that the ManagedService never has its updated(Dictionary) method called. Stepping through the code reveals that this is because the ConfigurationImpl class has in internal private variable named boundBundle which is still set to the bundle that created the PID, and the Configuration location is ignored in deciding whether to call ManagedService.updated(Configuration) methods.<br><br>
Is this as designed? I hope not :) I would have expected that if I created the PID and set its location to that of another bundle, then the ManagedService class in the other bundle would immediately start to have its updated(Configuration) method called whenever the PID was changed.<br><br>
Thanks!<br>
-- <br>
Best Regards,<br></span><span><br>
Don Laidlaw | Sr. Research Engineer |</span><span> Infor | office: +1 902-576-5185 | mobile: +1 902-401-6771 | <a href="don.laidlaw <at> infor.com">don.laidlaw@...</a> &lt;<a href="don.laidlaw@...">don.laidlaw <at> infor.com</a>&gt; <br>_______________________________________________<br>
equinox-dev mailing list<br><a href="equinox-dev@...">equinox-dev@...</a><br><a href="https://dev.eclipse.org/mailman/listinfo/equinox-dev">https://dev.eclipse.org/mailman/listinfo/equinox-dev</a><br><br><br><br></span>
</div>
Don Laidlaw | 1 Sep 18:33 2009

Optional package import resolving problem

Hi Everyone,

I am using
org.eclipse.osgi_3.5.0.v20090127-1630 and starting a small container with the OSGi Framework launch configuration. In this container I have the Spring framework and its minimal dependencies. All bundles start OK.

The Spring framwork ORM bundle has imports for the hibernate packages, all marked as optional. The hibernate (and only one bundle is in the container that exports hibernate bundles) bundle is started before the spring framework bundles using the run levels on the launch configuration.

The problem is that only some of the optional hibernate imports are actually resolved in the spring orm bundle. I can find no explanation for that behaviour at all. This is what is being exported by the hibernate bundle:

Snip...
 org.hibernate                         {version=3.2.6.ga-SNAPSHOT}
  org.hibernate.action                  {version=3.2.6.ga-SNAPSHOT}
  org.hibernate.bytecode                {version=3.2.6.ga-SNAPSHOT}
  org.hibernate.bytecode.cglib          {version=3.2.6.ga-SNAPSHOT}
  org.hibernate.bytecode.javassist      {version=3.2.6.ga-SNAPSHOT}
  org.hibernate.bytecode.util           {version=3.2.6.ga-SNAPSHOT}
  org.hibernate.cache                   {version=3.2.6.ga-SNAPSHOT}
  org.hibernate.cache.entry             {version=3.2.6.ga-SNAPSHOT}
  org.hibernate.cfg                     {version=3.2.6.ga-SNAPSHOT}
  org.hibernate.classic                 {version=3.2.6.ga-SNAPSHOT}
  org.hibernate.collection              {version=3.2.6.ga-SNAPSHOT}
  org.hibernate.connection              {version=3.2.6.ga-SNAPSHOT}
  org.hibernate.context                 {version=3.2.6.ga-SNAPSHOT}
  org.hibernate.criterion               {version=3.2.6.ga-SNAPSHOT}
  org.hibernate.dialect                 {version=3.2.6.ga-SNAPSHOT}
  org.hibernate.dialect.function        {version=3.2.6.ga-SNAPSHOT}
  org.hibernate.dialect.lock            {version=3.2.6.ga-SNAPSHOT}
  org.hibernate.engine                  {version=3.2.6.ga-SNAPSHOT}
  org.hibernate.engine.loading          {version=3.2.6.ga-SNAPSHOT}
  org.hibernate.engine.query            {version=3.2.6.ga-SNAPSHOT}
  org.hibernate.engine.query.sql        {version=3.2.6.ga-SNAPSHOT}
  org.hibernate.engine.transaction      {version=3.2.6.ga-SNAPSHOT}
  org.hibernate.event                   {version=3.2.6.ga-SNAPSHOT}
  org.hibernate.event.def               {version=3.2.6.ga-SNAPSHOT}
  org.hibernate.exception               {version=3.2.6.ga-SNAPSHOT}
  org.hibernate.hql                     {version=3.2.6.ga-SNAPSHOT}
  org.hibernate.hql.antlr               {version=3.2.6.ga-SNAPSHOT}
  org.hibernate.hql.ast                 {version=3.2.6.ga-SNAPSHOT}
  org.hibernate.hql.ast.exec            {version=3.2.6.ga-SNAPSHOT}
  org.hibernate.hql.ast.tree            {version=3.2.6.ga-SNAPSHOT}
  org.hibernate.hql.ast.util            {version=3.2.6.ga-SNAPSHOT}
  org.hibernate.hql.classic             {version=3.2.6.ga-SNAPSHOT}
  org.hibernate.id                      {version=3.2.6.ga-SNAPSHOT}
  org.hibernate.id.enhanced             {version=3.2.6.ga-SNAPSHOT}
  org.hibernate.id.insert               {version=3.2.6.ga-SNAPSHOT}
  org.hibernate.impl                    {version=3.2.6.ga-SNAPSHOT}
  org.hibernate.intercept               {version=3.2.6.ga-SNAPSHOT}
  org.hibernate.intercept.cglib         {version=3.2.6.ga-SNAPSHOT}
  org.hibernate.intercept.javassist     {version=3.2.6.ga-SNAPSHOT}
  org.hibernate.jdbc                    {version=3.2.6.ga-SNAPSHOT}
  org.hibernate.jmx                     {version=3.2.6.ga-SNAPSHOT}
  org.hibernate.loader                  {version=3.2.6.ga-SNAPSHOT}
  org.hibernate.loader.collection       {version=3.2.6.ga-SNAPSHOT}
  org.hibernate.loader.criteria         {version=3.2.6.ga-SNAPSHOT}
  org.hibernate.loader.custom           {version=3.2.6.ga-SNAPSHOT}
  org.hibernate.loader.custom.sql       {version=3.2.6.ga-SNAPSHOT}
  org.hibernate.loader.entity           {version=3.2.6.ga-SNAPSHOT}
  org.hibernate.loader.hql              {version=3.2.6.ga-SNAPSHOT}
  org.hibernate.lob                     {version=3.2.6.ga-SNAPSHOT}
  org.hibernate.mapping                 {version=3.2.6.ga-SNAPSHOT}
  org.hibernate.metadata                {version=3.2.6.ga-SNAPSHOT}
  org.hibernate.param                   {version=3.2.6.ga-SNAPSHOT}
  org.hibernate.persister               {version=3.2.6.ga-SNAPSHOT}
  org.hibernate.persister.collection    {version=3.2.6.ga-SNAPSHOT}
  org.hibernate.persister.entity        {version=3.2.6.ga-SNAPSHOT}
  org.hibernate.pretty                  {version=3.2.6.ga-SNAPSHOT}
  org.hibernate.property                {version=3.2.6.ga-SNAPSHOT}
  org.hibernate.proxy                   {version=3.2.6.ga-SNAPSHOT}
  org.hibernate.proxy.dom4j             {version=3.2.6.ga-SNAPSHOT}
  org.hibernate.proxy.map               {version=3.2.6.ga-SNAPSHOT}
  org.hibernate.proxy.pojo              {version=3.2.6.ga-SNAPSHOT}
  org.hibernate.proxy.pojo.cglib        {version=3.2.6.ga-SNAPSHOT}
  org.hibernate.proxy.pojo.javassist    {version=3.2.6.ga-SNAPSHOT}
  org.hibernate.secure                  {version=3.2.6.ga-SNAPSHOT}
  org.hibernate.sql                     {version=3.2.6.ga-SNAPSHOT}
  org.hibernate.stat                    {version=3.2.6.ga-SNAPSHOT}
  org.hibernate.tool.hbm2ddl            {version=3.2.6.ga-SNAPSHOT}
  org.hibernate.tool.instrument         {version=3.2.6.ga-SNAPSHOT}
  org.hibernate.tool.instrument.cglib   {version=3.2.6.ga-SNAPSHOT}
  org.hibernate.tool.instrument.javassist{version=3.2.6.ga-SNAPSHOT}
  org.hibernate.transaction             {version=3.2.6.ga-SNAPSHOT}
  org.hibernate.transform               {version=3.2.6.ga-SNAPSHOT}
  org.hibernate.tuple                   {version=3.2.6.ga-SNAPSHOT}
  org.hibernate.tuple.component         {version=3.2.6.ga-SNAPSHOT}
  org.hibernate.tuple.entity            {version=3.2.6.ga-SNAPSHOT}
  org.hibernate.type                    {version=3.2.6.ga-SNAPSHOT}
  org.hibernate.usertype                {version=3.2.6.ga-SNAPSHOT}
  org.hibernate.util                    {version=3.2.6.ga-SNAPSHOT}
...snip

This is what is being imported by the spring orm bundle:

org.hibernate                         {version=[3.2.6.ga, 4.0.0), resolution:=optional}
  org.hibernate.cache                   {version=[3.2.6.ga, 4.0.0), resolution:=optional}
  org.hibernate.cfg                     {version=[3.2.6.ga, 4.0.0), resolution:=optional}
  org.hibernate.classic                 {version=[3.2.6.ga, 4.0.0), resolution:=optional}
  org.hibernate.connection              {version=[3.2.6.ga, 4.0.0), resolution:=optional}
  org.hibernate.context                 {version=[3.2.6.ga, 4.0.0), resolution:=optional}
  org.hibernate.criterion               {version=[3.2.6.ga, 4.0.0), resolution:=optional}
  org.hibernate.dialect                 {version=[3.2.6.ga, 4.0.0), resolution:=optional}
  org.hibernate.ejb                     {version=[3.3.0.ga, 4.0.0), resolution:=optional}
  org.hibernate.engine                  {version=[3.2.6.ga, 4.0.0), resolution:=optional}
  org.hibernate.event                   {version=[3.2.6.ga, 4.0.0), resolution:=optional}
  org.hibernate.event.def               {version=[3.2.6.ga, 4.0.0), resolution:=optional}
  org.hibernate.exception               {version=[3.2.6.ga, 4.0.0), resolution:=optional}
  org.hibernate.impl                    {version=[3.2.6.ga, 4.0.0), resolution:=optional}
  org.hibernate.jdbc                    {version=[3.2.6.ga, 4.0.0), resolution:=optional}
  org.hibernate.persister.entity        {version=[3.2.6.ga, 4.0.0), resolution:=optional}
  org.hibernate.tool.hbm2ddl            {version=[3.2.6.ga, 4.0.0), resolution:=optional}
  org.hibernate.transaction             {version=[3.2.6.ga, 4.0.0), resolution:=optional}
  org.hibernate.transform               {version=[3.2.6.ga, 4.0.0), resolution:=optional}
  org.hibernate.type                    {version=[3.2.6.ga, 4.0.0), resolution:=optional}
  org.hibernate.usertype                {version=[3.2.6.ga, 4.0.0), resolution:=optional}
  org.hibernate.util                    {version=[3.2.6.ga, 4.0.0), resolution:=optional}

The OSGi console tells me what is actually bound in the container:

osgi> b 20
org.springframework.orm_2.5.6.SEC01 [20]
  Id=20, Status=ACTIVE      Data Root=/Users/dlaidlaw/Infor/workspaces/framework/.metadata/.plugins/org.eclipse.pde.core/SpringHibernateContainer/org.eclipse.osgi/bundles/20/data
  No registered services.
  No services in use.
  Exported packages
    org.springframework.orm; version="2.5.6.SEC01"[exported]
    org.springframework.orm.hibernate3; version="2.5.6.SEC01"[exported]
    org.springframework.orm.hibernate3.annotation; version="2.5.6.SEC01"[exported]
    org.springframework.orm.hibernate3.support; version="2.5.6.SEC01"[exported]
    org.springframework.orm.ibatis; version="2.5.6.SEC01"[exported]
    org.springframework.orm.ibatis.support; version="2.5.6.SEC01"[exported]
    org.springframework.orm.jdo; version="2.5.6.SEC01"[exported]
    org.springframework.orm.jdo.support; version="2.5.6.SEC01"[exported]
    org.springframework.orm.jpa; version="2.5.6.SEC01"[exported]
    org.springframework.orm.jpa.persistenceunit; version="2.5.6.SEC01"[exported]
    org.springframework.orm.jpa.support; version="2.5.6.SEC01"[exported]
    org.springframework.orm.jpa.vendor; version="2.5.6.SEC01"[exported]
    org.springframework.orm.toplink; version="2.5.6.SEC01"[exported]
    org.springframework.orm.toplink.support; version="2.5.6.SEC01"[exported]
  Imported packages
    javax.naming; version="0.0.0"<org.eclipse.osgi_3.5.0.v20090127-1630 [0]>
    javax.persistence; version="1.99.0"<com.springsource.javax.persistence_1.99.0 [1]>
    javax.persistence.spi; version="1.99.0"<com.springsource.javax.persistence_1.99.0 [1]>
    javax.sql; version="0.0.0"<org.eclipse.osgi_3.5.0.v20090127-1630 [0]>
    javax.transaction; version="1.1.0"<com.springsource.javax.transaction_1.1.0 [23]>
    javax.xml.parsers; version="0.0.0"<org.eclipse.osgi_3.5.0.v20090127-1630 [0]>
    org.aopalliance.intercept; version="1.0.0"<com.springsource.org.aopalliance_1.0.0 [10]>
    org.apache.commons.logging; version="1.1.1"<org.ops4j.pax.logging.pax-logging-api_1.3.0 [9]>
    org.hibernate.cfg; version="3.2.6.ga-SNAPSHOT"<com.infor.org.hibernate_3.2.6.ga-SNAPSHOT [26]>
    org.hibernate.classic; version="3.2.6.ga-SNAPSHOT"<com.infor.org.hibernate_3.2.6.ga-SNAPSHOT [26]>
    org.hibernate.connection; version="3.2.6.ga-SNAPSHOT"<com.infor.org.hibernate_3.2.6.ga-SNAPSHOT [26]>
    org.hibernate.dialect; version="3.2.6.ga-SNAPSHOT"<com.infor.org.hibernate_3.2.6.ga-SNAPSHOT [26]>
    org.hibernate.event; version="3.2.6.ga-SNAPSHOT"<com.infor.org.hibernate_3.2.6.ga-SNAPSHOT [26]>
    org.hibernate.event.def; version="3.2.6.ga-SNAPSHOT"<com.infor.org.hibernate_3.2.6.ga-SNAPSHOT [26]>
    org.hibernate.exception; version="3.2.6.ga-SNAPSHOT"<com.infor.org.hibernate_3.2.6.ga-SNAPSHOT [26]>
    org.hibernate.persister.entity; version="3.2.6.ga-SNAPSHOT"<com.infor.org.hibernate_3.2.6.ga-SNAPSHOT [26]>
    org.hibernate.tool.hbm2ddl; version="3.2.6.ga-SNAPSHOT"<com.infor.org.hibernate_3.2.6.ga-SNAPSHOT [26]>
    org.hibernate.transform; version="3.2.6.ga-SNAPSHOT"<com.infor.org.hibernate_3.2.6.ga-SNAPSHOT [26]>
    org.hibernate.type; version="3.2.6.ga-SNAPSHOT"<com.infor.org.hibernate_3.2.6.ga-SNAPSHOT [26]>
    org.hibernate.usertype; version="3.2.6.ga-SNAPSHOT"<com.infor.org.hibernate_3.2.6.ga-SNAPSHOT [26]>
    org.springframework.aop.scope; version="2.5.6.SEC01"<org.springframework.aop_2.5.6.SEC01 [27]>
    org.springframework.aop.support; version="2.5.6.SEC01"<org.springframework.aop_2.5.6.SEC01 [27]>
    org.springframework.beans; version="2.5.6.SEC01"<org.springframework.beans_2.5.6.SEC01 [17]>
    org.springframework.beans.factory; version="2.5.6.SEC01"<org.springframework.beans_2.5.6.SEC01 [17]>
    org.springframework.beans.factory.annotation; version="2.5.6.SEC01"<org.springframework.beans_2.5.6.SEC01 [17]>
    org.springframework.beans.factory.config; version="2.5.6.SEC01"<org.springframework.beans_2.5.6.SEC01 [17]>
    org.springframework.beans.factory.support; version="2.5.6.SEC01"<org.springframework.beans_2.5.6.SEC01 [17]>
    org.springframework.context; version="2.5.6.SEC01"<org.springframework.context_2.5.6.SEC01 [7]>
    org.springframework.context.weaving; version="2.5.6.SEC01"<org.springframework.context_2.5.6.SEC01 [7]>
    org.springframework.core; version="2.5.6.SEC01"<org.springframework.core_2.5.6.SEC01 [6]>
    org.springframework.core.io; version="2.5.6.SEC01"<org.springframework.core_2.5.6.SEC01 [6]>
    org.springframework.core.io.support; version="2.5.6.SEC01"<org.springframework.core_2.5.6.SEC01 [6]>
    org.springframework.core.type; version="2.5.6.SEC01"<org.springframework.core_2.5.6.SEC01 [6]>
    org.springframework.core.type.classreading; version="2.5.6.SEC01"<org.springframework.core_2.5.6.SEC01 [6]>
    org.springframework.core.type.filter; version="2.5.6.SEC01"<org.springframework.core_2.5.6.SEC01 [6]>
    org.springframework.dao; version="2.5.6.SEC01"<org.springframework.transaction_2.5.6.SEC01 [22]>
    org.springframework.dao.support; version="2.5.6.SEC01"<org.springframework.transaction_2.5.6.SEC01 [22]>
    org.springframework.instrument.classloading; version="2.5.6.SEC01"<org.springframework.context_2.5.6.SEC01 [7]>
    org.springframework.jdbc; version="2.5.6.SEC01"<org.springframework.jdbc_2.5.6.SEC01 [18]>
    org.springframework.jdbc.datasource; version="2.5.6.SEC01"<org.springframework.jdbc_2.5.6.SEC01 [18]>
    org.springframework.jdbc.datasource.lookup; version="2.5.6.SEC01"<org.springframework.jdbc_2.5.6.SEC01 [18]>
    org.springframework.jdbc.support; version="2.5.6.SEC01"<org.springframework.jdbc_2.5.6.SEC01 [18]>
    org.springframework.jdbc.support.lob; version="2.5.6.SEC01"<org.springframework.jdbc_2.5.6.SEC01 [18]>
    org.springframework.jndi; version="2.5.6.SEC01"<org.springframework.context_2.5.6.SEC01 [7]>
    org.springframework.transaction; version="2.5.6.SEC01"<org.springframework.transaction_2.5.6.SEC01 [22]>
    org.springframework.transaction.jta; version="2.5.6.SEC01"<org.springframework.transaction_2.5.6.SEC01 [22]>
    org.springframework.transaction.support; version="2.5.6.SEC01"<org.springframework.transaction_2.5.6.SEC01 [22]>
    org.springframework.ui; version="2.5.6.SEC01"<org.springframework.context_2.5.6.SEC01 [7]>
    org.springframework.util; version="2.5.6.SEC01"<org.springframework.core_2.5.6.SEC01 [6]>
    org.springframework.util.xml; version="2.5.6.SEC01"<org.springframework.core_2.5.6.SEC01 [6]>
    org.w3c.dom; version="0.0.0"<org.eclipse.osgi_3.5.0.v20090127-1630 [0]>
    org.xml.sax; version="0.0.0"<org.eclipse.osgi_3.5.0.v20090127-1630 [0]>
  No fragment bundles
  Named class space
    org.springframework.orm; bundle-version="2.5.6.SEC01"[provided]
  No required bundles

Note that only 12 of the 22 imports are actually bound. But the hibernate bundle exports all of those 22 imports. The diag command on spring orm says:

osgi> diag 20
initial <at> reference:file:org.springframework.orm-2.5.6.SEC01.jar/ [20]
  Direct constraints which are unresolved:
    Missing imported package com.ibatis.common.util_[2.3.0.677,3.0.0).
    Missing imported package com.ibatis.common.xml_[2.3.0.677,3.0.0).
    Missing imported package com.ibatis.sqlmap.client_[2.3.0.677,3.0.0).
    Missing imported package com.ibatis.sqlmap.client.event_[2.3.0.677,3.0.0).
    Missing imported package com.ibatis.sqlmap.engine.builder.xml_[2.3.0.677,3.0.0).
    Missing imported package com.ibatis.sqlmap.engine.impl_[2.3.0.677,3.0.0).
    Missing imported package com.ibatis.sqlmap.engine.transaction_[2.3.0.677,3.0.0).
    Missing imported package com.ibatis.sqlmap.engine.transaction.external_[2.3.0.677,3.0.0).
    Missing imported package com.ibatis.sqlmap.engine.type_[2.3.0.677,3.0.0).
    Missing imported package javax.jdo_[2.0.0,3.0.0).
    Missing imported package javax.jdo.datastore_[2.0.0,3.0.0).
    Missing imported package javax.servlet_[2.4.0,3.0.0).
    Missing imported package javax.servlet.http_[2.4.0,3.0.0).
    Missing imported package oracle.toplink.essentials.ejb.cmp3_[2.0.0.b41-beta2,3.0.0).
    Missing imported package oracle.toplink.essentials.expressions_[2.0.0.b41-beta2,3.0.0).
    Missing imported package oracle.toplink.essentials.internal.databaseaccess_[2.0.0.b41-beta2,3.0.0).
    Missing imported package oracle.toplink.essentials.internal.sessions_[2.0.0.b41-beta2,3.0.0).
    Missing imported package oracle.toplink.essentials.sessions_[2.0.0.b41-beta2,3.0.0).
    Missing imported package oracle.toplink.exceptions_[10.1.3,11.0.0).
    Missing imported package oracle.toplink.expressions_[10.1.3,11.0.0).
    Missing imported package oracle.toplink.internal.databaseaccess_[10.1.3,11.0.0).
    Missing imported package oracle.toplink.jndi_[10.1.3,11.0.0).
    Missing imported package oracle.toplink.logging_[10.1.3,11.0.0).
    Missing imported package oracle.toplink.publicinterface_[10.1.3,11.0.0).
    Missing imported package oracle.toplink.queryframework_[10.1.3,11.0.0).
    Missing imported package oracle.toplink.sessionbroker_[10.1.3,11.0.0).
    Missing imported package oracle.toplink.sessions_[10.1.3,11.0.0).
    Missing imported package oracle.toplink.threetier_[10.1.3,11.0.0).
    Missing imported package oracle.toplink.tools.sessionconfiguration_[10.1.3,11.0.0).
    Missing imported package oracle.toplink.tools.sessionmanagement_[10.1.3,11.0.0).
    Missing imported package org.apache.openjpa.persistence_[1.0.2,2.0.0).
    Missing imported package org.eclipse.persistence.expressions_[1.0.0,2.0.0).
    Missing imported package org.eclipse.persistence.internal.databaseaccess_[1.0.0,2.0.0).
    Missing imported package org.eclipse.persistence.internal.sessions_[1.0.0,2.0.0).
    Missing imported package org.eclipse.persistence.jpa_[1.0.0,2.0.0).
    Missing imported package org.eclipse.persistence.sessions_[1.0.0,2.0.0).
    Missing imported package org.hibernate.ejb_[3.3.0.ga,4.0.0).
    Missing imported package org.springframework.web.context_[2.5.6.SEC01,2.5.6.SEC01].
    Missing imported package org.springframework.web.context.request_[2.5.6.SEC01,2.5.6.SEC01].
    Missing imported package org.springframework.web.context.support_[2.5.6.SEC01,2.5.6.SEC01].
    Missing imported package org.springframework.web.filter_[2.5.6.SEC01,2.5.6.SEC01].

Can anyone explain why the other packages would not be resolved?

--
Best Regards,

Don Laidlaw | Sr. Research Engineer |
Infor | office: +1 902-576-5185 | mobile: +1 902-401-6771 | don.laidlaw-wzDqe+/AE4kAvxtiuMwx3w@public.gmane.org

<div>
<span>Hi Everyone,<br><br>
I am using </span><span>org.eclipse.osgi_3.5.0.v20090127-1630</span><span> and starting a small container with the OSGi Framework launch configuration. In this container I have the Spring framework and its minimal dependencies. All bundles start OK.<br><br>
The Spring framwork ORM bundle has imports for the hibernate packages, all marked as optional. The hibernate (and only one bundle is in the container that exports hibernate bundles) bundle is started before the spring framework bundles using the run levels on the launch configuration.<br><br>
The problem is that only some of the optional hibernate imports are actually resolved in the spring orm bundle. I can find no explanation for that behaviour at all. This is what is being exported by the hibernate bundle:<br><br>
Snip...<br></span><span> &nbsp;org.hibernate &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{version=3.2.6.ga-SNAPSHOT}<br>
&nbsp;&nbsp;org.hibernate.action &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{version=3.2.6.ga-SNAPSHOT}<br>
&nbsp;&nbsp;org.hibernate.bytecode &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{version=3.2.6.ga-SNAPSHOT}<br>
&nbsp;&nbsp;org.hibernate.bytecode.cglib &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{version=3.2.6.ga-SNAPSHOT}<br>
&nbsp;&nbsp;org.hibernate.bytecode.javassist &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{version=3.2.6.ga-SNAPSHOT}<br>
&nbsp;&nbsp;org.hibernate.bytecode.util &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{version=3.2.6.ga-SNAPSHOT}<br>
&nbsp;&nbsp;org.hibernate.cache &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{version=3.2.6.ga-SNAPSHOT}<br>
&nbsp;&nbsp;org.hibernate.cache.entry &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{version=3.2.6.ga-SNAPSHOT}<br>
&nbsp;&nbsp;org.hibernate.cfg &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{version=3.2.6.ga-SNAPSHOT}<br>
&nbsp;&nbsp;org.hibernate.classic &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{version=3.2.6.ga-SNAPSHOT}<br>
&nbsp;&nbsp;org.hibernate.collection &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{version=3.2.6.ga-SNAPSHOT}<br>
&nbsp;&nbsp;org.hibernate.connection &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{version=3.2.6.ga-SNAPSHOT}<br>
&nbsp;&nbsp;org.hibernate.context &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{version=3.2.6.ga-SNAPSHOT}<br>
&nbsp;&nbsp;org.hibernate.criterion &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{version=3.2.6.ga-SNAPSHOT}<br>
&nbsp;&nbsp;org.hibernate.dialect &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{version=3.2.6.ga-SNAPSHOT}<br>
&nbsp;&nbsp;org.hibernate.dialect.function &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{version=3.2.6.ga-SNAPSHOT}<br>
&nbsp;&nbsp;org.hibernate.dialect.lock &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{version=3.2.6.ga-SNAPSHOT}<br>
&nbsp;&nbsp;org.hibernate.engine &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{version=3.2.6.ga-SNAPSHOT}<br>
&nbsp;&nbsp;org.hibernate.engine.loading &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{version=3.2.6.ga-SNAPSHOT}<br>
&nbsp;&nbsp;org.hibernate.engine.query &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{version=3.2.6.ga-SNAPSHOT}<br>
&nbsp;&nbsp;org.hibernate.engine.query.sql &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{version=3.2.6.ga-SNAPSHOT}<br>
&nbsp;&nbsp;org.hibernate.engine.transaction &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{version=3.2.6.ga-SNAPSHOT}<br>
&nbsp;&nbsp;org.hibernate.event &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{version=3.2.6.ga-SNAPSHOT}<br>
&nbsp;&nbsp;org.hibernate.event.def &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{version=3.2.6.ga-SNAPSHOT}<br>
&nbsp;&nbsp;org.hibernate.exception &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{version=3.2.6.ga-SNAPSHOT}<br>
&nbsp;&nbsp;org.hibernate.hql &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{version=3.2.6.ga-SNAPSHOT}<br>
&nbsp;&nbsp;org.hibernate.hql.antlr &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{version=3.2.6.ga-SNAPSHOT}<br>
&nbsp;&nbsp;org.hibernate.hql.ast &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{version=3.2.6.ga-SNAPSHOT}<br>
&nbsp;&nbsp;org.hibernate.hql.ast.exec &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{version=3.2.6.ga-SNAPSHOT}<br>
&nbsp;&nbsp;org.hibernate.hql.ast.tree &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{version=3.2.6.ga-SNAPSHOT}<br>
&nbsp;&nbsp;org.hibernate.hql.ast.util &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{version=3.2.6.ga-SNAPSHOT}<br>
&nbsp;&nbsp;org.hibernate.hql.classic &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{version=3.2.6.ga-SNAPSHOT}<br>
&nbsp;&nbsp;org.hibernate.id &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{version=3.2.6.ga-SNAPSHOT}<br>
&nbsp;&nbsp;org.hibernate.id.enhanced &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{version=3.2.6.ga-SNAPSHOT}<br>
&nbsp;&nbsp;org.hibernate.id.insert &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{version=3.2.6.ga-SNAPSHOT}<br>
&nbsp;&nbsp;org.hibernate.impl &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{version=3.2.6.ga-SNAPSHOT}<br>
&nbsp;&nbsp;org.hibernate.intercept &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{version=3.2.6.ga-SNAPSHOT}<br>
&nbsp;&nbsp;org.hibernate.intercept.cglib &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{version=3.2.6.ga-SNAPSHOT}<br>
&nbsp;&nbsp;org.hibernate.intercept.javassist &nbsp;&nbsp;&nbsp;&nbsp;{version=3.2.6.ga-SNAPSHOT}<br>
&nbsp;&nbsp;org.hibernate.jdbc &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{version=3.2.6.ga-SNAPSHOT}<br>
&nbsp;&nbsp;org.hibernate.jmx &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{version=3.2.6.ga-SNAPSHOT}<br>
&nbsp;&nbsp;org.hibernate.loader &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{version=3.2.6.ga-SNAPSHOT}<br>
&nbsp;&nbsp;org.hibernate.loader.collection &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{version=3.2.6.ga-SNAPSHOT}<br>
&nbsp;&nbsp;org.hibernate.loader.criteria &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{version=3.2.6.ga-SNAPSHOT}<br>
&nbsp;&nbsp;org.hibernate.loader.custom &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{version=3.2.6.ga-SNAPSHOT}<br>
&nbsp;&nbsp;org.hibernate.loader.custom.sql &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{version=3.2.6.ga-SNAPSHOT}<br>
&nbsp;&nbsp;org.hibernate.loader.entity &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{version=3.2.6.ga-SNAPSHOT}<br>
&nbsp;&nbsp;org.hibernate.loader.hql &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{version=3.2.6.ga-SNAPSHOT}<br>
&nbsp;&nbsp;org.hibernate.lob &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{version=3.2.6.ga-SNAPSHOT}<br>
&nbsp;&nbsp;org.hibernate.mapping &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{version=3.2.6.ga-SNAPSHOT}<br>
&nbsp;&nbsp;org.hibernate.metadata &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{version=3.2.6.ga-SNAPSHOT}<br>
&nbsp;&nbsp;org.hibernate.param &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{version=3.2.6.ga-SNAPSHOT}<br>
&nbsp;&nbsp;org.hibernate.persister &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{version=3.2.6.ga-SNAPSHOT}<br>
&nbsp;&nbsp;org.hibernate.persister.collection &nbsp;&nbsp;&nbsp;{version=3.2.6.ga-SNAPSHOT}<br>
&nbsp;&nbsp;org.hibernate.persister.entity &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{version=3.2.6.ga-SNAPSHOT}<br>
&nbsp;&nbsp;org.hibernate.pretty &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{version=3.2.6.ga-SNAPSHOT}<br>
&nbsp;&nbsp;org.hibernate.property &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{version=3.2.6.ga-SNAPSHOT}<br>
&nbsp;&nbsp;org.hibernate.proxy &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{version=3.2.6.ga-SNAPSHOT}<br>
&nbsp;&nbsp;org.hibernate.proxy.dom4j &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{version=3.2.6.ga-SNAPSHOT}<br>
&nbsp;&nbsp;org.hibernate.proxy.map &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{version=3.2.6.ga-SNAPSHOT}<br>
&nbsp;&nbsp;org.hibernate.proxy.pojo &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{version=3.2.6.ga-SNAPSHOT}<br>
&nbsp;&nbsp;org.hibernate.proxy.pojo.cglib &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{version=3.2.6.ga-SNAPSHOT}<br>
&nbsp;&nbsp;org.hibernate.proxy.pojo.javassist &nbsp;&nbsp;&nbsp;{version=3.2.6.ga-SNAPSHOT}<br>
&nbsp;&nbsp;org.hibernate.secure &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{version=3.2.6.ga-SNAPSHOT}<br>
&nbsp;&nbsp;org.hibernate.sql &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{version=3.2.6.ga-SNAPSHOT}<br>
&nbsp;&nbsp;org.hibernate.stat &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{version=3.2.6.ga-SNAPSHOT}<br>
&nbsp;&nbsp;org.hibernate.tool.hbm2ddl &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{version=3.2.6.ga-SNAPSHOT}<br>
&nbsp;&nbsp;org.hibernate.tool.instrument &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{version=3.2.6.ga-SNAPSHOT}<br>
&nbsp;&nbsp;org.hibernate.tool.instrument.cglib &nbsp;&nbsp;{version=3.2.6.ga-SNAPSHOT}<br>
&nbsp;&nbsp;org.hibernate.tool.instrument.javassist{version=3.2.6.ga-SNAPSHOT}<br>
&nbsp;&nbsp;org.hibernate.transaction &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{version=3.2.6.ga-SNAPSHOT}<br>
&nbsp;&nbsp;org.hibernate.transform &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{version=3.2.6.ga-SNAPSHOT}<br>
&nbsp;&nbsp;org.hibernate.tuple &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{version=3.2.6.ga-SNAPSHOT}<br>
&nbsp;&nbsp;org.hibernate.tuple.component &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{version=3.2.6.ga-SNAPSHOT}<br>
&nbsp;&nbsp;org.hibernate.tuple.entity &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{version=3.2.6.ga-SNAPSHOT}<br>
&nbsp;&nbsp;org.hibernate.type &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{version=3.2.6.ga-SNAPSHOT}<br>
&nbsp;&nbsp;org.hibernate.usertype &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{version=3.2.6.ga-SNAPSHOT}<br>
&nbsp;&nbsp;org.hibernate.util &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{version=3.2.6.ga-SNAPSHOT}<br>
...snip<br></span><span><br>
This is what is being imported by the spring orm bundle:<br><br></span><span> org.hibernate &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{version=[3.2.6.ga, 4.0.0), resolution:=optional}<br>
&nbsp;&nbsp;org.hibernate.cache &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{version=[3.2.6.ga, 4.0.0), resolution:=optional}<br>
&nbsp;&nbsp;org.hibernate.cfg &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{version=[3.2.6.ga, 4.0.0), resolution:=optional}<br>
&nbsp;&nbsp;org.hibernate.classic &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{version=[3.2.6.ga, 4.0.0), resolution:=optional}<br>
&nbsp;&nbsp;org.hibernate.connection &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{version=[3.2.6.ga, 4.0.0), resolution:=optional}<br>
&nbsp;&nbsp;org.hibernate.context &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{version=[3.2.6.ga, 4.0.0), resolution:=optional}<br>
&nbsp;&nbsp;org.hibernate.criterion &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{version=[3.2.6.ga, 4.0.0), resolution:=optional}<br>
&nbsp;&nbsp;org.hibernate.dialect &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{version=[3.2.6.ga, 4.0.0), resolution:=optional}<br>
&nbsp;&nbsp;org.hibernate.ejb &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{version=[3.3.0.ga, 4.0.0), resolution:=optional}<br>
&nbsp;&nbsp;org.hibernate.engine &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{version=[3.2.6.ga, 4.0.0), resolution:=optional}<br>
&nbsp;&nbsp;org.hibernate.event &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{version=[3.2.6.ga, 4.0.0), resolution:=optional}<br>
&nbsp;&nbsp;org.hibernate.event.def &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{version=[3.2.6.ga, 4.0.0), resolution:=optional}<br>
&nbsp;&nbsp;org.hibernate.exception &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{version=[3.2.6.ga, 4.0.0), resolution:=optional}<br>
&nbsp;&nbsp;org.hibernate.impl &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{version=[3.2.6.ga, 4.0.0), resolution:=optional}<br>
&nbsp;&nbsp;org.hibernate.jdbc &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{version=[3.2.6.ga, 4.0.0), resolution:=optional}<br>
&nbsp;&nbsp;org.hibernate.persister.entity &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{version=[3.2.6.ga, 4.0.0), resolution:=optional}<br>
&nbsp;&nbsp;org.hibernate.tool.hbm2ddl &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{version=[3.2.6.ga, 4.0.0), resolution:=optional}<br>
&nbsp;&nbsp;org.hibernate.transaction &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{version=[3.2.6.ga, 4.0.0), resolution:=optional}<br>
&nbsp;&nbsp;org.hibernate.transform &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{version=[3.2.6.ga, 4.0.0), resolution:=optional}<br>
&nbsp;&nbsp;org.hibernate.type &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{version=[3.2.6.ga, 4.0.0), resolution:=optional}<br>
&nbsp;&nbsp;org.hibernate.usertype &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{version=[3.2.6.ga, 4.0.0), resolution:=optional}<br>
&nbsp;&nbsp;org.hibernate.util &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{version=[3.2.6.ga, 4.0.0), resolution:=optional}<br></span><span><br>
The OSGi console tells me what is actually bound in the container:<br><br></span><span>osgi&gt; b 20<br>
org.springframework.orm_2.5.6.SEC01 [20]<br>
&nbsp;&nbsp;Id=20, Status=ACTIVE &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Data Root=/Users/dlaidlaw/Infor/workspaces/framework/.metadata/.plugins/org.eclipse.pde.core/SpringHibernateContainer/org.eclipse.osgi/bundles/20/data<br>
&nbsp;&nbsp;No registered services.<br>
&nbsp;&nbsp;No services in use.<br>
&nbsp;&nbsp;Exported packages<br>
&nbsp;&nbsp;&nbsp;&nbsp;org.springframework.orm; version="2.5.6.SEC01"[exported]<br>
&nbsp;&nbsp;&nbsp;&nbsp;org.springframework.orm.hibernate3; version="2.5.6.SEC01"[exported]<br>
&nbsp;&nbsp;&nbsp;&nbsp;org.springframework.orm.hibernate3.annotation; version="2.5.6.SEC01"[exported]<br>
&nbsp;&nbsp;&nbsp;&nbsp;org.springframework.orm.hibernate3.support; version="2.5.6.SEC01"[exported]<br>
&nbsp;&nbsp;&nbsp;&nbsp;org.springframework.orm.ibatis; version="2.5.6.SEC01"[exported]<br>
&nbsp;&nbsp;&nbsp;&nbsp;org.springframework.orm.ibatis.support; version="2.5.6.SEC01"[exported]<br>
&nbsp;&nbsp;&nbsp;&nbsp;org.springframework.orm.jdo; version="2.5.6.SEC01"[exported]<br>
&nbsp;&nbsp;&nbsp;&nbsp;org.springframework.orm.jdo.support; version="2.5.6.SEC01"[exported]<br>
&nbsp;&nbsp;&nbsp;&nbsp;org.springframework.orm.jpa; version="2.5.6.SEC01"[exported]<br>
&nbsp;&nbsp;&nbsp;&nbsp;org.springframework.orm.jpa.persistenceunit; version="2.5.6.SEC01"[exported]<br>
&nbsp;&nbsp;&nbsp;&nbsp;org.springframework.orm.jpa.support; version="2.5.6.SEC01"[exported]<br>
&nbsp;&nbsp;&nbsp;&nbsp;org.springframework.orm.jpa.vendor; version="2.5.6.SEC01"[exported]<br>
&nbsp;&nbsp;&nbsp;&nbsp;org.springframework.orm.toplink; version="2.5.6.SEC01"[exported]<br>
&nbsp;&nbsp;&nbsp;&nbsp;org.springframework.orm.toplink.support; version="2.5.6.SEC01"[exported]<br>
&nbsp;&nbsp;Imported packages<br>
&nbsp;&nbsp;&nbsp;&nbsp;javax.naming; version="0.0.0"&lt;org.eclipse.osgi_3.5.0.v20090127-1630 [0]&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;javax.persistence; version="1.99.0"&lt;com.springsource.javax.persistence_1.99.0 [1]&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;javax.persistence.spi; version="1.99.0"&lt;com.springsource.javax.persistence_1.99.0 [1]&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;javax.sql; version="0.0.0"&lt;org.eclipse.osgi_3.5.0.v20090127-1630 [0]&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;javax.transaction; version="1.1.0"&lt;com.springsource.javax.transaction_1.1.0 [23]&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;javax.xml.parsers; version="0.0.0"&lt;org.eclipse.osgi_3.5.0.v20090127-1630 [0]&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;org.aopalliance.intercept; version="1.0.0"&lt;com.springsource.org.aopalliance_1.0.0 [10]&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;org.apache.commons.logging; version="1.1.1"&lt;org.ops4j.pax.logging.pax-logging-api_1.3.0 [9]&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;org.hibernate.cfg; version="3.2.6.ga-SNAPSHOT"&lt;com.infor.org.hibernate_3.2.6.ga-SNAPSHOT [26]&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;org.hibernate.classic; version="3.2.6.ga-SNAPSHOT"&lt;com.infor.org.hibernate_3.2.6.ga-SNAPSHOT [26]&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;org.hibernate.connection; version="3.2.6.ga-SNAPSHOT"&lt;com.infor.org.hibernate_3.2.6.ga-SNAPSHOT [26]&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;org.hibernate.dialect; version="3.2.6.ga-SNAPSHOT"&lt;com.infor.org.hibernate_3.2.6.ga-SNAPSHOT [26]&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;org.hibernate.event; version="3.2.6.ga-SNAPSHOT"&lt;com.infor.org.hibernate_3.2.6.ga-SNAPSHOT [26]&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;org.hibernate.event.def; version="3.2.6.ga-SNAPSHOT"&lt;com.infor.org.hibernate_3.2.6.ga-SNAPSHOT [26]&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;org.hibernate.exception; version="3.2.6.ga-SNAPSHOT"&lt;com.infor.org.hibernate_3.2.6.ga-SNAPSHOT [26]&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;org.hibernate.persister.entity; version="3.2.6.ga-SNAPSHOT"&lt;com.infor.org.hibernate_3.2.6.ga-SNAPSHOT [26]&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;org.hibernate.tool.hbm2ddl; version="3.2.6.ga-SNAPSHOT"&lt;com.infor.org.hibernate_3.2.6.ga-SNAPSHOT [26]&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;org.hibernate.transform; version="3.2.6.ga-SNAPSHOT"&lt;com.infor.org.hibernate_3.2.6.ga-SNAPSHOT [26]&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;org.hibernate.type; version="3.2.6.ga-SNAPSHOT"&lt;com.infor.org.hibernate_3.2.6.ga-SNAPSHOT [26]&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;org.hibernate.usertype; version="3.2.6.ga-SNAPSHOT"&lt;com.infor.org.hibernate_3.2.6.ga-SNAPSHOT [26]&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;org.springframework.aop.scope; version="2.5.6.SEC01"&lt;org.springframework.aop_2.5.6.SEC01 [27]&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;org.springframework.aop.support; version="2.5.6.SEC01"&lt;org.springframework.aop_2.5.6.SEC01 [27]&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;org.springframework.beans; version="2.5.6.SEC01"&lt;org.springframework.beans_2.5.6.SEC01 [17]&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;org.springframework.beans.factory; version="2.5.6.SEC01"&lt;org.springframework.beans_2.5.6.SEC01 [17]&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;org.springframework.beans.factory.annotation; version="2.5.6.SEC01"&lt;org.springframework.beans_2.5.6.SEC01 [17]&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;org.springframework.beans.factory.config; version="2.5.6.SEC01"&lt;org.springframework.beans_2.5.6.SEC01 [17]&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;org.springframework.beans.factory.support; version="2.5.6.SEC01"&lt;org.springframework.beans_2.5.6.SEC01 [17]&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;org.springframework.context; version="2.5.6.SEC01"&lt;org.springframework.context_2.5.6.SEC01 [7]&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;org.springframework.context.weaving; version="2.5.6.SEC01"&lt;org.springframework.context_2.5.6.SEC01 [7]&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;org.springframework.core; version="2.5.6.SEC01"&lt;org.springframework.core_2.5.6.SEC01 [6]&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;org.springframework.core.io; version="2.5.6.SEC01"&lt;org.springframework.core_2.5.6.SEC01 [6]&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;org.springframework.core.io.support; version="2.5.6.SEC01"&lt;org.springframework.core_2.5.6.SEC01 [6]&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;org.springframework.core.type; version="2.5.6.SEC01"&lt;org.springframework.core_2.5.6.SEC01 [6]&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;org.springframework.core.type.classreading; version="2.5.6.SEC01"&lt;org.springframework.core_2.5.6.SEC01 [6]&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;org.springframework.core.type.filter; version="2.5.6.SEC01"&lt;org.springframework.core_2.5.6.SEC01 [6]&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;org.springframework.dao; version="2.5.6.SEC01"&lt;org.springframework.transaction_2.5.6.SEC01 [22]&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;org.springframework.dao.support; version="2.5.6.SEC01"&lt;org.springframework.transaction_2.5.6.SEC01 [22]&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;org.springframework.instrument.classloading; version="2.5.6.SEC01"&lt;org.springframework.context_2.5.6.SEC01 [7]&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;org.springframework.jdbc; version="2.5.6.SEC01"&lt;org.springframework.jdbc_2.5.6.SEC01 [18]&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;org.springframework.jdbc.datasource; version="2.5.6.SEC01"&lt;org.springframework.jdbc_2.5.6.SEC01 [18]&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;org.springframework.jdbc.datasource.lookup; version="2.5.6.SEC01"&lt;org.springframework.jdbc_2.5.6.SEC01 [18]&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;org.springframework.jdbc.support; version="2.5.6.SEC01"&lt;org.springframework.jdbc_2.5.6.SEC01 [18]&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;org.springframework.jdbc.support.lob; version="2.5.6.SEC01"&lt;org.springframework.jdbc_2.5.6.SEC01 [18]&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;org.springframework.jndi; version="2.5.6.SEC01"&lt;org.springframework.context_2.5.6.SEC01 [7]&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;org.springframework.transaction; version="2.5.6.SEC01"&lt;org.springframework.transaction_2.5.6.SEC01 [22]&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;org.springframework.transaction.jta; version="2.5.6.SEC01"&lt;org.springframework.transaction_2.5.6.SEC01 [22]&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;org.springframework.transaction.support; version="2.5.6.SEC01"&lt;org.springframework.transaction_2.5.6.SEC01 [22]&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;org.springframework.ui; version="2.5.6.SEC01"&lt;org.springframework.context_2.5.6.SEC01 [7]&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;org.springframework.util; version="2.5.6.SEC01"&lt;org.springframework.core_2.5.6.SEC01 [6]&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;org.springframework.util.xml; version="2.5.6.SEC01"&lt;org.springframework.core_2.5.6.SEC01 [6]&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;org.w3c.dom; version="0.0.0"&lt;org.eclipse.osgi_3.5.0.v20090127-1630 [0]&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;org.xml.sax; version="0.0.0"&lt;org.eclipse.osgi_3.5.0.v20090127-1630 [0]&gt;<br>
&nbsp;&nbsp;No fragment bundles<br>
&nbsp;&nbsp;Named class space<br>
&nbsp;&nbsp;&nbsp;&nbsp;org.springframework.orm; bundle-version="2.5.6.SEC01"[provided]<br>
&nbsp;&nbsp;No required bundles<br></span><span><br>
Note that only 12 of the 22 imports are actually bound. But the hibernate bundle exports all of those 22 imports. The diag command on spring orm says:<br><br></span><span>osgi&gt; diag 20<br><a href="initial <at> reference:file:org.springframework.orm-2.5.6.SEC01.jar/">initial <at> reference:file:org.springframework.orm-2.5.6.SEC01.jar/</a> [20]<br>
&nbsp;&nbsp;Direct constraints which are unresolved:<br>
&nbsp;&nbsp;&nbsp;&nbsp;Missing imported package com.ibatis.common.util_[2.3.0.677,3.0.0).<br>
&nbsp;&nbsp;&nbsp;&nbsp;Missing imported package com.ibatis.common.xml_[2.3.0.677,3.0.0).<br>
&nbsp;&nbsp;&nbsp;&nbsp;Missing imported package com.ibatis.sqlmap.client_[2.3.0.677,3.0.0).<br>
&nbsp;&nbsp;&nbsp;&nbsp;Missing imported package com.ibatis.sqlmap.client.event_[2.3.0.677,3.0.0).<br>
&nbsp;&nbsp;&nbsp;&nbsp;Missing imported package com.ibatis.sqlmap.engine.builder.xml_[2.3.0.677,3.0.0).<br>
&nbsp;&nbsp;&nbsp;&nbsp;Missing imported package com.ibatis.sqlmap.engine.impl_[2.3.0.677,3.0.0).<br>
&nbsp;&nbsp;&nbsp;&nbsp;Missing imported package com.ibatis.sqlmap.engine.transaction_[2.3.0.677,3.0.0).<br>
&nbsp;&nbsp;&nbsp;&nbsp;Missing imported package com.ibatis.sqlmap.engine.transaction.external_[2.3.0.677,3.0.0).<br>
&nbsp;&nbsp;&nbsp;&nbsp;Missing imported package com.ibatis.sqlmap.engine.type_[2.3.0.677,3.0.0).<br>
&nbsp;&nbsp;&nbsp;&nbsp;Missing imported package javax.jdo_[2.0.0,3.0.0).<br>
&nbsp;&nbsp;&nbsp;&nbsp;Missing imported package javax.jdo.datastore_[2.0.0,3.0.0).<br>
&nbsp;&nbsp;&nbsp;&nbsp;Missing imported package javax.servlet_[2.4.0,3.0.0).<br>
&nbsp;&nbsp;&nbsp;&nbsp;Missing imported package javax.servlet.http_[2.4.0,3.0.0).<br>
&nbsp;&nbsp;&nbsp;&nbsp;Missing imported package oracle.toplink.essentials.ejb.cmp3_[2.0.0.b41-beta2,3.0.0).<br>
&nbsp;&nbsp;&nbsp;&nbsp;Missing imported package oracle.toplink.essentials.expressions_[2.0.0.b41-beta2,3.0.0).<br>
&nbsp;&nbsp;&nbsp;&nbsp;Missing imported package oracle.toplink.essentials.internal.databaseaccess_[2.0.0.b41-beta2,3.0.0).<br>
&nbsp;&nbsp;&nbsp;&nbsp;Missing imported package oracle.toplink.essentials.internal.sessions_[2.0.0.b41-beta2,3.0.0).<br>
&nbsp;&nbsp;&nbsp;&nbsp;Missing imported package oracle.toplink.essentials.sessions_[2.0.0.b41-beta2,3.0.0).<br>
&nbsp;&nbsp;&nbsp;&nbsp;Missing imported package oracle.toplink.exceptions_[10.1.3,11.0.0).<br>
&nbsp;&nbsp;&nbsp;&nbsp;Missing imported package oracle.toplink.expressions_[10.1.3,11.0.0).<br>
&nbsp;&nbsp;&nbsp;&nbsp;Missing imported package oracle.toplink.internal.databaseaccess_[10.1.3,11.0.0).<br>
&nbsp;&nbsp;&nbsp;&nbsp;Missing imported package oracle.toplink.jndi_[10.1.3,11.0.0).<br>
&nbsp;&nbsp;&nbsp;&nbsp;Missing imported package oracle.toplink.logging_[10.1.3,11.0.0).<br>
&nbsp;&nbsp;&nbsp;&nbsp;Missing imported package oracle.toplink.publicinterface_[10.1.3,11.0.0).<br>
&nbsp;&nbsp;&nbsp;&nbsp;Missing imported package oracle.toplink.queryframework_[10.1.3,11.0.0).<br>
&nbsp;&nbsp;&nbsp;&nbsp;Missing imported package oracle.toplink.sessionbroker_[10.1.3,11.0.0).<br>
&nbsp;&nbsp;&nbsp;&nbsp;Missing imported package oracle.toplink.sessions_[10.1.3,11.0.0).<br>
&nbsp;&nbsp;&nbsp;&nbsp;Missing imported package oracle.toplink.threetier_[10.1.3,11.0.0).<br>
&nbsp;&nbsp;&nbsp;&nbsp;Missing imported package oracle.toplink.tools.sessionconfiguration_[10.1.3,11.0.0).<br>
&nbsp;&nbsp;&nbsp;&nbsp;Missing imported package oracle.toplink.tools.sessionmanagement_[10.1.3,11.0.0).<br>
&nbsp;&nbsp;&nbsp;&nbsp;Missing imported package org.apache.openjpa.persistence_[1.0.2,2.0.0).<br>
&nbsp;&nbsp;&nbsp;&nbsp;Missing imported package org.eclipse.persistence.expressions_[1.0.0,2.0.0).<br>
&nbsp;&nbsp;&nbsp;&nbsp;Missing imported package org.eclipse.persistence.internal.databaseaccess_[1.0.0,2.0.0).<br>
&nbsp;&nbsp;&nbsp;&nbsp;Missing imported package org.eclipse.persistence.internal.sessions_[1.0.0,2.0.0).<br>
&nbsp;&nbsp;&nbsp;&nbsp;Missing imported package org.eclipse.persistence.jpa_[1.0.0,2.0.0).<br>
&nbsp;&nbsp;&nbsp;&nbsp;Missing imported package org.eclipse.persistence.sessions_[1.0.0,2.0.0).<br>
&nbsp;&nbsp;&nbsp;&nbsp;Missing imported package org.hibernate.ejb_[3.3.0.ga,4.0.0).<br>
&nbsp;&nbsp;&nbsp;&nbsp;Missing imported package org.springframework.web.context_[2.5.6.SEC01,2.5.6.SEC01].<br>
&nbsp;&nbsp;&nbsp;&nbsp;Missing imported package org.springframework.web.context.request_[2.5.6.SEC01,2.5.6.SEC01].<br>
&nbsp;&nbsp;&nbsp;&nbsp;Missing imported package org.springframework.web.context.support_[2.5.6.SEC01,2.5.6.SEC01].<br>
&nbsp;&nbsp;&nbsp;&nbsp;Missing imported package org.springframework.web.filter_[2.5.6.SEC01,2.5.6.SEC01].<br></span><span><br>
Can anyone explain why the other packages would not be resolved?<br><br>
-- <br>
Best Regards,<br></span><span><br>
Don Laidlaw | Sr. Research Engineer |</span><span> Infor | office: +1 902-576-5185 | mobile: +1 902-401-6771 | <a href="don.laidlaw@...">don.laidlaw@...</a><br></span><span><br></span>
</div>
Thomas Watson | 1 Sep 19:24 2009
Picon

Re: Optional package import resolving problem

Is it possible that there are some uses constraint issues. The resolver will drop optional imports if their import wires would cause a uses constraint violation (inconsistent class space). Have you tried the official 3.5.0 release of Equinox (or better even one of the 3.5.1 builds)? The version you are using looks to be some build of 3.5.0 M5.

Tom



Don Laidlaw ---09/01/2009 11:34:08 AM---Hi Everyone,


From:

Don Laidlaw <Don.Laidlaw-wzDqe+/AE4kAvxtiuMwx3w@public.gmane.org>

To:

Equinox development mailing list <equinox-dev <at> eclipse.org>

Date:

09/01/2009 11:34 AM

Subject:

[equinox-dev] Optional package import resolving problem



Hi Everyone,

I am using org.eclipse.osgi_3.5.0.v20090127-1630 and starting a small container with the OSGi Framework launch configuration. In this container I have the Spring framework and its minimal dependencies. All bundles start OK.

The Spring framwork ORM bundle has imports for the hibernate packages, all marked as optional. The hibernate (and only one bundle is in the container that exports hibernate bundles) bundle is started before the spring framework bundles using the run levels on the launch configuration.

The problem is that only some of the optional hibernate imports are actually resolved in the spring orm bundle. I can find no explanation for that behaviour at all. This is what is being exported by the hibernate bundle:

Snip...
org.hibernate {version=3.2.6.ga-SNAPSHOT}
org.hibernate.action {version=3.2.6.ga-SNAPSHOT}
org.hibernate.bytecode {version=3.2.6.ga-SNAPSHOT}
org.hibernate.bytecode.cglib {version=3.2.6.ga-SNAPSHOT}
org.hibernate.bytecode.javassist {version=3.2.6.ga-SNAPSHOT}
org.hibernate.bytecode.util {version=3.2.6.ga-SNAPSHOT}
org.hibernate.cache {version=3.2.6.ga-SNAPSHOT}
org.hibernate.cache.entry {version=3.2.6.ga-SNAPSHOT}
org.hibernate.cfg {version=3.2.6.ga-SNAPSHOT}
org.hibernate.classic {version=3.2.6.ga-SNAPSHOT}
org.hibernate.collection {version=3.2.6.ga-SNAPSHOT}
org.hibernate.connection {version=3.2.6.ga-SNAPSHOT}
org.hibernate.context {version=3.2.6.ga-SNAPSHOT}
org.hibernate.criterion {version=3.2.6.ga-SNAPSHOT}
org.hibernate.dialect {version=3.2.6.ga-SNAPSHOT}
org.hibernate.dialect.function {version=3.2.6.ga-SNAPSHOT}
org.hibernate.dialect.lock {version=3.2.6.ga-SNAPSHOT}
org.hibernate.engine {version=3.2.6.ga-SNAPSHOT}
org.hibernate.engine.loading {version=3.2.6.ga-SNAPSHOT}
org.hibernate.engine.query {version=3.2.6.ga-SNAPSHOT}
org.hibernate.engine.query.sql {version=3.2.6.ga-SNAPSHOT}
org.hibernate.engine.transaction {version=3.2.6.ga-SNAPSHOT}
org.hibernate.event {version=3.2.6.ga-SNAPSHOT}
org.hibernate.event.def {version=3.2.6.ga-SNAPSHOT}
org.hibernate.exception {version=3.2.6.ga-SNAPSHOT}
org.hibernate.hql {version=3.2.6.ga-SNAPSHOT}
org.hibernate.hql.antlr {version=3.2.6.ga-SNAPSHOT}
org.hibernate.hql.ast {version=3.2.6.ga-SNAPSHOT}
org.hibernate.hql.ast.exec {version=3.2.6.ga-SNAPSHOT}
org.hibernate.hql.ast.tree {version=3.2.6.ga-SNAPSHOT}
org.hibernate.hql.ast.util {version=3.2.6.ga-SNAPSHOT}
org.hibernate.hql.classic {version=3.2.6.ga-SNAPSHOT}
org.hibernate.id {version=3.2.6.ga-SNAPSHOT}
org.hibernate.id.enhanced {version=3.2.6.ga-SNAPSHOT}
org.hibernate.id.insert {version=3.2.6.ga-SNAPSHOT}
org.hibernate.impl {version=3.2.6.ga-SNAPSHOT}
org.hibernate.intercept {version=3.2.6.ga-SNAPSHOT}
org.hibernate.intercept.cglib {version=3.2.6.ga-SNAPSHOT}
org.hibernate.intercept.javassist {version=3.2.6.ga-SNAPSHOT}
org.hibernate.jdbc {version=3.2.6.ga-SNAPSHOT}
org.hibernate.jmx {version=3.2.6.ga-SNAPSHOT}
org.hibernate.loader {version=3.2.6.ga-SNAPSHOT}
org.hibernate.loader.collection {version=3.2.6.ga-SNAPSHOT}
org.hibernate.loader.criteria {version=3.2.6.ga-SNAPSHOT}
org.hibernate.loader.custom {version=3.2.6.ga-SNAPSHOT}
org.hibernate.loader.custom.sql {version=3.2.6.ga-SNAPSHOT}
org.hibernate.loader.entity {version=3.2.6.ga-SNAPSHOT}
org.hibernate.loader.hql {version=3.2.6.ga-SNAPSHOT}
org.hibernate.lob {version=3.2.6.ga-SNAPSHOT}
org.hibernate.mapping {version=3.2.6.ga-SNAPSHOT}
org.hibernate.metadata {version=3.2.6.ga-SNAPSHOT}
org.hibernate.param {version=3.2.6.ga-SNAPSHOT}
org.hibernate.persister {version=3.2.6.ga-SNAPSHOT}
org.hibernate.persister.collection {version=3.2.6.ga-SNAPSHOT}
org.hibernate.persister.entity {version=3.2.6.ga-SNAPSHOT}
org.hibernate.pretty {version=3.2.6.ga-SNAPSHOT}
org.hibernate.property {version=3.2.6.ga-SNAPSHOT}
org.hibernate.proxy {version=3.2.6.ga-SNAPSHOT}
org.hibernate.proxy.dom4j {version=3.2.6.ga-SNAPSHOT}
org.hibernate.proxy.map {version=3.2.6.ga-SNAPSHOT}
org.hibernate.proxy.pojo {version=3.2.6.ga-SNAPSHOT}
org.hibernate.proxy.pojo.cglib {version=3.2.6.ga-SNAPSHOT}
org.hibernate.proxy.pojo.javassist {version=3.2.6.ga-SNAPSHOT}
org.hibernate.secure {version=3.2.6.ga-SNAPSHOT}
org.hibernate.sql {version=3.2.6.ga-SNAPSHOT}
org.hibernate.stat {version=3.2.6.ga-SNAPSHOT}
org.hibernate.tool.hbm2ddl {version=3.2.6.ga-SNAPSHOT}
org.hibernate.tool.instrument {version=3.2.6.ga-SNAPSHOT}
org.hibernate.tool.instrument.cglib {version=3.2.6.ga-SNAPSHOT}
org.hibernate.tool.instrument.javassist{version=3.2.6.ga-SNAPSHOT}
org.hibernate.transaction {version=3.2.6.ga-SNAPSHOT}
org.hibernate.transform {version=3.2.6.ga-SNAPSHOT}
org.hibernate.tuple {version=3.2.6.ga-SNAPSHOT}
org.hibernate.tuple.component {version=3.2.6.ga-SNAPSHOT}
org.hibernate.tuple.entity {version=3.2.6.ga-SNAPSHOT}
org.hibernate.type {version=3.2.6.ga-SNAPSHOT}
org.hibernate.usertype {version=3.2.6.ga-SNAPSHOT}
org.hibernate.util {version=3.2.6.ga-SNAPSHOT}
...snip

This is what is being imported by the spring orm bundle:

org.hibernate {version=[3.2.6.ga, 4.0.0), resolution:=optional}
org.hibernate.cache {version=[3.2.6.ga, 4.0.0), resolution:=optional}
org.hibernate.cfg {version=[3.2.6.ga, 4.0.0), resolution:=optional}
org.hibernate.classic {version=[3.2.6.ga, 4.0.0), resolution:=optional}
org.hibernate.connection {version=[3.2.6.ga, 4.0.0), resolution:=optional}
org.hibernate.context {version=[3.2.6.ga, 4.0.0), resolution:=optional}
org.hibernate.criterion {version=[3.2.6.ga, 4.0.0), resolution:=optional}
org.hibernate.dialect {version=[3.2.6.ga, 4.0.0), resolution:=optional}
org.hibernate.ejb {version=[3.3.0.ga, 4.0.0), resolution:=optional}
org.hibernate.engine {version=[3.2.6.ga, 4.0.0), resolution:=optional}
org.hibernate.event {version=[3.2.6.ga, 4.0.0), resolution:=optional}
org.hibernate.event.def {version=[3.2.6.ga, 4.0.0), resolution:=optional}
org.hibernate.exception {version=[3.2.6.ga, 4.0.0), resolution:=optional}
org.hibernate.impl {version=[3.2.6.ga, 4.0.0), resolution:=optional}
org.hibernate.jdbc {version=[3.2.6.ga, 4.0.0), resolution:=optional}
org.hibernate.persister.entity {version=[3.2.6.ga, 4.0.0), resolution:=optional}
org.hibernate.tool.hbm2ddl {version=[3.2.6.ga, 4.0.0), resolution:=optional}
org.hibernate.transaction {version=[3.2.6.ga, 4.0.0), resolution:=optional}
org.hibernate.transform {version=[3.2.6.ga, 4.0.0), resolution:=optional}
org.hibernate.type {version=[3.2.6.ga, 4.0.0), resolution:=optional}
org.hibernate.usertype {version=[3.2.6.ga, 4.0.0), resolution:=optional}
org.hibernate.util {version=[3.2.6.ga, 4.0.0), resolution:=optional}

The OSGi console tells me what is actually bound in the container:

osgi> b 20
org.springframework.orm_2.5.6.SEC01 [20]
Id=20, Status=ACTIVE Data Root=/Users/dlaidlaw/Infor/workspaces/framework/.metadata/.plugins/org.eclipse.pde.core/SpringHibernateContainer/org.eclipse.osgi/bundles/20/data
No registered services.
No services in use.
Exported packages
org.springframework.orm; version="2.5.6.SEC01"[exported]
org.springframework.orm.hibernate3; version="2.5.6.SEC01"[exported]
org.springframework.orm.hibernate3.annotation; version="2.5.6.SEC01"[exported]
org.springframework.orm.hibernate3.support; version="2.5.6.SEC01"[exported]
org.springframework.orm.ibatis; version="2.5.6.SEC01"[exported]
org.springframework.orm.ibatis.support; version="2.5.6.SEC01"[exported]
org.springframework.orm.jdo; version="2.5.6.SEC01"[exported]
org.springframework.orm.jdo.support; version="2.5.6.SEC01"[exported]
org.springframework.orm.jpa; version="2.5.6.SEC01"[exported]
org.springframework.orm.jpa.persistenceunit; version="2.5.6.SEC01"[exported]
org.springframework.orm.jpa.support; version="2.5.6.SEC01"[exported]
org.springframework.orm.jpa.vendor; version="2.5.6.SEC01"[exported]
org.springframework.orm.toplink; version="2.5.6.SEC01"[exported]
org.springframework.orm.toplink.support; version="2.5.6.SEC01"[exported]
Imported packages
javax.naming; version="0.0.0"<org.eclipse.osgi_3.5.0.v20090127-1630 [0]>
javax.persistence; version="1.99.0"<com.springsource.javax.persistence_1.99.0 [1]>
javax.persistence.spi; version="1.99.0"<com.springsource.javax.persistence_1.99.0 [1]>
javax.sql; version="0.0.0"<org.eclipse.osgi_3.5.0.v20090127-1630 [0]>
javax.transaction; version="1.1.0"<com.springsource.javax.transaction_1.1.0 [23]>
javax.xml.parsers; version="0.0.0"<org.eclipse.osgi_3.5.0.v20090127-1630 [0]>
org.aopalliance.intercept; version="1.0.0"<com.springsource.org.aopalliance_1.0.0 [10]>
org.apache.commons.logging; version="1.1.1"<org.ops4j.pax.logging.pax-logging-api_1.3.0 [9]>
org.hibernate.cfg; version="3.2.6.ga-SNAPSHOT"<com.infor.org.hibernate_3.2.6.ga-SNAPSHOT [26]>
org.hibernate.classic; version="3.2.6.ga-SNAPSHOT"<com.infor.org.hibernate_3.2.6.ga-SNAPSHOT [26]>
org.hibernate.connection; version="3.2.6.ga-SNAPSHOT"<com.infor.org.hibernate_3.2.6.ga-SNAPSHOT [26]>
org.hibernate.dialect; version="3.2.6.ga-SNAPSHOT"<com.infor.org.hibernate_3.2.6.ga-SNAPSHOT [26]>
org.hibernate.event; version="3.2.6.ga-SNAPSHOT"<com.infor.org.hibernate_3.2.6.ga-SNAPSHOT [26]>
org.hibernate.event.def; version="3.2.6.ga-SNAPSHOT"<com.infor.org.hibernate_3.2.6.ga-SNAPSHOT [26]>
org.hibernate.exception; version="3.2.6.ga-SNAPSHOT"<com.infor.org.hibernate_3.2.6.ga-SNAPSHOT [26]>
org.hibernate.persister.entity; version="3.2.6.ga-SNAPSHOT"<com.infor.org.hibernate_3.2.6.ga-SNAPSHOT [26]>
org.hibernate.tool.hbm2ddl; version="3.2.6.ga-SNAPSHOT"<com.infor.org.hibernate_3.2.6.ga-SNAPSHOT [26]>
org.hibernate.transform; version="3.2.6.ga-SNAPSHOT"<com.infor.org.hibernate_3.2.6.ga-SNAPSHOT [26]>
org.hibernate.type; version="3.2.6.ga-SNAPSHOT"<com.infor.org.hibernate_3.2.6.ga-SNAPSHOT [26]>
org.hibernate.usertype; version="3.2.6.ga-SNAPSHOT"<com.infor.org.hibernate_3.2.6.ga-SNAPSHOT [26]>
org.springframework.aop.scope; version="2.5.6.SEC01"<org.springframework.aop_2.5.6.SEC01 [27]>
org.springframework.aop.support; version="2.5.6.SEC01"<org.springframework.aop_2.5.6.SEC01 [27]>
org.springframework.beans; version="2.5.6.SEC01"<org.springframework.beans_2.5.6.SEC01 [17]>
org.springframework.beans.factory; version="2.5.6.SEC01"<org.springframework.beans_2.5.6.SEC01 [17]>
org.springframework.beans.factory.annotation; version="2.5.6.SEC01"<org.springframework.beans_2.5.6.SEC01 [17]>
org.springframework.beans.factory.config; version="2.5.6.SEC01"<org.springframework.beans_2.5.6.SEC01 [17]>
org.springframework.beans.factory.support; version="2.5.6.SEC01"<org.springframework.beans_2.5.6.SEC01 [17]>
org.springframework.context; version="2.5.6.SEC01"<org.springframework.context_2.5.6.SEC01 [7]>
org.springframework.context.weaving; version="2.5.6.SEC01"<org.springframework.context_2.5.6.SEC01 [7]>
org.springframework.core; version="2.5.6.SEC01"<org.springframework.core_2.5.6.SEC01 [6]>
org.springframework.core.io; version="2.5.6.SEC01"<org.springframework.core_2.5.6.SEC01 [6]>
org.springframework.core.io.support; version="2.5.6.SEC01"<org.springframework.core_2.5.6.SEC01 [6]>
org.springframework.core.type; version="2.5.6.SEC01"<org.springframework.core_2.5.6.SEC01 [6]>
org.springframework.core.type.classreading; version="2.5.6.SEC01"<org.springframework.core_2.5.6.SEC01 [6]>
org.springframework.core.type.filter; version="2.5.6.SEC01"<org.springframework.core_2.5.6.SEC01 [6]>
org.springframework.dao; version="2.5.6.SEC01"<org.springframework.transaction_2.5.6.SEC01 [22]>
org.springframework.dao.support; version="2.5.6.SEC01"<org.springframework.transaction_2.5.6.SEC01 [22]>
org.springframework.instrument.classloading; version="2.5.6.SEC01"<org.springframework.context_2.5.6.SEC01 [7]>
org.springframework.jdbc; version="2.5.6.SEC01"<org.springframework.jdbc_2.5.6.SEC01 [18]>
org.springframework.jdbc.datasource; version="2.5.6.SEC01"<org.springframework.jdbc_2.5.6.SEC01 [18]>
org.springframework.jdbc.datasource.lookup; version="2.5.6.SEC01"<org.springframework.jdbc_2.5.6.SEC01 [18]>
org.springframework.jdbc.support; version="2.5.6.SEC01"<org.springframework.jdbc_2.5.6.SEC01 [18]>
org.springframework.jdbc.support.lob; version="2.5.6.SEC01"<org.springframework.jdbc_2.5.6.SEC01 [18]>
org.springframework.jndi; version="2.5.6.SEC01"<org.springframework.context_2.5.6.SEC01 [7]>
org.springframework.transaction; version="2.5.6.SEC01"<org.springframework.transaction_2.5.6.SEC01 [22]>
org.springframework.transaction.jta; version="2.5.6.SEC01"<org.springframework.transaction_2.5.6.SEC01 [22]>
org.springframework.transaction.support; version="2.5.6.SEC01"<org.springframework.transaction_2.5.6.SEC01 [22]>
org.springframework.ui; version="2.5.6.SEC01"<org.springframework.context_2.5.6.SEC01 [7]>
org.springframework.util; version="2.5.6.SEC01"<org.springframework.core_2.5.6.SEC01 [6]>
org.springframework.util.xml; version="2.5.6.SEC01"<org.springframework.core_2.5.6.SEC01 [6]>
org.w3c.dom; version="0.0.0"<org.eclipse.osgi_3.5.0.v20090127-1630 [0]>
org.xml.sax; version="0.0.0"<org.eclipse.osgi_3.5.0.v20090127-1630 [0]>
No fragment bundles
Named class space
org.springframework.orm; bundle-version="2.5.6.SEC01"[provided]
No required bundles

Note that only 12 of the 22 imports are actually bound. But the hibernate bundle exports all of those 22 imports. The diag command on spring orm says:

osgi> diag 20
initial <at> reference:file:org.springframework.orm-2.5.6.SEC01.jar/ [20]
Direct constraints which are unresolved:
Missing imported package com.ibatis.common.util_[2.3.0.677,3.0.0).
Missing imported package com.ibatis.common.xml_[2.3.0.677,3.0.0).
Missing imported package com.ibatis.sqlmap.client_[2.3.0.677,3.0.0).
Missing imported package com.ibatis.sqlmap.client.event_[2.3.0.677,3.0.0).
Missing imported package com.ibatis.sqlmap.engine.builder.xml_[2.3.0.677,3.0.0).
Missing imported package com.ibatis.sqlmap.engine.impl_[2.3.0.677,3.0.0).
Missing imported package com.ibatis.sqlmap.engine.transaction_[2.3.0.677,3.0.0).
Missing imported package com.ibatis.sqlmap.engine.transaction.external_[2.3.0.677,3.0.0).
Missing imported package com.ibatis.sqlmap.engine.type_[2.3.0.677,3.0.0).
Missing imported package javax.jdo_[2.0.0,3.0.0).
Missing imported package javax.jdo.datastore_[2.0.0,3.0.0).
Missing imported package javax.servlet_[2.4.0,3.0.0).
Missing imported package javax.servlet.http_[2.4.0,3.0.0).
Missing imported package oracle.toplink.essentials.ejb.cmp3_[2.0.0.b41-beta2,3.0.0).
Missing imported package oracle.toplink.essentials.expressions_[2.0.0.b41-beta2,3.0.0).
Missing imported package oracle.toplink.essentials.internal.databaseaccess_[2.0.0.b41-beta2,3.0.0).
Missing imported package oracle.toplink.essentials.internal.sessions_[2.0.0.b41-beta2,3.0.0).
Missing imported package oracle.toplink.essentials.sessions_[2.0.0.b41-beta2,3.0.0).
Missing imported package oracle.toplink.exceptions_[10.1.3,11.0.0).
Missing imported package oracle.toplink.expressions_[10.1.3,11.0.0).
Missing imported package oracle.toplink.internal.databaseaccess_[10.1.3,11.0.0).
Missing imported package oracle.toplink.jndi_[10.1.3,11.0.0).
Missing imported package oracle.toplink.logging_[10.1.3,11.0.0).
Missing imported package oracle.toplink.publicinterface_[10.1.3,11.0.0).
Missing imported package oracle.toplink.queryframework_[10.1.3,11.0.0).
Missing imported package oracle.toplink.sessionbroker_[10.1.3,11.0.0).
Missing imported package oracle.toplink.sessions_[10.1.3,11.0.0).
Missing imported package oracle.toplink.threetier_[10.1.3,11.0.0).
Missing imported package oracle.toplink.tools.sessionconfiguration_[10.1.3,11.0.0).
Missing imported package oracle.toplink.tools.sessionmanagement_[10.1.3,11.0.0).
Missing imported package org.apache.openjpa.persistence_[1.0.2,2.0.0).
Missing imported package org.eclipse.persistence.expressions_[1.0.0,2.0.0).
Missing imported package org.eclipse.persistence.internal.databaseaccess_[1.0.0,2.0.0).
Missing imported package org.eclipse.persistence.internal.sessions_[1.0.0,2.0.0).
Missing imported package org.eclipse.persistence.jpa_[1.0.0,2.0.0).
Missing imported package org.eclipse.persistence.sessions_[1.0.0,2.0.0).
Missing imported package org.hibernate.ejb_[3.3.0.ga,4.0.0).
Missing imported package org.springframework.web.context_[2.5.6.SEC01,2.5.6.SEC01].
Missing imported package org.springframework.web.context.request_[2.5.6.SEC01,2.5.6.SEC01].
Missing imported package org.springframework.web.context.support_[2.5.6.SEC01,2.5.6.SEC01].
Missing imported package org.springframework.web.filter_[2.5.6.SEC01,2.5.6.SEC01].

Can anyone explain why the other packages would not be resolved?

--
Best Regards,

Don Laidlaw | Sr. Research Engineer | Infor | office: +1 902-576-5185 | mobile: +1 902-401-6771 | don.laidlaw-wzDqe+/AE4kAvxtiuMwx3w@public.gmane.org
_______________________________________________
equinox-dev mailing list
equinox-dev-j9T/66MeVpFAfugRpC6u6w@public.gmane.org
https://dev.eclipse.org/mailman/listinfo/equinox-dev


<div>
<p>Is it possible that there are some uses constraint issues.  The resolver will drop optional imports if their import wires would cause a uses constraint violation (inconsistent class space).  Have you tried the official 3.5.0 release of Equinox (or better even one of the 3.5.1 builds)?  The version you are using looks to be some build of 3.5.0 M5.<br><br>
Tom<br><br><br><br>Don Laidlaw ---09/01/2009 11:34:08 AM---Hi Everyone,<br><br></p>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr valign="top">
<td width="1%">
<br>From:</td>
<td width="100%">
<br>Don Laidlaw &lt;Don.Laidlaw@...&gt;</td>
</tr>
<tr valign="top">
<td width="1%">
<br>To:</td>
<td width="100%">
<br>Equinox development mailing list &lt;equinox-dev <at> eclipse.org&gt;</td>
</tr>
<tr valign="top">
<td width="1%">
<br>Date:</td>
<td width="100%">
<br>09/01/2009 11:34 AM</td>
</tr>
<tr valign="top">
<td width="1%">
<br>Subject:</td>
<td width="100%">
<br>[equinox-dev] Optional package import resolving problem</td>
</tr>
</table>
<br><br><br>Hi Everyone,<br><br>
I am using org.eclipse.osgi_3.5.0.v20090127-1630 and starting a small container with the OSGi Framework launch configuration. In this container I have the Spring framework and its minimal dependencies. All bundles start OK.<br><br>
The Spring framwork ORM bundle has imports for the hibernate packages, all marked as optional. The hibernate (and only one bundle is in the container that exports hibernate bundles) bundle is started before the spring framework bundles using the run levels on the launch configuration.<br><br>
The problem is that only some of the optional hibernate imports are actually resolved in the spring orm bundle. I can find no explanation for that behaviour at all. This is what is being exported by the hibernate bundle:<br><br>
Snip...<br>
 org.hibernate                         {version=3.2.6.ga-SNAPSHOT}<br>
  org.hibernate.action                  {version=3.2.6.ga-SNAPSHOT}<br>
  org.hibernate.bytecode                {version=3.2.6.ga-SNAPSHOT}<br>
  org.hibernate.bytecode.cglib          {version=3.2.6.ga-SNAPSHOT}<br>
  org.hibernate.bytecode.javassist      {version=3.2.6.ga-SNAPSHOT}<br>
  org.hibernate.bytecode.util           {version=3.2.6.ga-SNAPSHOT}<br>
  org.hibernate.cache                   {version=3.2.6.ga-SNAPSHOT}<br>
  org.hibernate.cache.entry             {version=3.2.6.ga-SNAPSHOT}<br>
  org.hibernate.cfg                     {version=3.2.6.ga-SNAPSHOT}<br>
  org.hibernate.classic                 {version=3.2.6.ga-SNAPSHOT}<br>
  org.hibernate.collection              {version=3.2.6.ga-SNAPSHOT}<br>
  org.hibernate.connection              {version=3.2.6.ga-SNAPSHOT}<br>
  org.hibernate.context                 {version=3.2.6.ga-SNAPSHOT}<br>
  org.hibernate.criterion               {version=3.2.6.ga-SNAPSHOT}<br>
  org.hibernate.dialect                 {version=3.2.6.ga-SNAPSHOT}<br>
  org.hibernate.dialect.function        {version=3.2.6.ga-SNAPSHOT}<br>
  org.hibernate.dialect.lock            {version=3.2.6.ga-SNAPSHOT}<br>
  org.hibernate.engine                  {version=3.2.6.ga-SNAPSHOT}<br>
  org.hibernate.engine.loading          {version=3.2.6.ga-SNAPSHOT}<br>
  org.hibernate.engine.query            {version=3.2.6.ga-SNAPSHOT}<br>
  org.hibernate.engine.query.sql        {version=3.2.6.ga-SNAPSHOT}<br>
  org.hibernate.engine.transaction      {version=3.2.6.ga-SNAPSHOT}<br>
  org.hibernate.event                   {version=3.2.6.ga-SNAPSHOT}<br>
  org.hibernate.event.def               {version=3.2.6.ga-SNAPSHOT}<br>
  org.hibernate.exception               {version=3.2.6.ga-SNAPSHOT}<br>
  org.hibernate.hql                     {version=3.2.6.ga-SNAPSHOT}<br>
  org.hibernate.hql.antlr               {version=3.2.6.ga-SNAPSHOT}<br>
  org.hibernate.hql.ast                 {version=3.2.6.ga-SNAPSHOT}<br>
  org.hibernate.hql.ast.exec            {version=3.2.6.ga-SNAPSHOT}<br>
  org.hibernate.hql.ast.tree            {version=3.2.6.ga-SNAPSHOT}<br>
  org.hibernate.hql.ast.util            {version=3.2.6.ga-SNAPSHOT}<br>
  org.hibernate.hql.classic             {version=3.2.6.ga-SNAPSHOT}<br>
  org.hibernate.id                      {version=3.2.6.ga-SNAPSHOT}<br>
  org.hibernate.id.enhanced             {version=3.2.6.ga-SNAPSHOT}<br>
  org.hibernate.id.insert               {version=3.2.6.ga-SNAPSHOT}<br>
  org.hibernate.impl                    {version=3.2.6.ga-SNAPSHOT}<br>
  org.hibernate.intercept               {version=3.2.6.ga-SNAPSHOT}<br>
  org.hibernate.intercept.cglib         {version=3.2.6.ga-SNAPSHOT}<br>
  org.hibernate.intercept.javassist     {version=3.2.6.ga-SNAPSHOT}<br>
  org.hibernate.jdbc                    {version=3.2.6.ga-SNAPSHOT}<br>
  org.hibernate.jmx                     {version=3.2.6.ga-SNAPSHOT}<br>
  org.hibernate.loader                  {version=3.2.6.ga-SNAPSHOT}<br>
  org.hibernate.loader.collection       {version=3.2.6.ga-SNAPSHOT}<br>
  org.hibernate.loader.criteria         {version=3.2.6.ga-SNAPSHOT}<br>
  org.hibernate.loader.custom           {version=3.2.6.ga-SNAPSHOT}<br>
  org.hibernate.loader.custom.sql       {version=3.2.6.ga-SNAPSHOT}<br>
  org.hibernate.loader.entity           {version=3.2.6.ga-SNAPSHOT}<br>
  org.hibernate.loader.hql              {version=3.2.6.ga-SNAPSHOT}<br>
  org.hibernate.lob                     {version=3.2.6.ga-SNAPSHOT}<br>
  org.hibernate.mapping                 {version=3.2.6.ga-SNAPSHOT}<br>
  org.hibernate.metadata                {version=3.2.6.ga-SNAPSHOT}<br>
  org.hibernate.param                   {version=3.2.6.ga-SNAPSHOT}<br>
  org.hibernate.persister               {version=3.2.6.ga-SNAPSHOT}<br>
  org.hibernate.persister.collection    {version=3.2.6.ga-SNAPSHOT}<br>
  org.hibernate.persister.entity        {version=3.2.6.ga-SNAPSHOT}<br>
  org.hibernate.pretty                  {version=3.2.6.ga-SNAPSHOT}<br>
  org.hibernate.property                {version=3.2.6.ga-SNAPSHOT}<br>
  org.hibernate.proxy                   {version=3.2.6.ga-SNAPSHOT}<br>
  org.hibernate.proxy.dom4j             {version=3.2.6.ga-SNAPSHOT}<br>
  org.hibernate.proxy.map               {version=3.2.6.ga-SNAPSHOT}<br>
  org.hibernate.proxy.pojo              {version=3.2.6.ga-SNAPSHOT}<br>
  org.hibernate.proxy.pojo.cglib        {version=3.2.6.ga-SNAPSHOT}<br>
  org.hibernate.proxy.pojo.javassist    {version=3.2.6.ga-SNAPSHOT}<br>
  org.hibernate.secure                  {version=3.2.6.ga-SNAPSHOT}<br>
  org.hibernate.sql                     {version=3.2.6.ga-SNAPSHOT}<br>
  org.hibernate.stat                    {version=3.2.6.ga-SNAPSHOT}<br>
  org.hibernate.tool.hbm2ddl            {version=3.2.6.ga-SNAPSHOT}<br>
  org.hibernate.tool.instrument         {version=3.2.6.ga-SNAPSHOT}<br>
  org.hibernate.tool.instrument.cglib   {version=3.2.6.ga-SNAPSHOT}<br>
  org.hibernate.tool.instrument.javassist{version=3.2.6.ga-SNAPSHOT}<br>
  org.hibernate.transaction             {version=3.2.6.ga-SNAPSHOT}<br>
  org.hibernate.transform               {version=3.2.6.ga-SNAPSHOT}<br>
  org.hibernate.tuple                   {version=3.2.6.ga-SNAPSHOT}<br>
  org.hibernate.tuple.component         {version=3.2.6.ga-SNAPSHOT}<br>
  org.hibernate.tuple.entity            {version=3.2.6.ga-SNAPSHOT}<br>
  org.hibernate.type                    {version=3.2.6.ga-SNAPSHOT}<br>
  org.hibernate.usertype                {version=3.2.6.ga-SNAPSHOT}<br>
  org.hibernate.util                    {version=3.2.6.ga-SNAPSHOT}<br>
...snip<br><br>
This is what is being imported by the spring orm bundle:<br><br>
org.hibernate                         {version=[3.2.6.ga, 4.0.0), resolution:=optional}<br>
  org.hibernate.cache                   {version=[3.2.6.ga, 4.0.0), resolution:=optional}<br>
  org.hibernate.cfg                     {version=[3.2.6.ga, 4.0.0), resolution:=optional}<br>
  org.hibernate.classic                 {version=[3.2.6.ga, 4.0.0), resolution:=optional}<br>
  org.hibernate.connection              {version=[3.2.6.ga, 4.0.0), resolution:=optional}<br>
  org.hibernate.context                 {version=[3.2.6.ga, 4.0.0), resolution:=optional}<br>
  org.hibernate.criterion               {version=[3.2.6.ga, 4.0.0), resolution:=optional}<br>
  org.hibernate.dialect                 {version=[3.2.6.ga, 4.0.0), resolution:=optional}<br>
  org.hibernate.ejb                     {version=[3.3.0.ga, 4.0.0), resolution:=optional}<br>
  org.hibernate.engine                  {version=[3.2.6.ga, 4.0.0), resolution:=optional}<br>
  org.hibernate.event                   {version=[3.2.6.ga, 4.0.0), resolution:=optional}<br>
  org.hibernate.event.def               {version=[3.2.6.ga, 4.0.0), resolution:=optional}<br>
  org.hibernate.exception               {version=[3.2.6.ga, 4.0.0), resolution:=optional}<br>
  org.hibernate.impl                    {version=[3.2.6.ga, 4.0.0), resolution:=optional}<br>
  org.hibernate.jdbc                    {version=[3.2.6.ga, 4.0.0), resolution:=optional}<br>
  org.hibernate.persister.entity        {version=[3.2.6.ga, 4.0.0), resolution:=optional}<br>
  org.hibernate.tool.hbm2ddl            {version=[3.2.6.ga, 4.0.0), resolution:=optional}<br>
  org.hibernate.transaction             {version=[3.2.6.ga, 4.0.0), resolution:=optional}<br>
  org.hibernate.transform               {version=[3.2.6.ga, 4.0.0), resolution:=optional}<br>
  org.hibernate.type                    {version=[3.2.6.ga, 4.0.0), resolution:=optional}<br>
  org.hibernate.usertype                {version=[3.2.6.ga, 4.0.0), resolution:=optional}<br>
  org.hibernate.util                    {version=[3.2.6.ga, 4.0.0), resolution:=optional}<br><br>
The OSGi console tells me what is actually bound in the container:<br><br>
osgi&gt; b 20<br>
org.springframework.orm_2.5.6.SEC01 [20]<br>
  Id=20, Status=ACTIVE      Data Root=/Users/dlaidlaw/Infor/workspaces/framework/.metadata/.plugins/org.eclipse.pde.core/SpringHibernateContainer/org.eclipse.osgi/bundles/20/data<br>
  No registered services.<br>
  No services in use.<br>
  Exported packages<br>
    org.springframework.orm; version="2.5.6.SEC01"[exported]<br>
    org.springframework.orm.hibernate3; version="2.5.6.SEC01"[exported]<br>
    org.springframework.orm.hibernate3.annotation; version="2.5.6.SEC01"[exported]<br>
    org.springframework.orm.hibernate3.support; version="2.5.6.SEC01"[exported]<br>
    org.springframework.orm.ibatis; version="2.5.6.SEC01"[exported]<br>
    org.springframework.orm.ibatis.support; version="2.5.6.SEC01"[exported]<br>
    org.springframework.orm.jdo; version="2.5.6.SEC01"[exported]<br>
    org.springframework.orm.jdo.support; version="2.5.6.SEC01"[exported]<br>
    org.springframework.orm.jpa; version="2.5.6.SEC01"[exported]<br>
    org.springframework.orm.jpa.persistenceunit; version="2.5.6.SEC01"[exported]<br>
    org.springframework.orm.jpa.support; version="2.5.6.SEC01"[exported]<br>
    org.springframework.orm.jpa.vendor; version="2.5.6.SEC01"[exported]<br>
    org.springframework.orm.toplink; version="2.5.6.SEC01"[exported]<br>
    org.springframework.orm.toplink.support; version="2.5.6.SEC01"[exported]<br>
  Imported packages<br>
    javax.naming; version="0.0.0"&lt;org.eclipse.osgi_3.5.0.v20090127-1630 [0]&gt;<br>
    javax.persistence; version="1.99.0"&lt;com.springsource.javax.persistence_1.99.0 [1]&gt;<br>
    javax.persistence.spi; version="1.99.0"&lt;com.springsource.javax.persistence_1.99.0 [1]&gt;<br>
    javax.sql; version="0.0.0"&lt;org.eclipse.osgi_3.5.0.v20090127-1630 [0]&gt;<br>
    javax.transaction; version="1.1.0"&lt;com.springsource.javax.transaction_1.1.0 [23]&gt;<br>
    javax.xml.parsers; version="0.0.0"&lt;org.eclipse.osgi_3.5.0.v20090127-1630 [0]&gt;<br>
    org.aopalliance.intercept; version="1.0.0"&lt;com.springsource.org.aopalliance_1.0.0 [10]&gt;<br>
    org.apache.commons.logging; version="1.1.1"&lt;org.ops4j.pax.logging.pax-logging-api_1.3.0 [9]&gt;<br>
    org.hibernate.cfg; version="3.2.6.ga-SNAPSHOT"&lt;com.infor.org.hibernate_3.2.6.ga-SNAPSHOT [26]&gt;<br>
    org.hibernate.classic; version="3.2.6.ga-SNAPSHOT"&lt;com.infor.org.hibernate_3.2.6.ga-SNAPSHOT [26]&gt;<br>
    org.hibernate.connection; version="3.2.6.ga-SNAPSHOT"&lt;com.infor.org.hibernate_3.2.6.ga-SNAPSHOT [26]&gt;<br>
    org.hibernate.dialect; version="3.2.6.ga-SNAPSHOT"&lt;com.infor.org.hibernate_3.2.6.ga-SNAPSHOT [26]&gt;<br>
    org.hibernate.event; version="3.2.6.ga-SNAPSHOT"&lt;com.infor.org.hibernate_3.2.6.ga-SNAPSHOT [26]&gt;<br>
    org.hibernate.event.def; version="3.2.6.ga-SNAPSHOT"&lt;com.infor.org.hibernate_3.2.6.ga-SNAPSHOT [26]&gt;<br>
    org.hibernate.exception; version="3.2.6.ga-SNAPSHOT"&lt;com.infor.org.hibernate_3.2.6.ga-SNAPSHOT [26]&gt;<br>
    org.hibernate.persister.entity; version="3.2.6.ga-SNAPSHOT"&lt;com.infor.org.hibernate_3.2.6.ga-SNAPSHOT [26]&gt;<br>
    org.hibernate.tool.hbm2ddl; version="3.2.6.ga-SNAPSHOT"&lt;com.infor.org.hibernate_3.2.6.ga-SNAPSHOT [26]&gt;<br>
    org.hibernate.transform; version="3.2.6.ga-SNAPSHOT"&lt;com.infor.org.hibernate_3.2.6.ga-SNAPSHOT [26]&gt;<br>
    org.hibernate.type; version="3.2.6.ga-SNAPSHOT"&lt;com.infor.org.hibernate_3.2.6.ga-SNAPSHOT [26]&gt;<br>
    org.hibernate.usertype; version="3.2.6.ga-SNAPSHOT"&lt;com.infor.org.hibernate_3.2.6.ga-SNAPSHOT [26]&gt;<br>
    org.springframework.aop.scope; version="2.5.6.SEC01"&lt;org.springframework.aop_2.5.6.SEC01 [27]&gt;<br>
    org.springframework.aop.support; version="2.5.6.SEC01"&lt;org.springframework.aop_2.5.6.SEC01 [27]&gt;<br>
    org.springframework.beans; version="2.5.6.SEC01"&lt;org.springframework.beans_2.5.6.SEC01 [17]&gt;<br>
    org.springframework.beans.factory; version="2.5.6.SEC01"&lt;org.springframework.beans_2.5.6.SEC01 [17]&gt;<br>
    org.springframework.beans.factory.annotation; version="2.5.6.SEC01"&lt;org.springframework.beans_2.5.6.SEC01 [17]&gt;<br>
    org.springframework.beans.factory.config; version="2.5.6.SEC01"&lt;org.springframework.beans_2.5.6.SEC01 [17]&gt;<br>
    org.springframework.beans.factory.support; version="2.5.6.SEC01"&lt;org.springframework.beans_2.5.6.SEC01 [17]&gt;<br>
    org.springframework.context; version="2.5.6.SEC01"&lt;org.springframework.context_2.5.6.SEC01 [7]&gt;<br>
    org.springframework.context.weaving; version="2.5.6.SEC01"&lt;org.springframework.context_2.5.6.SEC01 [7]&gt;<br>
    org.springframework.core; version="2.5.6.SEC01"&lt;org.springframework.core_2.5.6.SEC01 [6]&gt;<br>
    org.springframework.core.io; version="2.5.6.SEC01"&lt;org.springframework.core_2.5.6.SEC01 [6]&gt;<br>
    org.springframework.core.io.support; version="2.5.6.SEC01"&lt;org.springframework.core_2.5.6.SEC01 [6]&gt;<br>
    org.springframework.core.type; version="2.5.6.SEC01"&lt;org.springframework.core_2.5.6.SEC01 [6]&gt;<br>
    org.springframework.core.type.classreading; version="2.5.6.SEC01"&lt;org.springframework.core_2.5.6.SEC01 [6]&gt;<br>
    org.springframework.core.type.filter; version="2.5.6.SEC01"&lt;org.springframework.core_2.5.6.SEC01 [6]&gt;<br>
    org.springframework.dao; version="2.5.6.SEC01"&lt;org.springframework.transaction_2.5.6.SEC01 [22]&gt;<br>
    org.springframework.dao.support; version="2.5.6.SEC01"&lt;org.springframework.transaction_2.5.6.SEC01 [22]&gt;<br>
    org.springframework.instrument.classloading; version="2.5.6.SEC01"&lt;org.springframework.context_2.5.6.SEC01 [7]&gt;<br>
    org.springframework.jdbc; version="2.5.6.SEC01"&lt;org.springframework.jdbc_2.5.6.SEC01 [18]&gt;<br>
    org.springframework.jdbc.datasource; version="2.5.6.SEC01"&lt;org.springframework.jdbc_2.5.6.SEC01 [18]&gt;<br>
    org.springframework.jdbc.datasource.lookup; version="2.5.6.SEC01"&lt;org.springframework.jdbc_2.5.6.SEC01 [18]&gt;<br>
    org.springframework.jdbc.support; version="2.5.6.SEC01"&lt;org.springframework.jdbc_2.5.6.SEC01 [18]&gt;<br>
    org.springframework.jdbc.support.lob; version="2.5.6.SEC01"&lt;org.springframework.jdbc_2.5.6.SEC01 [18]&gt;<br>
    org.springframework.jndi; version="2.5.6.SEC01"&lt;org.springframework.context_2.5.6.SEC01 [7]&gt;<br>
    org.springframework.transaction; version="2.5.6.SEC01"&lt;org.springframework.transaction_2.5.6.SEC01 [22]&gt;<br>
    org.springframework.transaction.jta; version="2.5.6.SEC01"&lt;org.springframework.transaction_2.5.6.SEC01 [22]&gt;<br>
    org.springframework.transaction.support; version="2.5.6.SEC01"&lt;org.springframework.transaction_2.5.6.SEC01 [22]&gt;<br>
    org.springframework.ui; version="2.5.6.SEC01"&lt;org.springframework.context_2.5.6.SEC01 [7]&gt;<br>
    org.springframework.util; version="2.5.6.SEC01"&lt;org.springframework.core_2.5.6.SEC01 [6]&gt;<br>
    org.springframework.util.xml; version="2.5.6.SEC01"&lt;org.springframework.core_2.5.6.SEC01 [6]&gt;<br>
    org.w3c.dom; version="0.0.0"&lt;org.eclipse.osgi_3.5.0.v20090127-1630 [0]&gt;<br>
    org.xml.sax; version="0.0.0"&lt;org.eclipse.osgi_3.5.0.v20090127-1630 [0]&gt;<br>
  No fragment bundles<br>
  Named class space<br>
    org.springframework.orm; bundle-version="2.5.6.SEC01"[provided]<br>
  No required bundles<br><br>
Note that only 12 of the 22 imports are actually bound. But the hibernate bundle exports all of those 22 imports. The diag command on spring orm says:<br><br>
osgi&gt; diag 20<br><a href="initial <at> reference:file:org.springframework.orm-2.5.6.SEC01.jar/">initial <at> reference:file:org.springframework.orm-2.5.6.SEC01.jar/</a> [20]<br>
  Direct constraints which are unresolved:<br>
    Missing imported package com.ibatis.common.util_[2.3.0.677,3.0.0).<br>
    Missing imported package com.ibatis.common.xml_[2.3.0.677,3.0.0).<br>
    Missing imported package com.ibatis.sqlmap.client_[2.3.0.677,3.0.0).<br>
    Missing imported package com.ibatis.sqlmap.client.event_[2.3.0.677,3.0.0).<br>
    Missing imported package com.ibatis.sqlmap.engine.builder.xml_[2.3.0.677,3.0.0).<br>
    Missing imported package com.ibatis.sqlmap.engine.impl_[2.3.0.677,3.0.0).<br>
    Missing imported package com.ibatis.sqlmap.engine.transaction_[2.3.0.677,3.0.0).<br>
    Missing imported package com.ibatis.sqlmap.engine.transaction.external_[2.3.0.677,3.0.0).<br>
    Missing imported package com.ibatis.sqlmap.engine.type_[2.3.0.677,3.0.0).<br>
    Missing imported package javax.jdo_[2.0.0,3.0.0).<br>
    Missing imported package javax.jdo.datastore_[2.0.0,3.0.0).<br>
    Missing imported package javax.servlet_[2.4.0,3.0.0).<br>
    Missing imported package javax.servlet.http_[2.4.0,3.0.0).<br>
    Missing imported package oracle.toplink.essentials.ejb.cmp3_[2.0.0.b41-beta2,3.0.0).<br>
    Missing imported package oracle.toplink.essentials.expressions_[2.0.0.b41-beta2,3.0.0).<br>
    Missing imported package oracle.toplink.essentials.internal.databaseaccess_[2.0.0.b41-beta2,3.0.0).<br>
    Missing imported package oracle.toplink.essentials.internal.sessions_[2.0.0.b41-beta2,3.0.0).<br>
    Missing imported package oracle.toplink.essentials.sessions_[2.0.0.b41-beta2,3.0.0).<br>
    Missing imported package oracle.toplink.exceptions_[10.1.3,11.0.0).<br>
    Missing imported package oracle.toplink.expressions_[10.1.3,11.0.0).<br>
    Missing imported package oracle.toplink.internal.databaseaccess_[10.1.3,11.0.0).<br>
    Missing imported package oracle.toplink.jndi_[10.1.3,11.0.0).<br>
    Missing imported package oracle.toplink.logging_[10.1.3,11.0.0).<br>
    Missing imported package oracle.toplink.publicinterface_[10.1.3,11.0.0).<br>
    Missing imported package oracle.toplink.queryframework_[10.1.3,11.0.0).<br>
    Missing imported package oracle.toplink.sessionbroker_[10.1.3,11.0.0).<br>
    Missing imported package oracle.toplink.sessions_[10.1.3,11.0.0).<br>
    Missing imported package oracle.toplink.threetier_[10.1.3,11.0.0).<br>
    Missing imported package oracle.toplink.tools.sessionconfiguration_[10.1.3,11.0.0).<br>
    Missing imported package oracle.toplink.tools.sessionmanagement_[10.1.3,11.0.0).<br>
    Missing imported package org.apache.openjpa.persistence_[1.0.2,2.0.0).<br>
    Missing imported package org.eclipse.persistence.expressions_[1.0.0,2.0.0).<br>
    Missing imported package org.eclipse.persistence.internal.databaseaccess_[1.0.0,2.0.0).<br>
    Missing imported package org.eclipse.persistence.internal.sessions_[1.0.0,2.0.0).<br>
    Missing imported package org.eclipse.persistence.jpa_[1.0.0,2.0.0).<br>
    Missing imported package org.eclipse.persistence.sessions_[1.0.0,2.0.0).<br>
    Missing imported package org.hibernate.ejb_[3.3.0.ga,4.0.0).<br>
    Missing imported package org.springframework.web.context_[2.5.6.SEC01,2.5.6.SEC01].<br>
    Missing imported package org.springframework.web.context.request_[2.5.6.SEC01,2.5.6.SEC01].<br>
    Missing imported package org.springframework.web.context.support_[2.5.6.SEC01,2.5.6.SEC01].<br>
    Missing imported package org.springframework.web.filter_[2.5.6.SEC01,2.5.6.SEC01].<br><br>
Can anyone explain why the other packages would not be resolved?<br><br>
-- <br>
Best Regards,<br><br>
Don Laidlaw | Sr. Research Engineer | Infor | office: +1 902-576-5185 | mobile: +1 902-401-6771 | <a href="don.laidlaw@...">don.laidlaw@...</a><br>_______________________________________________<br>
equinox-dev mailing list<br>
equinox-dev@...<br><a href="https://dev.eclipse.org/mailman/listinfo/equinox-dev">https://dev.eclipse.org/mailman/listinfo/equinox-dev</a><br><br><br>
</div>
David Conde | 2 Sep 08:13 2009
Picon

Known Limitation regarding the number of bundles in Equinox

Hi,

 

I would like to know if there is some known limitation regarding the number of bundles that can exist running in OSGI more specifically in Equinox, does it exist load test or something similiar to test the different response or working load when a great quantity of bundles are running in OSGI?

 

Thank you in advance

 

David

<div>

<div class="Section1">

<p class="MsoNormal">Hi,<p></p></p>

<p class="MsoNormal"><p>&nbsp;</p></p>

<p class="MsoNormal">I would like to know if there is some known limitation
regarding the number of bundles that can exist running in OSGI more
specifically in Equinox, does it exist load test or something similiar to test
the different response or working load when a great quantity of bundles are
running in OSGI?<p></p></p>

<p class="MsoNormal"><p>&nbsp;</p></p>

<p class="MsoNormal">Thank you in advance<p></p></p>

<p class="MsoNormal"><p>&nbsp;</p></p>

<p class="MsoNormal">David<p></p></p>

</div>

</div>
David Conde | 2 Sep 14:33 2009
Picon

Alternatives to OSGI

Hi,

 

I am evaluating different alternatives to OSGI framework but I have not found anything which could face to OSGI at all, do you know another frameworks which could be used as Residencial Gateways different to OSGI?

 

 

I have read something about Jigsaw but I think is more general purpose focused than OSGI, but I did not find anything more.

 

Thank you in advance

 

David

<div>

<div class="Section1">

<p class="MsoNormal">Hi, <p></p></p>

<p class="MsoNormal"><p>&nbsp;</p></p>

<p class="MsoNormal">I am evaluating different alternatives to OSGI framework but
I have not found anything which could face to OSGI at all, do you know another
frameworks which could be used as Residencial Gateways different to OSGI?<p></p></p>

<p class="MsoNormal"><p>&nbsp;</p></p>

<p class="MsoNormal"><p>&nbsp;</p></p>

<p class="MsoNormal">I have read something about Jigsaw but I think is more
general purpose focused than OSGI, but I did not find anything more.<p></p></p>

<p class="MsoNormal"><p>&nbsp;</p></p>

<p class="MsoNormal">Thank you in advance<p></p></p>

<p class="MsoNormal"><p>&nbsp;</p></p>

<p class="MsoNormal">David<p></p></p>

</div>

</div>
Pascal Rapicault | 2 Sep 14:45 2009
Picon

Re: Alternatives to OSGI

I have read about people using Android in residential gateways. It is of course at a much lower level since it is an OS.

[equinox-dev] Alternatives to OSGI




[equinox-dev] Alternatives to OSGI

David Conde

to:

'Equinox development mailing list'

09/02/2009 08:34 AM


Sent by:

equinox-dev-bounces-j9T/66MeVpFAfugRpC6u6w@public.gmane.org
Please respond to Equinox development mailing list




Hi,

I am evaluating different alternatives to OSGI framework but I have not found anything which could face to OSGI at all, do you know another frameworks which could be used as Residencial Gateways different to OSGI?


I have read something about Jigsaw but I think is more general purpose focused than OSGI, but I did not find anything more.

Thank you in advance

David_______________________________________________
equinox-dev mailing list
equinox-dev-j9T/66MeVpFAfugRpC6u6w@public.gmane.org
https://dev.eclipse.org/mailman/listinfo/equinox-dev

<div>
<p>I have read about people using Android in residential gateways. It is of course at a much lower level since it is an OS.<br><br>[equinox-dev] Alternatives to OSGI<br><br><br></p>
<table width="100%" border="0" cellspacing="0" cellpadding="0"><tr valign="top">
<td width="1%" valign="middle"><br></td>
<td width="100%" valign="middle">
<br><table width="100%" border="0" cellspacing="0" cellpadding="0"><tr valign="top"><td width="100%">[equinox-dev] Alternatives to OSGI</td></tr></table>
<table width="100%" border="0" cellspacing="0" cellpadding="0"><tr valign="top">
<td width="1%" valign="middle">
<br>David Conde </td>
<td width="1%" valign="middle">
<br>to:</td>
<td width="100%" valign="middle">
<br>
'Equinox development mailing list'</td>
<td width="1%" valign="middle">
<br><div align="right">09/02/2009 08:34 AM</div>
</td>
</tr></table>
<table width="100%" border="0" cellspacing="0" cellpadding="0"><tr valign="top">
<td width="100%" valign="middle">
<br><table width="100%" border="0" cellspacing="0" cellpadding="0"><tr valign="top">
<td width="1%" valign="middle">
<br>Sent by:</td>
<td width="100%" valign="middle">
<br>equinox-dev-bounces@...</td>
</tr></table>Please respond to Equinox development mailing list</td>
<td width="0%" valign="middle"><br></td>
</tr></table>
</td>
</tr></table>
<br><br><br>Hi, <br> <br>I am evaluating different alternatives to OSGI framework but I have not found anything which could face to OSGI at all, do you know another frameworks which could be used as Residencial Gateways different to OSGI?<br> <br> <br>I have read something about Jigsaw but I think is more general purpose focused than OSGI, but I did not find anything more.<br> <br>Thank you in advance<br> <br>David_______________________________________________<br>
equinox-dev mailing list<br>
equinox-dev@...<br><a href="https://dev.eclipse.org/mailman/listinfo/equinox-dev">https://dev.eclipse.org/mailman/listinfo/equinox-dev</a><br><br>
</div>
Thomas Watson | 2 Sep 15:57 2009
Picon

Re: Known Limitation regarding the number of bundles in Equinox

I don't have the performance numbers handy. I know SAP had done a number of benchmarks to measure the effect of installing 10000+ bundles onto Equinox and other frameworks. In Equinox we do not have a set limitation of the number of bundles you can install. We have spent much time ensure that the startup time remains performant when 1000s of bundles are installed. I know of many products that are well above 2500 bundles. Each bundle does have a certain amount of overhead associated with it, but we try to keep it as low as possible.

Tom



"David Conde" ---09/02/2009 01:11:14 AM---Hi,


From:

"David Conde" <dconde-fzAlJQVsllk@public.gmane.org>

To:

"'Equinox development mailing list'" <equinox-dev-j9T/66MeVpFAfugRpC6u6w@public.gmane.org>

Date:

09/02/2009 01:11 AM

Subject:

[equinox-dev] Known Limitation regarding the number of bundles in Equinox



Hi,

I would like to know if there is some known limitation regarding the number of bundles that can exist running in OSGI more specifically in Equinox, does it exist load test or something similiar to test the different response or working load when a great quantity of bundles are running in OSGI?

Thank you in advance

David_______________________________________________
equinox-dev mailing list
equinox-dev-j9T/66MeVpFAfugRpC6u6w@public.gmane.org
https://dev.eclipse.org/mailman/listinfo/equinox-dev


<div>
<p>I don't have the performance numbers handy.  I know SAP had done a number of benchmarks to measure the effect of installing 10000+ bundles onto Equinox and other frameworks.  In Equinox we do not have a set limitation of the number of bundles you can install.  We have spent much time ensure that the startup time remains performant when 1000s of bundles are installed.  I know of many products that are well above 2500 bundles.  Each bundle does have a certain amount of overhead associated with it, but we try to keep it as low as possible.<br><br>
Tom<br><br><br><br>"David Conde" ---09/02/2009 01:11:14 AM---Hi,<br><br></p>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr valign="top">
<td width="1%">
<br>From:</td>
<td width="100%">
<br>"David Conde" &lt;dconde@...&gt;</td>
</tr>
<tr valign="top">
<td width="1%">
<br>To:</td>
<td width="100%">
<br>"'Equinox development mailing list'" &lt;equinox-dev@...&gt;</td>
</tr>
<tr valign="top">
<td width="1%">
<br>Date:</td>
<td width="100%">
<br>09/02/2009 01:11 AM</td>
</tr>
<tr valign="top">
<td width="1%">
<br>Subject:</td>
<td width="100%">
<br>[equinox-dev] Known Limitation regarding the number of bundles in	Equinox</td>
</tr>
</table>
<br><br><br>
Hi,<br><br>
I would like to know if there is some known limitation regarding the number of bundles that can exist running in OSGI more specifically in Equinox, does it exist load test or something similiar to test the different response or working load when a great quantity of bundles are running in OSGI?<br><br>
Thank you in advance<br><br>
David_______________________________________________<br>
equinox-dev mailing list<br>
equinox-dev@...<br><a href="https://dev.eclipse.org/mailman/listinfo/equinox-dev">https://dev.eclipse.org/mailman/listinfo/equinox-dev</a><br><br><br>
</div>
Thomas Watson | 3 Sep 15:09 2009
Picon

Equinox team meeting call-in # has changed

Please see the Equinox meeting minutes wiki for the latest call-in information. http://wiki.eclipse.org/Equinox_Meeting_Minutes

Tom

<div>
<p>Please see the Equinox meeting minutes wiki for the latest call-in information.  <a href="http://wiki.eclipse.org/Equinox_Meeting_Minutes">http://wiki.eclipse.org/Equinox_Meeting_Minutes</a><br><br>
Tom<br><br></p>
</div>
Thomas Watson | 3 Sep 17:38 2009
Picon

3.5.2 milestone added for Equinox.

3.5.1 is locking down. We are now in RC3. Please keep in mind the end-game rules to release fixes to 3.5.1 for the remaining 3.5.1 builds (http://www.eclipse.org/eclipse/development/plans/freeze_plan_3_5_1.php). For RC3 and RC4 a PMC vote is required as well as an additional committer review. The 3.5.2 milestone has been added to bugzilla and non-critical bugs should be deferred to 3.5.2.

Tom

<div>
<p>3.5.1 is locking down.  We are now in RC3.  Please keep in mind the end-game rules to release fixes to 3.5.1 for the remaining 3.5.1 builds (<a href="http://www.eclipse.org/eclipse/development/plans/freeze_plan_3_5_1.php">http://www.eclipse.org/eclipse/development/plans/freeze_plan_3_5_1.php</a>).  For RC3 and RC4 a PMC vote is required as well as an additional committer review.  The 3.5.2 milestone has been added to bugzilla and non-critical bugs should be deferred to 3.5.2.<br><br>
Tom<br><br></p>
</div>
David Conde | 4 Sep 14:01 2009
Picon

Problem with custom local permissions

Hi,

 

I have the next scenario:

Bundle Service which has a method called addVALUE as  shown:

 

public boolean addValue(String key, Object value) {

 

            SecurityManager security = System.getSecurityManager();

          if (security != null) {

            security.checkPermission(new PlatformConfigurationPermission(

                    PlatformConfigurationPermission.WRITE_VALUE));   

          }

     

}

 

The problem is that other  bundle  called consumer which has the next permissions.perm file, tries to call this method getting the Security Exception shown below:

 

#TestPlatformConfiguration Permissions File

(java.io.FilePermission "C:\TestingLog3.log" "write")

(es.citic.osgi.system.platformConfiguration.PlatformConfigurationPermission "PlatformConfigurationPermission" "writeValue")

 

 

The Exception which was got is:

Java.security.AccessControlException: Access denied (es.citic.osgi.system.platformConfiguration.PlatoformConfigurationPermission PlatformConfigurationPermission writeValue)

 

 

My PlatformConfigurationPermission class extends from Permission.

 

What am I missing in this implementation?

 

It looks like as does not recognice what I am writing in the permission.perm file.

 

Any idea

 

Thank you in advance

 

David

<div>

<div class="Section1">

<p class="MsoNormal">Hi,<p></p></p>

<p class="MsoNormal"><p>&nbsp;</p></p>

<p class="MsoNormal">I have the next scenario: <p></p></p>

<p class="MsoNormal">Bundle Service which has a method called addVALUE as&nbsp;
shown:<p></p></p>

<p class="MsoNormal"><p>&nbsp;</p></p>

<p class="MsoNormal"><span>public</span><span> </span><span>boolean</span><span> addValue(String
key, Object value) {</span><span><p></p></span></p>

<p class="MsoNormal"><span>&nbsp;</span><span><p></p></span></p>

<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SecurityManager
security = System.getSecurityManager();</span><span><p></p></span></p>

<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
</span><span>if</span><span> (security != </span><span>null</span><span>) {</span><span><p></p></span></p>

<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
security.checkPermission(</span><span>new</span><span> PlatformConfigurationPermission(</span><span><p></p></span></p>

<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;PlatformConfigurationPermission.</span><span>WRITE_VALUE</span><span>));&nbsp;&nbsp;&nbsp;
</span><span><p></p></span></p>

<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
}</span><span><p></p></span></p>

<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span><p></p></span></p>

<p class="MsoNormal"><span>}</span><p></p></p>

<p class="MsoNormal"><p>&nbsp;</p></p>

<p class="MsoNormal">The problem is that other&nbsp; bundle&nbsp; called consumer
which has the next permissions.perm file, tries to call this method getting the
Security Exception shown below:<p></p></p>

<p class="MsoNormal"><p>&nbsp;</p></p>

<p class="MsoNormal"><span>#TestPlatformConfiguration Permissions File<p></p></span></p>

<p class="MsoNormal"><span>(java.io.FilePermission
"C:\TestingLog3.log" "write")<p></p></span></p>

<p class="MsoNormal"><span>(es.citic.osgi.system.platformConfiguration.PlatformConfigurationPermission
"PlatformConfigurationPermission" "writeValue")<p></p></span></p>

<p class="MsoNormal"><span><p>&nbsp;</p></span></p>

<p class="MsoNormal"><span><p>&nbsp;</p></span></p>

<p class="MsoNormal"><span>The
Exception which was got is:<p></p></span></p>

<p class="MsoNormal"><span>Java.security.AccessControlException:
Access denied
(es.citic.osgi.system.platformConfiguration.PlatoformConfigurationPermission
PlatformConfigurationPermission writeValue)<p></p></span></p>

<p class="MsoNormal"><span><p>&nbsp;</p></span></p>

<p class="MsoNormal"><p>&nbsp;</p></p>

<p class="MsoNormal">My <span>PlatformConfigurationPermission
class extends from Permission.<p></p></span></p>

<p class="MsoNormal"><p>&nbsp;</p></p>

<p class="MsoNormal">What am I missing in this implementation?<p></p></p>

<p class="MsoNormal"><p>&nbsp;</p></p>

<p class="MsoNormal">It looks like as does not recognice what I am writing in the
permission.perm file.<p></p></p>

<p class="MsoNormal"><p>&nbsp;</p></p>

<p class="MsoNormal">Any idea<p></p></p>

<p class="MsoNormal"><p>&nbsp;</p></p>

<p class="MsoNormal">Thank you in advance<p></p></p>

<p class="MsoNormal"><p>&nbsp;</p></p>

<p class="MsoNormal">David<p></p></p>

</div>

</div>

Gmane