I am trying to write a "bootstrap" client. I want to be able to dynamically
push new application modules or update running modules without having to
have my users even aware that I am doing so. My thought is to back all the
bundles in a database layer which the application monitors for loading,
unloading and updating modules as necessary. Perhaps OBR is not even
necessary for this functionality. I am just exploring all options for usage
of OSGi.

Damon

On Wed, Mar 18, 2009 at 5:55 AM, Richard S. Hall <[email protected]>wrote:

> Typically, OBR is used by installing the bundle into a running framework,
> but I suppose it is possible to use it like you are trying to do. You will
> have to make sure to export its classes from the system bundle.
>
> To set the URL to the repository.xml file, you must specify it with
> "obr.repository.url" in the configuration properties.
>
> I am not sure what you mean by saying you are trying to provide a dynamic
> layer under your application to update its libraries. Your application has
> to be built from bundles and installed inside the OSGi framework to get this
> to work, is that your plan?
>
> -> richard
>
>
> On 3/17/09 6:19 PM, Damon Jacobsen wrote:
>
>> Richard,
>>
>>    Using that page as a reference, I tried this:
>>
>> Felix felix = new Felix(configMap);
>> felix.start();
>> BundleContext bundleContext = felix.getBundleContext();
>> RepositoryAdmin admin = new RepositoryAdminImpl(bundleContext,null);
>> Resolver resolver = admin.resolver();
>>    for (Resource resource : admin.discoverResources("*"))
>>       System.out.println(resource.getId());
>>
>> I am trying to start really simple, but this code returns an NPE. Should I
>> be using the Felix BundleContext? How do I spcify the configuration xml to
>> the Felix context? Is this the proper way to discover resources? I am
>> trying
>> to provide a dynamic layer under my application so that I may update
>> libraries on the fly, but I don't seem to be getting how this all works.
>>
>> Damon
>>
>> On Tue, Mar 17, 2009 at 2:31 PM, Richard S. Hall<[email protected]
>> >wrote:
>>
>>
>>
>>> I am not sure how much documentation is available. You can search for the
>>> original RFC 112, which Peter Kriens made available from one of his
>>> blogs.
>>> There is our web page on our impl:
>>>
>>>    http://felix.apache.org/site/apache-felix-osgi-bundle-repository.html
>>>
>>> The approach is fairly simple. You populate the OBR repo using a URL to a
>>> repository.xml file. You can then use the OBR service interface to
>>> discover
>>> available bundles. You can tell OBR which bundles you are interested in
>>> using the Resolver interface, then it will resolve their transitive
>>> dependencies and deploy them for you into your running framework.
>>>
>>> That's about it.
>>>
>>> ->  richard
>>>
>>>
>>> On 3/17/09 4:16 PM, Damon Jacobsen wrote:
>>>
>>>
>>>
>>>> I sent an email earlier trying to figure out some basics. I think I have
>>>> gotten some sort of embedded Felix framework running. I am trying to
>>>> figure
>>>> out how to discover and activate bundles using OBR. I am assuming that
>>>> it
>>>> works similar to Maven in the sense that there is some ways to say I am
>>>> looking for artifact X at revision Y and OBR will resolve it and load my
>>>> bundle. Are there any good articles for using OBR, possibly within an
>>>> embedded context? Any help would be appreciated.
>>>>
>>>> Damon Jacobsen
>>>>
>>>>
>>>>
>>>>
>>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: [email protected]
>>> For additional commands, e-mail: [email protected]
>>>
>>>
>>>
>>>
>>
>>
>>
>

Reply via email to