Ok, I was expecting the real identifier to be the bsn+version couple, not
the location URL.
I did not set the property you mention, so I guess I have the default value.

I can confirm that the same bundle (bsn+version) included in each subsystem
works. The location URL is probable different.

Thanks for the explanation.
--G


2013/1/22 David Bosschaert <[email protected] <javascript:_e({},
'cvml', '[email protected]');>>

> Hi Guillaume,
>
> If I'm not mistaken then you *can* install the same bundle (same bsn and
> same version) more than once as long as they are in different regions, but
> the bundle location must still be different in all cases.
>
> Also the org.osgi.framework.bsnversion launch property should be set to
> 'managed' or not set at all since that is the default.
>
> Best regards,
>
> David
>
>
> On 22 January 2013 10:44, Guillaume Sauthier (OW2/GMail) <
> [email protected] <javascript:_e({}, 'cvml',
> '[email protected]');>> wrote:
>
>> Hi
>>
>> I try to install the same bundle (same location) into 2 different
>> pre-existing application subsystems.
>> That bundle is not defined in the Subsystem-Content, in other word, it's
>> not part of the original Subsystem definition (in both Subsystems).
>> I take the BundleContext of the app's region to perform the install
>> action.
>> Eclipse spit the following BundleException for the 2nd Subsystem:
>>
>> guillaume@shelbie$ constituent:install-bundle
>> file:///.../neutral-hello-consumer-0.0.1-SNAPSHOT.jar
>> Bundle agent: org.osgi.service.subsystem.region.context.3
>> [BundleException]: Bundle "neutral-hello-consumer" version
>> "0.0.1.SNAPSHOT" has already been installed from:
>> file:///.../neutral-hello-consumer-0.0.1-SNAPSHOT.jar
>>
>> guillaume@shelbie$ $exception printstacktrace
>> org.osgi.framework.BundleException: Bundle "neutral-hello-consumer"
>> version "0.0.1.SNAPSHOT" has already been installed from:
>> file:///.../neutral-hello-consumer-0.0.1-SNAPSHOT.jar
>>  at
>> org.eclipse.osgi.framework.internal.core.Framework.installWorker(Framework.java:873)
>> at
>> org.eclipse.osgi.framework.internal.core.Framework.installBundle(Framework.java:840)
>>  at
>> org.eclipse.osgi.framework.internal.core.BundleContextImpl.installBundle(BundleContextImpl.java:137)
>> at
>> org.eclipse.osgi.framework.internal.core.BundleContextImpl.installBundle(BundleContextImpl.java:131)
>>  at
>> com.peergreen.platform.commands.subsystem.internal.bundle.InstallBundleAction.__M_execute(InstallBundleAction.java:50)
>> at
>> com.peergreen.platform.commands.subsystem.internal.bundle.InstallBundleAction.execute(InstallBundleAction.java)
>>  at
>> org.apache.felix.gogo.commands.basic.AbstractCommand.execute(AbstractCommand.java:35)
>> at
>> org.ow2.shelbie.core.internal.handler.CommandHandler.__M_execute(CommandHandler.java:166)
>>  at
>> org.ow2.shelbie.core.internal.handler.CommandHandler.execute(CommandHandler.java)
>> at
>> org.apache.felix.gogo.runtime.CommandProxy.execute(CommandProxy.java:78)
>>  at org.apache.felix.gogo.runtime.Closure.executeCmd(Closure.java:477)
>> at
>> org.apache.felix.gogo.runtime.Closure.executeStatement(Closure.java:403)
>>  at org.apache.felix.gogo.runtime.Pipe.run(Pipe.java:108)
>> at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:183)
>>  at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:120)
>> at
>> org.apache.felix.gogo.runtime.CommandSessionImpl.execute(CommandSessionImpl.java:89)
>>  at org.ow2.shelbie.core.console.JLineConsole.run(JLineConsole.java:149)
>> at java.lang.Thread.run(Thread.java:722)
>>
>> I did read the spec, in particular the Explicit Bundle Resource section,
>> and nothing mentions that a Bundle cannot be installed twice in
>> **different** region.
>> The spec states that trying to install the same bundle in 2 subsystems
>> part of the **same** region is an error (I'm ok with that), but nothing
>> about the same bundle in different regions. So I thought that my use case
>> was allowed :)
>> It may be interesting to notice that if the bundle is part of the initial
>> Subsystem (defined in Subsystem-Content), that works great (location URLs
>> are probably different, that could explain why it works in that case).
>>
>> So, am I reading the spec incorrectly and my use case is invalid, or did
>> I hit a missing feature/bug in aries subsystems ?
>>
>> BTW I'm using latest Subsystems snapshot.
>>
>> Thanks
>> --Guillaume
>>
>
>

Reply via email to