Agorava core version 0.6.0 just hit Maven Central, even if the release notes are quite short, there are a lot of big improvement in this release.
First things first, here are the release notes.
- [AGOVA-29] – Tests fail with OpenWebBeans
- [AGOVA-23] – Get Rid of JBoss Logging
- [AGOVA-30] – Agorava OAuth 2.0 support doesn't follow rfc6749 (was Agorava doesn't support Empire Avenue)
- [AGOVA-31] – Removing Generics to ease control of the framework
Quite terse isn’t it? Let’s focus on main points
Stop using JBoss Solder Generics: a long story
To ease creation of new modules and end user’s application configuration, Agorava integrated from the beginning a solution to automatically create some generics beans. This solution was based on JBoss Solder Generic Beans extension. As you may know, Solder development was discontinued to be integrated in Apache Deltaspike. I tried 3 times to have this Solder functionality integrated to Deltaspike, but hadn’t enough time and energy to convince Deltaspike tech leader that it could benefit to other CDI framework development projects.
The problem was that Agorava was using Generics and that it was no more supported. First decision was to get this code from Solder and put it in an Agorava module. So we created Agorava-Utils (thanks to Ove Ranheim). In Agorava utils we put our own version of Solder Generics,but there were still issues with this solution, the main one being that Generics in Solder only worked with Weld.
So for his release, we decided to drop Generics and write our own extension system to automatically generate certain beans for each social media. Consequences of this redesign are a lighter code base to main and more important OpenWebBeans compatibility.
We added profile to test our code code against Apache OpenWebBeans 1.1.7+ (version used in Apache TomEE 1.5.1) and made sure that Socializer:https://github.com/agorava/agorava-socializer (our demo application) perfomed well under TomEE.
Off course Agorava still supports JBoss Weld 1.1.5+ (version present in JBoss AS 7.1.1).
So now Agorava works on the 2 main CDI implementations.
So long Solder, Hello Deltaspike
Leaving JBoss Solder include leaving JBoss Logging. We now use JUL as logging to continue reducing framework’s dependencies. Our new engine that replace Solder, makes use of Apache Deltaspike utility to register new beans when framework gets initialized. If you are interested to see how we use them, pay a visit to AgoravaExtension. I’ll probably write an article on this extension system.
Modules simultaneous release
For the first time, we also release simultaneously, Facebook, LinkedIn and Twitter module to 0.6.0 version. These release are there to provide modules supporting the new 0.6.0 API.
A fresh documentation
Finally, we updated the getting started guide to add the simplification we introduced with this release. Other documentation will be deliver in the coming week, so stay tuned.
What’s next ?
Version 0.7.0 has started, we’re going to integrate our own OAuth engine to prepare migration to OAuth client framework and add support to Apache Camel to provide better integration solution (especially for Social Media providing Streaming API).
In the meantime go for :
<dependency> <groupId>org.agorava</groupId> <artifactId>agorava-core-impl-cdi</artifactId> <version>0.6.0</version> </dependency>
and give us your feedback