Tim Ward

Functional Transaction Management – old dog, new tricks! 3 comments

This blog post is all about the new Transaction Control service which is proposed to be part of the next release of the OSGi Enterprise Specification. Paremus has been leading this specification work, which arose from a collaboration with one of our customers, McCarthys. The current state of the RFC is available on GitHub, and there’s even an implementation available in Apache Aries.

Before we delve into the cool features of the Transaction Control service, it’s probably worth remembering why we need yet another transaction abstraction… (more…)

OSGi PushStreams – online processing for live data


I recently gave a talk at the OSGi Community Event about a new RFC being discussed at the OSGi Alliance called PushStreams. A video of the talk is available here, and the latest version of the RFC is here. The talk generated a lot of interest (a full room at the conference) and even a blog analysis of the RFC.

Given the amount of interest there has been I thought I should give a bit more detail about what’s actually going on, and some of the current intentions for the PushStream API.


So what is a PushStream?

An OSGi PushStream is basically a Java 8 stream, but one that’s been upgraded to support “pushing” data, hence the imaginative name! The OSGi Alliance certainly isn’t the first place to talk about push-based streams of data (see Reactive Streams, Reactive Extensions and Akka) but a lot of people are still new to the concept, so we’ll start with some background.