As part of the Eclipse Luna release train the Gyrex development team has released version 1.3 of Eclipse Gyrex. Eclipse Gyrex is an cluster application framework on top of Equinox OSGi. It provides seamless and pain-free creation and operation of OSGi clusters.
With Gyrex 1.3. the following new functionality is available:
With the EventBus it’s now possible to distribute events between cluster nodes. Events can be of any type, i.e. they don’t need to implement a specific interface or extend an abstract class. This allows for a broad set of use-cases supporting pojos as well as sophisticated objects entities. Out of the box, strings byte arrays and byte buffers are supported event types. The (de-)serialization of event objects is extensible so that any preferred serialization mechanism can be used. Event handling is supported using either annotations on any public method with a compatible signature or by implementing a handler interface. They will be triggered once events of those types are distributed. With the EventBus feature you can support use cases like cluster wide cache invalidation of local (in-process) caches.
Servlet 3.1 API and WebSockets in JAX-RS application
Gyrex applications are mainly focused on providing REST-API resources, but with 1.3 it’s now also very easy to provide web sockets in your application. In addition to JAX-RS annotated resources and provides, servlets annotated with @WebServlet will be found and deployed. Also based on annotations you can build web socket endpoints and once you’ve configured your application in the Gyrex Admin Console and map it to an URL, the web socket is available immediately on all cluster nodes.
Of course, servlets support dependency injection using the @Inject JSR-330 DI mechanism, which includes injection of tenant specific objects (in a multi-tenant environment) as well as OSGi service proxies.
New Editor for Gyrex Context preferences in Admin Console
The web-based Admin Console got a new editor for modifying Gyrex context preferences. Previously, it was possible to modify preferences from the Gyrex shell (via telnet or ssh). The new editor provides a generic way to manage the preferences in a browser and will help you to more easily introduce and use preferences in your application.
Dependency Injection in distributed Eclipse Jobs API
The development of batch processing using the Eclipse Jobs API now support dependency injection. Instead of implementing and providing a custom JobProvider, Gyrex provides a ScanningJobProviderComponent implementation which can be registered as an OSGi DS component by any bundle. The component will scan the registering bundle for Eclipse Jobs annotated with @JobType. The jobs instances will be created on demand and support dependency injection using the @Inject JSR-330 DI mechanism, which includes injection of tenant specific objects (in a multi-tenant environment) as well as OSGi service proxies.
With Gyrex 1.3. we’ve updated many of the tools and dependencies we use in Gyrex. Most notably are the upgrades of Jetty 9.1, RAP 2.3 and EclipseLink 2.5.
Gyrex 1.3 can be downloaded here:
For more information, support and contributor engagement please visit eclipse.org/gyrex.