Equinox Spring Integration
Discussion of integrating Spring with OSGi are going on in the Spring-OSGi mailing list.
The following are steps to getting started with integrating Spring with the Equinox OSGi implementation. These directions assume you already have access to the Spring-OSGi Subversion repository. If you don't have access, stay tuned for details on when the repository will be made public.
(These instructions are written by a maven neophyte - if there is a better way to do this, please update the instructions.
- Download Maven 2
- Install Maven 2 according to provided instructions in README.txt
- Install the Subversion Plug-in for Eclipse
- Checkout Spring from the Spring CVS repository: :pserver:email@example.com:/cvsroot/springframework
- Run the build.xml in the project root directory with target "mvn.install.jars"
- Checkout Spring-OSGi from Subversion
- Follow the Spring-OSGi project setup instructions in the readme.txt file in the project root. Now you should be set up with a project in your workspace that compiles correctly. I have not yet succeeded in running against this project directly in the workspace.
- Run the additional maven command "mvn install" from the project root to deploy this as an OSGi bundle in your local maven repository.
- From the command line, go to the spring-osgi/bundles directory and run "mvn install". This will bundle-ize the spring jars by inserting the MANIFEST.MF files from spring-osgi/etc/, and install them in your local maven repository.
Running the spell checking example:
- Run "mvn install" from the spring-osgi/samples/spell-checker directory.
- You can now either hack the file spring-osgi/samples/spell-checker/run/config.ini to fix the paths to your local maven repository, and run with the provided build.xml script, or ...
- Copy the bundles listed in config.ini into some directory on your local disk (c:\spring-osgi\plugins); The util-1.0-SNAPSHOT.jar and apache-commons-1.0.jar won't be found, but they don't seem to be needed for anything
- Change the Plugin Development target platform to be this directory (c:\spring-osgi)
- Create an OSGi Framework launch configuration
- Set the start level of each bundle so that they are started in this order:
- Finally, run the launch configuration. From the console, manually increment the start level until all bundles are active