hooch
hooch

Reputation: 1175

How to update Bundle in Apache Felix OSGi Framework

I'm having troubles updating my bundle from the gogo shell. I have a gogo shell running on terminal. My bundles are active in there.

Now when I make changes to the code, what steps are necessary to forward these changes into the running OSGi framework?

I ran update <bundleId> but nothing happens. It still runs the same version which was compiled when I started the framework. Before the update command I opened another terminal and ran mvn clean install (I'm using maven-bundle-plugin along with pax-construct).

Upvotes: 3

Views: 3258

Answers (2)

tomasz_kusmierczyk
tomasz_kusmierczyk

Reputation: 589

Another try is via OBR local repo as follows:
- assume artifact is called test-api, then
a)g! deploy test-api deployed under id: 25
after further changes made to the code and mvn clean install do:
1)g! update 25
2)g! refresh
if no result then before step 1) try g! repos refresh file:///c:/Users/.m2/repository.xml to refresh local OBR repo

Upvotes: 0

Angelo van der Sijpt
Angelo van der Sijpt

Reputation: 3641

When working with Maven, my workflow for checking updated code involves two terminals.

  • After updating the code, I run mvn install from the project which will build the actual bundle. Keep track of the absolute location on your system where the target bundle is built.
  • In the running framework, I update the bundle, giving it a URL; something like update 25 file:///Users/you/project/bundle/target/bundle.jar

If you're free not to use Maven and Pax Runner, you can also take a look at bndtools, which is an Eclipse plugin. You can then still take the bundles that bndtools builds for you, and run them with Pax Runner.

Upvotes: 2

Related Questions