You need to use version ranges when you import packages. This will ensure a compatible package will be used and avoid any class cast exceptions. Your use case is quite simple and should clearly not cause any issue if you use correct version ranges.
2015-07-10 21:07 GMT+02:00 Bryan Miller <[email protected]>: > Hello, > > I am trying to deploy multiple version of two sets of bundles and am > running into issues. > Bundle A version 1.0.0-SNAPSHOT requires: > Bundle B version [1,2) > Bundle C version [1,2) > > Bundle A version 2.0.0-SNAPSHOT requires: > Bundle B version [2,3) > Bundle C version [2,3) > > > When I deploy Bundle A, B, and C version 1.0.0-SNAPSHOT and Bundle A,B, > and C version 2.0.0-SNAPSHOT, Bundle A, regardless of version, will only > wire to Bundle B or C if it was the most recently deploye bundle. > For example if I deploy > Bundle A(1.0.0-SNAPSHOT), then > Bundle B (1.0.0-SNAPSHOT), then > Bundle C(1.0.0-SNAPSHOT), then > Bundle A(2.0.0-SNAPSHOT), then > Bundle B(2.0.0-SNAPSHOT), then > Bundle C(2.0.0-SNAPSHOT) > > This causes Bundle A(2.0.0-SNAPSHOT) to work, and Bundle A(1.0.0-SNAPSHOT) > to give class cast exceptions. This also happens in reverse, if the > 2.0.0-SNAPSHOT bundles are deployed first, the 1.0.0-SNAPSHOT bundles work > and the 2.0.0-SNAPSHOT bundles have class cast exceptions. > > -- > > *Bryan Miller* > > >
