Blueprint

MongoDB Morphia in OSGi

Morphia is an object-document mapping (ODM) library for MongoDB. The Morphia core JAR is OSGi-ready. However enabling entity class resolution in Morphia when running in OSGi requires some extra steps.

A MongoDB-based JAAS plugin for ActiveMQ

ActiveMQ supports pluggable JAAS modules that handle the authentication of incoming requests. ActiveMQ comes preloaded with a few JAAS modules, none of which supports MongoDB as the backend repository of the authentication data.

Exporting Camel Endpoints as OSGi Services

It is often useful to proxy calls to services exported by a Blueprint context through a service bus. The bus could be used to log incoming calls, adapt/filter the call arguments and the result, transparently forward requests to a remote OSGi container, broadcast to several remote containers or forward to the more powerful Fuse Fabric endpoints. Exporting a regular interface to a Camel endpoint is key to this functionality.

AngularJS using the HTTP Whiteboard Service

The HTTP Whiteboard service extends the OSGi HTTP service by automatically registering servlets, filters and resource mappings with the embedded servlet container. An AngularJS application consists of static resources that can easily be deployed in any HTTP server. The deployment of AngularJS in Blueprint leverages the HTTP Whiteboard service.

Spring Data MongoDB in OSGi Blueprint

Spring Data is yet another extremely useful Spring subproject that is so tightly coupled with the Spring-specific container features, that it has become very hard to deploy it in Blueprint.

The alternative to an adaptation to Blueprint is (once again) mixing Spring DM and Blueprint bundles and importing Spring DM services into Blueprint contexts.

AOP Proxies in OSGi Blueprint

Traditionally Spring has excellent support for AOP features. One of the most common approaches for adding aspects to a Spring bean is the org.springframework.aop.framework.ProxyFactoryBean class. However this class does not work equally well in a Blueprint container.