09 Nov 2011

feedAggregated feed of all JBoss feeds

Single lock owner: an important step forward

The single lock owner is a highly requested Infinispan improvement. The basic idea behind it is that, when writing to a key, locks are no longer acquired on all the nodes that own that key, but only on a single designated node (named "main owner").

How does it help me?

Short version : if you use transactions that concurrently write to the same keys, this improvement significantly increases your system' throughput.

Long version : If you're using Infinispan with transactions that modify the same key(s) concurrently then you can easily end up in a deadlock. A deadlock can also occur if two transaction modify the same key at the same time - which is both inefficient and counter-intuitive. Such a deadlock means that at one transaction(or both) eventually rollback but also the lock on the key is held for the duration of a lockAquistionTimout config option (defaults to 10 seconds). These deadlocks reduces the throughput significantly as transactions threads are held inactive during deadlock time. On top of that, other transactions that want to operate on that key are also delayed, potentially resulting in a cascade effect.

What's the added performance penalty?

The only encountered performance penalty is during cluster topology changes. At that point the cluster needs to perform some additional computation (no RPC involved) to fail-over the acquired locks from previous to new owners.
Another noticeable aspect is that locks are now being released asynchronously, after the transaction commits. This doesn't add any burden to the transaction duration, but it means that locks are being held slightly longer. That's not something to be concerned about if you're not using transactions that compete for same locks though.
We plan to benchmark this feature using Radargun benchmark tool - we'll report back!

Want to know more?

You can read the single lock owner design wiki or/and follow the JIRA JIRA discussions.

09 Nov 2011 8:57pm GMT

More locking improvements in Infinispan 5.1.0.BETA4

The latest beta in the Infinispan 5.1 "Brahma" series is out. So, what's in Infinispan 5.1.0.BETA4? Here are the highlights:

As always, please keep the feedback coming. You can download the release from here and you get further details on the issues addressed in the changelog .


09 Nov 2011 5:57pm GMT

RichFaces 4.1.0.M4 Release Announcement

The RichFaces 4.1 Milestone 4 release is now available for download! With this M4 release we focused on stabilizing the features we introduced in the earlier 4.1 release-train milestones (M1, M2, M3). The release following M4 will be our 4.1 release candidate, so we want to make sure we achieve maximum stability with M4. Some of the key areas we touched are listed below.

If your keen and want to get started right away, you can download the distribution directly, or for maven users, increment the RichFaces version in your pom.xml to For more information on setting up a RichFaces 4 application, refer to our getting started guide.

Mobile showcase improvements
The CSS 3 overlay was improved to provide better mobile compatibility of the components. We also added an ajax status indicator to the mobile showcase. Since it is entirely an ajax driven application, the status indicator improves the user experience dramatically.

Resource mapping
The resource mapping feature introduced in M3 has been made more usable, adopting a consistent naming convention, with reasonable defaults. Additionally the ability to completely disable the feature was introduced, should you want to handle resources yourself in your applications.

Client Side validation
Improvements to the client-side validation (CSV) involved better aligning the client-side regexp with the Bean Validation specification. The CSV mechanism for discerning component values on the client (using javascript) was enhanced to improve the CSV interop with other JSF component providers.

Individual component fixes
The file upload component has some new attributes, allowing for more fine-grained control over what the user is able to upload to the server. The pickList saw the switchByClick and switchByDblClick functionality from RichFaces 3 ported to RichFaces 4, further improving the RF 3 to RF 4 migration story.

Misc. Fixes
Some additional issues resolved include a jQuery update (to version 1.6.4), and improvements to both the simpleapp and GAE RichFaces archetypes. Many more fixes and improvements were checked, feel free to browse the issues fixed to see what else has been improved.

Forward: CR1 & Further Stabilisation
The CR1 development is currently ongoing, with a focus on providing documentation for all the new 4.1 features, and further stabilisation. So give M4 a spin, and let us know what you think! Drop a note in the forums, or join us for our weekly community/team meetings in IRC.

09 Nov 2011 5:35pm GMT

Weld 1.1.3.Final is out!

I'm happy to announce new Weld 1.1.3.Final release.

With this release we finally moved Weld Core Arquillian tests by default to JBoss AS7, making the build easier and faster -- thanks Stuart.

But this of course doesn't mean we forgot about other containers;

Other interesting issues or features include:

Weld' github master will now be the basis of future 1.2 releases, moving current to branch 1.1.

(since there already is an abandoned 1.1 branch, we'll first move that one to 1.1-legacy)

I also have a few exciting announcements - in case you missed them:

Onward to Weld 1.2 and 2.0!!

p.s.: let us know if there are any new issues with the latest release ;-)

09 Nov 2011 2:37pm GMT

JBoss Tools Shift Happens in M4

Shift Happens in the last planned milestone of JBoss Tools 3.3. Read on for more...


3.3 M4 (Shift Happens)

[Download] [Update Site] [What's New] [Forums] [JIRA] [Twitter]

JBoss Tools is a set of plugins for Eclipse that complements, enhances and goes beyond the support that exist for JBoss and related technologies in the default Eclipse distribution.

This time around we are adding in a central hub for users called JBoss Central, support for OpenShift, some OSGi magic, Runtime downloads and more...


As always, get and install Eclipse 3.7 (Indigo) JEE bundle - with the JEE bundle you get majority of the dependencies letting you save bandwidth:

Once you have installed Eclipse, you either find us on Eclipse Marketplace under "JBoss Tools (Indigo)" or use our update site directly.

The updatesite URL to use from Help > Install New Software... is:


JBoss Central

First time you install JBoss Tools M4 you will be greeted with what we've named JBoss Central. JBoss Central is a hub for getting easy access to Project Wizards, Examples, jboss.org news and additional Eclipse plugin installation.


It will show up on every startup by default which if you don't want it can be disabled in preferences. The editor will also show up when there are new updates to JBoss Tools plugins installed.

If you want to open central later you can find it under Help > JBoss Central.

OpenShift Express

OpenShift Express by Red Hat provides free, auto-scaling platform-as-a-service for Java, Ruby, PHP, Perl and Python applications. Until now to use it you've had to use command line tools like git and rhc-* commands; with JBoss Tools support for OpenShift you can do all of the hard work in the comfort of Eclipse.

To get started use the OpenShift Express Application Wizard available from File > New > OpenShift.


If you are a new user the wizard will walk you through the needed steps to setup an account, create domain and create applications.

If you are an existing user with existing applications it will allow you to log in, choose an application and import the project into Eclipse and in case of it being a JBoss 7 type application we will even setup a server for you in Eclipse server view that allows you to easily publish directly to OpenShift.

This publish is just a Git commit & push which you can also do from command line or manually via eGit in Eclipse - but with the server adapter integration you get a simple and easy way of doing it without having to deal with git manually.

Materialize Library

Eclipse likes to encapsulate jar library access in Classpath Container's and sometimes these classpath containers are great to begin with but for various reasons you might want to decouple your Eclipse projects from the plugin providing the classpath container or maybe you've used one of the great Project Examples or quickstarts we provide via JBoss Central but you don't want to use Maven to manage your libraries/build then this feature also comes handy.

We've added an experimental feature named "Materialize Library" which is available in the context menu of classpath containers in Eclipse.


Once you click that JBoss Tools will present you with a dialog asking where to put the libraries and once you press Ok your project will no longer be dependent on the classpath container, but instead have a copy of the jars and all configured as it was inside Java Build path still; allowing you to more easy build and migrate your project to another setup if need be.

Richfaces 4

We've implemented support in the visual page editor for the new and updated JSF components in Richfaces 4.


CDI & Seam Solder

The CDI tooling this time around continues to add more quick fixes, improved navigation and adds an "Open Named CDI Bean" dialog for easy lookup of named CDI beans.


It also adds support for the new package naming in Seam 3.1.Beta4 for the Solder and Config modules, while still maintaing support for previous Seam 3 releases.

Forge in Color

Forge console now has better editing, is now using color rendering and is made easily available with the new Ctrl+4 (or Cmd+4 on OSX) shortcut.


JBoss OSGi

The JBoss adapter now supports dragging Eclipse PDE (OSGi) projects to the server and it will use the default PDE export to create and bundle the archive.

Runtime downloads

JBoss Tools now provide easy access to download runtimes such as JBoss AS and Seam (more to be added in the future).

This feature are directly available from JBoss Tools Runtime Detection preference page.


or via use of Project Examples that requires a runtime.


The downloaded runtimes will be installed in a directory of your choosing and will be configured to be ready for use within Eclipse/JBoss Tools.

And more...

There are additional screenshot and features to browse over at What's New & Noteworthy

This is our last planned milestone, beta is next thus its time to make your voice heard and speak up if there are features that aren't giving you what you need.

Leave a comment to let us know!

And as always,

Have fun!

09 Nov 2011 9:46am GMT

08 Nov 2011

feedAggregated feed of all JBoss feeds

Networked Society "on the brink"

08 Nov 2011 7:59pm GMT

06 Nov 2011

feedAggregated feed of all JBoss feeds

Guvnor - Using jBPM Work Items in decision tables

Work is now complete for 5.4.0.beta1 to use jBPM Work Items in the guided decision table.

New Actions have been added to perform the following:-

Significantly, to maximize the usefulness of using Work Items in actions, is the ability to define bindings for Fact field values. This allows Facts' fields to be passed to Work Items.

Bound fields can also be used in predicate and formula Condition definitions too; which opens a world of further possibility which up until now has been unavailable.

Work Item definitions can either be defined as assets in Guvnor or included in a workitem-definitions.xml the format of which follows the normal jBPM Work Item definition.

A short video here demonstrates using Work Items in a decision table and a short example of how the feature can be leveraged from a Java application.

Unrelated to Work Items, but a welcome addition, is the ability to define an action to retract Facts.

06 Nov 2011 9:13pm GMT

05 Nov 2011

feedAggregated feed of all JBoss feeds

The Decision Model IP Trap

Remember the Gif submarine patent from Unisys?
It's a classic story of why OSS and standards in general do not mix with patents.

While at business rules forum this year I was asked by Larry Goldberg, one of The Decision Model (TDM) authors what our plans were for Drools and TDM. You can read more about what TDM is here:

While discussing future ways we could work together I asked them what their business model was. After discussing consulting and training I asked if there was a scalable business model, thinking maybe certification centres around the TDM brand. He answered IP. I asked what IP, for I was not aware of any software they had, he answered TDM is patented......... Say what now?

Yes I was kinda stunned by that too. I replied I couldn't discuss TDM any further or look at software that implemented it, without Red Hat legal guidance. This field is covered extensively in research, I don't believe they have anything that for instance isn't already covered by the god father of decision tables at Leuven University, Jan Vanthienen.

Mr Goldberg seemed confused by this, offering that everyone has to deal with patents when using software. Obviously someone who has not got the Red Hat message. So for those that don't know, let me spell it out :)

Open Source and Patents do not mix. When you get software from Red Hat you are guaranteed its 100% Open Source, not maybe OS or partly OS. From top to bottom, inside and out 100% OS goodness. But it doesn't stop there Red Hat guarantees and indemnifies it's customers that the software is not IP encumbered in any way. Those are cast iron assurance built universally into the Red Hat brand, and it's why Red Hat is the world's number one OSS company.

So you can imagine that making available the patent encumbered TDM as part of Drools does not fit with the above assurances and does not and will not happen.

For those vendors, OSS or not, make sure you are aware of this and have agreed licensing deals before walking into this IP trap and getting gauged later.

I hope that the TDM people might consider giving universal and perpetual access to their patent to allow wider adoption. I believe Red Hat has a patent pool they can donate too, if they need help in how to do this.

I would add that I have simplified things here. For instance various Open Source efforts are under way for defensive patents, to protect OSS, http://en.swpat.org/wiki/Defensive_patent_pools . Also some OSS licenses, like Apache allow patents but give universal access, while retaining the rights to act defensively. We have patent applications in the Drools team For this reason. You can read more about the Red Hat patent promise here:

In the mean time we in the Drools team will continue to take our inspiration from the excellent and unencumbered research projects; Prologa and XTT2.

Disclaimer: This post is made in a personal capacity. Nothing written above should be construed as Red Hat's corporate position.

05 Nov 2011 10:27pm GMT

03 Nov 2011

feedAggregated feed of all JBoss feeds

This week in JBoss (3rd November 2011)

"Trick or Treat" is a shout heard often at this time of year and have we got some treats for you! With many of the developers and Community members on the road, visiting parts of Europe to meet, present at conferences and have discussions on various JBoss technologies, there have been lots of fantastic opportunities for those lucky enough to attend.

JUDCon and JAX

The week started with a collaboration between JUDCon and JAX London; two conferences, held at the same venue, with overlapping streams.

The first day consisted of three streams covering

  • Rules, Workflow, SOA and EAI
  • OpenShift/Cloud
  • Cool Stuff

but things didn't stop there. There were more goodies in the evening, after a break for drinks and dinner, when we had a live JBoss Community Asylum podcast followed by Lightning Talks, a Hackfest and more drinks.

The second day was shared with attendees of the JAX Conference and consisted of a stream covering JBoss Application Server 7 and its technologies. We were also fortunate to have Dr. Mark Little presenting the JAX Keynote, discussing Red Hat's vision of "Middleware Everywhere".

You can find more information on the topics covered in these streams by looking through the conference agenda.

Many of the presentations will also make their way online and, when they do, we will include them in this editorial.

We already have

Expect to see more in the upcoming weeks.

EclipseCon Europe

EclipseCon Europe was the next stop on the trail, taking place in Ludwigsburg, Germany, and is the annual, European conference of the Eclipse open source community.

Two JBoss developers will be present

as well as another Red Hat colleague, Andrew Overholt, who will be presenting on IcedTea and IcedTea-Web, Hands on with the C/C++ IDE and Eclipse Linux Tools Project Update.


The final conference of the week, Java2Days, takes place in the beautiful city of Sofia in Bulgaria, and is a major Eastern European conference covering Java technology and development.

Two JBoss developers will be present

  • Andrew Lee Rubinger with two sessions on Arquillian and AS7
  • Lincoln Baxter III with two sessions on URL rewriting for the Web User and Rapid Development using JBoss Forge

Immutant is born

One of the most exciting announcements of the week was the birth of Immutant, a project which aims to do for Clojure what TorqueBox is doing for Ruby. Jim Crossley made the original announcement and followed up with a good posting about Enterprise capabilities and why we believe they are important.

If you are interested in getting involved, helping to shape the integration of Clojure with the appserver, then please follow along on Twitter, join the mailing lists or jump on IRC.

jPBM Form Builder

If you are interested in keeping up with some of the advances in the jBPM Form Builder project then take a look at Mariano's posting, a follow-up covering the new Flexible Table UI component.

New Releases

As if all that wasn't enough to 'whet your appetite', here's a roundup of the new project releases

October 28th - Randall announced the release of Modeshape 2.6.0.Final

October 31st - Heiko announced the release of RHQ 4.2

October 31st - Jesper announced the release of IronJacamar 1.1.0.Alpha3

Upcoming Events

Keep an eye open for JBoss developers and Community members attending the following events.

November 14th-18th - Devoxx 2011 in Antwerp

November 16th-18th - QCon San Francisco 2011

Unfortunately both of these are now sold out but hopefully you already have your passes

That's all for this week, stay tuned for more updates from the Weekly Editorial.

Update 4th Nov: Added Link to Geoffrey's slides from JUDCon

03 Nov 2011 10:42pm GMT

JUDCon 2011:London - OGM Introduction Demo

Fresh back from JUDCon 2011:London, I quickly want to blog about my Hibernate OGM presentation. For the impatient, all the code and the presentation itself is available on GitHub - ogm-kitchensink. The README.md gets you started with building, testing and deploying the code. Deployment is possible into a local JBoss AS 7 instance as well as into OpenShift Express.

The demo is based on the AS 7 quickstart application kitchensink and shows a registration screen with name, email and phone number. Even though this is a very simple application there are several interesting things going on under the hood, most importantly the use of OGM :-)

AS 7 modules

The demo uses OGM in the version 3.0.0.Alpha2 which requires Hibernate Core 3.6. However, AS 7 ships with Hibernate 4. The solution to this problem is to define a Hibernate 3 module as described by Scott in Using a different persistence provider with AS 7.0.1 . The demo does exactly that. In fact it actually bundles all the steps described in the blog and let you create the required modules via a single maven command. Just check out ogm-kitchensink, make sure your JBOSS_HOME variable is set properly and run:

mvn groovy:execute

This will copy all required module jars and configuration files into the appropriate location of your local AS 7 instance.

Running the demo locally

Provided you have installed the modules and started JBoss AS, you can run the demo locally as simple as:

mvn clean package jboss-as:deploy


Of course the demo comes with a test. Check out MemberRegistrationTest to see how to put together a Arquillian test and then run the test either via:

$ mvn test 


$ mvn test -DremoteTests=true

Check the profile setup in pom.xml to see the difference in the configuration.

OpenShift Express

Last but not least, let's push the demo into OpenShift Express. This is as simple as signing up for OpenShift, installing the rhc command line tools and then running:

 $ rhc-create-domain -n <domain>
 $ rhc-create-app -a <app> -t jbossas-7.0 --nogit
Success!  Your application is now published here:


The remote repository is located here:

 $ git remote add openshift <repo-url>
 $ git push -f openshift master

The interesting bit here is to get the required modules installed on the server side. It turns out, all you have to do is to check add them to the git repository under .openshift/modules.

Again, check out README.md, script.md and the presentation slides for more information.

Looking forward to some feedback,


03 Nov 2011 5:05pm GMT