cayenne-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andrus Adamchik <and...@objectstyle.org>
Subject OSGi support preview
Date Tue, 26 Nov 2013 13:49:39 GMT
Hi everyone,

There were a number of requests to support OSGi deployment of Cayenne over the last couple
of years. Finally there is something to show in this area. With the encouragement from cghersi
and using his custom-built Cayenne bundle as a prototype, I added OSGi support to 3.2 (SVN
trunk). It was a two-part thing - (1) creating Cayenne jars with the right metadata, and (2)
providing a seamless bootstrap mechanism for Cayenne class loading. Both of which are present
now.

An example of how to write an app with it is on GitHub [1] (of course until we have 3.2.M2,
the first prerequisite is to build Cayenne trunk from source). Here is how you start Cayenne
in your app:

  Module osgiModule = OsgiModuleBuilder.forProject(Activator.class).withDriver(Driver.class).module();
  ServerRuntime r = new ServerRuntime("cayenne-osgi-example.xml", osgiModule);

Interation can certainly be expanded. E.g. instead of binding the driver, Cayenne might need
to refer to an OSGi service that encapsulates the DataSource in the container. But this shouldn’t
be too hard to add.

I would appreciate feedback from the community on this, including success/error reports and
new feature suggestions. 

Cheers,
Andrus


[1] https://github.com/andrus/cayenne-osgi-example
Mime
View raw message