hello Everybody,

We would like to maintiain a backward compatibility as much as possible of
our software , it means if consumer  modifiy a bundle version N, and  if we
deliver a new version N+1 , he could keep using his modified bundle until
he will be ready to use N+1. So to allow this the only way I've found after
many days of brainstorming is to have the same bundle with the many
versions on Karaf, so this my real use case and my question:

let's have:

-  two  bundles (API) <b> API1.0 and    API1.1</b>:     both of them
 export package    com.foo.Inetrface  (this interface has been modified by
consumer and kept the same name , in the same artifact
- one consumer bundle <b>CNS </b>importing package from API  using this
range  [1.0,2)==> will include   API1.0 and    API1.1.


is there any way to tell CNS ( on   runtime or compile time ) which version
of API it should consume ?
Concretely  as CNS will refrence the higer version (1.1) I would like to
force if to use 1.0 (in the case when Client will have modified initial
version API 0.0 to API 1.0, and after we will deliver to hil a nexw version
API 1.1, so the client should continue to use API 1.0 with CNS )

i Thought of a kind of bundle proxy which will include  API1.0 and
API1.1,  and than will have the repsonsablity to drive toward 1.0 or 1.1
but , finally it's very hard to develop especially  I shoud touch
Classloaders ...

Many thans for your help
_______________________________________________
OSGi Developer Mail List
osgi-dev@mail.osgi.org
https://mail.osgi.org/mailman/listinfo/osgi-dev

Reply via email to