We are using Atomikos, a distributed transaction processor to build transactional JDBC and JMS connection pools in Apache Karaf.
The Activiti Explorer is a user interface for managing Activiti workflow processes. The Activiti Explorer is useful not only as a visual debugging tool but also as a generic back office for mdeployed processes. In order to use the Activiti Explorer as a management tool for deployed processes certain changes are required in the Activiti Explorer configuration and a minor provision in the processes design.
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.
Reliable multi-protocol messaging solutions.
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.
Data intelligence & streaming analytics.
This article focuses on the implementation of a REST service that can be deployed on Apache Karaf using the excellent HTTP Whiteboard service. In the first part, we will concentrate on building a REST service with Apache CXF and exporting it with the HTTP Whiteboard. In the second part, we will elaborate on securing the service using Spring Security.
Training and support.
Dozer is a popular bean-to-bean mapping library. This functionality is typically needed when switching between domain models, e.g. to isolate the internal representation of a domain model from the model published to clients through a REST API.
Dozer has a pluggable class loading configuration which allows to set a custom class loader for classes and resources. However Dozer was not designed with OSGi in mind. Custom class loaders are set on a Dozer singleton. This combined with the lazy loading of mapping definition files can generate unexpected results.