Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Introduction

Excerpt

This quickstart is intended to show guide shows the basic functionality of ACE: deploying bundles to a remote OSGi framework running a management agent.

Using ACE to

...

create a remote

...

file installer

Apache Felix FileInstall can be used to automatically 'watch' directories for new bundles and configuration files, which will be processed.

To get roughly the same functionality as FileInstall, but remote, we can use the simplest server target available. After building ACE, it can be found under

  1. Build Apache ACE from source
  2. Start the server from the core/deploy/target/dev-server-filebased

...

  1. directory by launching the run.sh or run.bat file
  2. Start a gateway from the

...

  1. core/deploy/target/dev-gateway

...

  1. directory by launching the run.sh or run.bat file. The target will show some exceptions relating to auditlog information; that's correct,

...

  1. this server does not support auditlog information

...

  1. .
  2. Create a version directory (anywhere), should comply with: deploymentpackage version e.g. 1.0.0
  3. Copy your bundles-to-be-deployed into the 1.0.0 version directory. Suggestion: use core/lib/servicebased.host-1.0.0.jar. Once deployed a UI will popup.
  4. Next, find the store directory in the server folder
  5. Create a <gatewayId> directory in the store-dir: in this case configuredGatewayID
  6. Copy the entire version directory, 1.0.0 with the containing jar into configuredGatewayID
  7. Optionally check the available version with your browser, see http://cwiki.apache.org/confluence/display/ACE/Communication+Gateway+and+ServerImage Added
  8. That's it! Notice the gateway has started your bundle.

To update a target, add directories with higher version numbers. In this directory, add a new directory for each target (the default target uses "configuredGatewayID"), and in that, add directories for all versions (note that the versions should actually be valid OSGi deployment package version, so 1.0.0 is valid, but 1 is not). In these version directories, drop any bundles you want to have provisioned. That's it!
Remember that any version you create will be installed at most once: if you create a version directory, and then start adding files to it, you run the risk that your empty folder will get installed, and all additional bundles will be removed from the target. It's easiest to create the version folder somewhere else on your system, and move it to the target's directory when you're done.

...