Skip navigation

This past week,'s Java Today news items and blog posts covered a broad range of topics, with GlassFish/JavaEE, tools/IDEs, platforms/frameworks, and JUGs/Conferences all receiving considerable coverage. If you didn't get a chance to visit on a daily basis in the past week, read on, and you'll find all of the week's Java Today news items, a selection of blog posts, and the old and new spotlights and polls.

This week's index:

JavaEE, GlassFish

Last week's Spotlight was Eduardo Pelegri Llopart's announcement of GlassFish 3.1 M1 - The First Milestone:

It is just the first milestone but GlassFish Server Open Source Edition M1 already has significant functionality, including Basic Clustering (creation/deleting/start-stop), infrastructure forDynamic Reconfiguration, and Application Versioning. Application Versioning merits a special mention because it is a contribution from a new group from Serli...

Last week's poll asked What's the most important enhancement in GlassFish Server Open Source Edition M1? A total of 128 votes were cast, with the following results:

  • 33% (42 votes) - Basic clustering
  • 7% (9 votes) - Infrastructure for dynamic reconfiguration
  • 13% (16 votes) - Application versioning
  • 17% (22 votes) - All of the above
  • 27% (35 votes) - I don't know
  • 3% (4 votes) - Other

Arun Gupta posted a list of GlassFish 3.1 - One Pagers Available For Review:

GlassFishServer Open Source Edition continue to follow the open and transparent process for the upcoming 3.1 release. The key functional drivers are: * Clustering and Centralized Administration; * High Availability. This will bring GlassFish Server Open Source Edition 3.x in feature parity with GlassFish v2. Several components have published one pagers on the dev/user alias and are available for review. Here are the one-pagers that are currently available today (in no particular order)...

Alexis Moussine-Pouchkine posted GlassFish : Open to Participation, ask Serli!

"Open" can mean a lot of different things, including in the context of GlassFish. In this entry, I'd like to discuss being open to participation. The GlassFish community welcomes all sorts of participation. It probably starts with people asking questions and sharing their experience on the mailing lists or forum. The level of activity and response time there varies quite a bit. The engineering team is now crazy busy with the releases of 3.0.1 and 3.1 and as such this is a slower month than usual (with previous ones showing on the contrary record trafic). The other participation activity we'd like to encourage is filling bugs. It's often much better than trying to fix problems via email (permalink, artifacts, status, priority, etc...) and the bar isn't really high...

In the Aquarium, Arun Gupta provides May/Jun 2010 - Java EE & GlassFish Events:

Java EE 6 and GlassFish team is traveling to different cities in Jun 2010, feel free to engage with them at any of the following venues: * EclipseLink Summit, Ottawa, May 25-27; * Java Hot Topic: Java EE 6, EJB 3.1, and GlassFish 3, Tokyo, May 29; * Several speakers at Jazoon, Zurich, Jun 1-3...

Eduardo Pelegri-Llopart talked about GlassFish 3.1 - Embedded:

One of the key new features in the GlassFish 3.1 Open Source Edition is Embedded. Siraj Ghaffar, the project lead, has captured the details on the project in the Embedded One Pager and is soliciting feedback via the USER alias (markmail / forum). GlassFish is a natural match for embedded: it's small and starts fast, it's complete (all of JavaEE 6), it's modular, and it's open source...

Masoud Kalali posted Introducing OpenESB from development to administration and management:

This a rather long article covering OpenESB (Open ESB) administration and management along with discussing a complete sample application shows how to develop solutions based on OpenESB.

This week's Spotlight is Jiandong Guo's Enterprise Tech Tip, Security Token Service and Identity Delegation with Metro:

Metro is a high performance, extensible, easy-to-use web services stack. It combines the JAX-WS reference implementation with Web Services Interoperability Technology (WSIT), an implementation of numerous WS-* standards to enable interoperability with other implementations and to provide Quality of Service (QOS) features such as security, reliability, and transaction support...

Tools, IDEs, etc.

Geertjan Wielenga discovered the Best Lead In to Explain NetBeans FilterNode:

I'm working through some edits for the "Node and Explorer View" chapter of the upcoming NetBeans Platform 6.9 book by Jurgen Petri. I quickly want to share why I think this book will be so great, by means of a text I've just been working on, which is (to my mind) the best lead in to a discussion on org.openide.nodes.FilterNode that I have ever read: "There may be situations where you are not really satisfied by an existing node hierarchy. You may want to construct a new node hierarchy, based on the original nodes, but with different behavior. For example, you may want to provide different icons or filter out child nodes, while wanting to keep the rest of the behavior of the original node..."

Geertjan also told us How to Take NetBeans Platform Trainings in South Africa!:

Over the years I've been in touch with several developers in South Africa interested in a NetBeans Platform Certified Training. Yesterday, Mark Clarke from Jumping Bean, an open source Linux and Java consultancy in South Africa, wrote to indicate they'd be interested in organizing NetBeans Platform trainings. Jumping Bean is an LPI Certified Training Partner and already run Drupal trainings as well, while they're now considering moving into the Java/NetBeans space too...

Finally, Geertjan talked about Getting Started Creating Workflow Editors on the NetBeans Platform:

Lots of interest in workflow applications atop the NetBeans Platform, I believe, so let's create this today as an example... How to create the above from scratch...

The NetBeans team announced NetBeans 6.9 Release Candidate 1 Available for Download:

The NetBeans Team is pleased to announce that the first release candidate build of NetBeans IDE 6.9 is now available for download. * Download NetBeans 6.9 Release Candidate 1 * Learn More about NetBeans 6.9 * NetBeans 6.9 Tutorials & Videos Download NetBeans 6.9 RC1 and provide feedback or join discussions about the build on our mailing lists and forums...

JetBrains (think IntelliJ IDEA if you don't recognize the name) contacted me this week announcing three new product releases:

  • YouTrack 2.0: "Innovative bug and issue tracker becomes even more flexible and secure without sacrificing simplicity"
  • PhpStorm 1.0: "PhpStorm provides rich and intelligent code editor for PHP with syntax highlighting, extended code formatting configuration, on-the-fly error checking, and smart code completion."
  • WebStorm 1.0: "The best HTML, CSS and JavaScript editor is at your fingertips. Navigate through files easily. Use relevant autocompletion for everything in your code. Get notified about code problems on the fly. Complicated languages mixtures with HTML markup or SQL inside a JavaScript? Check how a modern IDE such as WebStorm handles this."

It seems like the JetBrains team has a keen eye for noticing areas where developers could use some assistance; then they provide the tools to help us increase our productivity.


Michael Huttermann provided an Agile ALM -update-:

Manning has polished/edited the preface and the first six chapters of my manuscript. At the moment, I'm waiting for the editing result of the last two chapters of my book, chapters seven and eight. Manning committed to complete their polishing process by May, 23th, on the completed manuscript, which was also edited by a commercial editing service before, on my behalf and at my cost. Still no update on entering MEAP mode, and no concrete update on the timeline for going to production...

Collin Fagan described Using StringTemplate: Part 1 "An introduction to StringTemplate":

StringTemplate is a java template engine for generating source code, web pages, emails, or any other formatted text output. Part 1 in this series starts with an introduction to StringTemplate and it's basic syntax.

Platforms, Frameworks

Kirill Grouchnikov announced Onyx reloaded:

Exactly a year ago I’ve introducedproject Onyx – animation blueprints for Swing using the Trident animation library. Onyx is a small application that loads album information for the specific artist from the Internet and displays it as a scrollable gallery. Here is how Onyx looked a year ago...

Dustin Marx asked O JavaFX, What Art Thou?:

I have read and started to learn about JavaFX twice and both times have been "strikes" in the sense that there wasn't enough there to really use. Both of these forays into JavaFX occurred at the time of 2007 JavaOne and 2008 JavaOne as a result of the pomp and ceremony at these conferences regarding JavaFX. Both times, I stopped wasting my time because I realized that it wasn't ready for prime time yet. As in baseball, the third strike is a strike-out, so I've been hesitant to investigate JavaFX or spend any more time on it unless I'm convinced it's finally something more than bluster and slideware.

The announced Oracle acquisition of Sun led me to wait for that third try until after Oracle had made its JavaFX-related intentions clear. Oracle has now done that and it sounds positive for JavaFX...

Amy Fowler posted some thoughts about JavaFX 1.3: Growing, Shrinking and Filling -

Establishing dynamic sizing behavior is one of the trickier aspects of GUI layout. For JavaFX 1.3, we’ve introduced the grow/shrink/fill layout preferences on Resizable nodes to support more sensible default resizing behavior of controls and containers out of the box. And while this feature is at first hard to get your head around, once it clicks, it pays. We have to credit this one to Stephen Chin (JFXtras), who proposed this concept from his Grid API...

Osvaldo Pinali Doederlein continued his JavaFX: Language investigations:

My previous blog, presenting the Life program, was quite long, still not really complete. I've continued the work, but soon found some interesting surprises. This new blog starts investigating an API bug, then trips into some surprising language behavior, and ends in a proposal for a small change in the JavaFX Script language.

Cay Horstmann talked about Another Java Web Start Pitfall:

Yesterday, I installed shiny new Ubuntu Lucid Lynx on a shiny new laptop. This morning, I launched a Web Start application, and Java Web Start failed. Nothing newsworthy there, except that this time, the failure was particularly bizarre. Googling shows that I am not the only one with this particular problem, but since nobody else offered a solution, I decided to investigate. Here is the diagnosis and an easy fix.


Jeff Friesen started a new JDK 7 article series on InformIT. The first article is Exploring JDK 7, Part 1: New Language Features:


JavaEE and Glassfish were in the spotlight on in the past week. If you didn't get a chance to visit on a daily basis in the past week, read on, and you'll find all of the week's Java Today news items, a selection of blog posts, and the old and new spotlights and polls.

This week's index:

JavaEE, GlassFish

Eduardo Pelegri-Llopart looked ahead Towards GlassFish 3.1 - Best Thing since Sliced Bread:

A lot of progress on GlassFish Server Open Source Edition 3.1.  If everything goes according to plan, by the end of the year we will have a release that has all the benefits of 3.0 and of 2.1.1.  From 3.0 it remains modular, embeddable and with JavaEE 6 and OSGi support.  From 2.1 it adds clustering and HA. It will continue to be Open Source and will interoperate with key Oracle middleware components...

Eduardo was also Introducing the Oracle GlassFish Server Control:

I had missed the new name for the old Sun GlassFish Enterprise Manager - it is now called the Oracle GlassFish Server Control, and we have just published its Data Sheet.  Also in the official Oracle documentation you can find the Data Sheet for Oracle GlassFish Server, as well as the System Requirements and the FAQ...

Alexis Moussine-Pouchkine announced GlassFish and add-ons now available for download from Oracle eDelivery:

As part of the move to the "Oracle way of doing things", GlassFish and its add-ons (the GlassFish Enterprise Manager, now rebranded as GlassFish Server Control) are now available from Oracle's onestop download site Once you've logged in, follow this link (or click on the image) to get to the list of Sun downloads...

Eduardo Pelegri-Llopart highlighted the new SailFin CAFE Series at DZone:

Binod has started a series at DZone on SailFin CAFE: * Fundamentals, Part I: CommunicationBeans and Agents *Fundamentals, Part II: Communications and UserProcedures, w/ example. SIP is heating up but the programming of (SIP+HTTP) Converged Applications remains too complicated...

On Artima Developer, Bill Venners talked about Seven Lessons on Scalability from Reddit:

At a talk at the Future of Web Apps this year, Steve Huffman, co-founder of, summarized seven lessons learned while building and growing the social link and discussion site. The video is here...

Arun Gupta presented TOTD #136: Default Error Page using Servlets 3.0 - Improved productivity using Java EE 6:

Servlets 2.x allowed to create a mapping between an HTTP error code or an exception type to the path of a resource in the Web application. This is achieved by specifying an "error-page" element in the "web.xml". The element definition looks like...

Arun also provided TOTD #137: Asynchronous EJB, a light-weight JMS solution - Feature-rich Java EE 6:

One of the new features introduced in Enterprise Java Beans 3.1 (JSR 318) is asynchronous invocation of a business method. This allows the control to return to the client before the container dispatches the instance to a bean. The asynchronous operations can return a "Future" that allow the client to retrieve a result value, check for exceptions, or attempt to cancel any in-progress invocations...

This week's Spotlight is Eduardo Pelegri Llopart's announcement of GlassFish 3.1 M1 - The First Milestone:

It is just the first milestone but GlassFish Server Open Source Edition M1 already has significant functionality, including Basic Clustering (creation/deleting/start-stop), infrastructure for Dynamic Reconfiguration, and Application Versioning. Application Versioning merits a special mention because it is a contribution from a new group from Serli...

This week's poll asks What's the most important enhancement in GlassFish Server Open Source Edition M1?

Binod posted SailFin CAFE Fundamentals Part II: Communications and UserProcedures (with an example):

Here is the second part of the CAFE fundamentals blog series. This time, I am explaining two important interfaces called Communication and UserProcedure with an example. If this is the first time you are hearing about SailFin CAFE, I recommend reading the CAFE fundamentals article and the blog on writing your first CAFE application. The core of this discussion is an example which shows...

Masoud Kalali announced that his Java EE Security Refcard is now available for download at no cost:

Java EE Security refcard is available for download. This refcard covers Java EE 6 security and discuss how each application server supports the specs. The refcard covers authentication, authorization, and transport security in Web Application, EJB application and web services by introducing the concept and the related annotations and deployment descriptors which help us realize the concept.

Juliano Viana presented Applicaction configuration in Java EE 6 using CDI - a simple example:

CDI (Contexts and Dependency Injection for the Java EE platform) is defined in JSR-299 and enhances support for dependency injection in Java EE 6. The more I use CDI the more I like it...However, I couldn't find a simple example of how to configure your application with CDI by reading configuration attributes from a file. Here is an example of how it can be done: Specifying injection points...

Masoud Kalali provided GlassFish Security book FAQ 1: Custom Security Realm in GlassFish:

I decided to write down the answer for some questions which my book's readers email me or ask me via twitter in my weblog so everyone can benefit from the answers. Here is the answer to the first question which involves custom security realms. GlassFish supports 5 types of security realms out of the box which are sd follow: File Realm: Usefull for development and testing purposes. GlassFish...

Masoud also posted Introducing NIO.2 (JSR 203) Part 1: What are new features?

I will write a series of blog introducing what are new features for handling I/O in Java 7. In the first part we are just going to check what do we have in Java 7 for dealing with I/O requirements which were not included in the previous versions of Java platform standard edition.

Tools, IDEs, etc.

James Lorenzen described How to create a release without the maven2 release plugin:

One of the most referenced articles I have written is "How to create a release using the maven release plugin". But what if you can't get the maven release plugin to work with your project? Perhaps like our team, you've got a legacy maven2 multi-module project that's been nigh impossible to use with the release plugin. Our project has a mix of WAR modules combined with some Flex modules. I believe our last issue was some googlecode flex mojo wasn't working with the release plugin. Consequently, for the past year or so, we've been manually creating our releases. This actually hasn't been that much of a pain since we really only do it once a sprint at the end. Combined with my favorite perl script it doesn't really take that long... Geertjan Wielenga explained What I Don't "Get" About Eclipse Advocates...:

Read this article by Ian Skerrett on Eclipse Zone and then read this blog entry by Chris Aniszczyk. Both Chris and Ian are prominent members of the Eclipse community. Their "take" on the new possibilities of NetBeans Platform applications to include OSGi bundles and even to run natively as OSGi bundles is interesting. Rather than saying: "Hey, awesome, great to hear!", both the responses seem to be along the lines of: "Welcome out of the stone age and, yes, we've been right all along!" Not exactly a warm embrace...

Geertjan also discovered Warehouse Management Framework on the NetBeans Platform:

Time for another YANPA. And this time it's.... myWMS by LinogistiX. myWMS is an open source project and modular framework for the creation of Warehouse Management Systems. In addition to the framework, a ready-to-use application is provided. The application includes a rich-client based on the NetBeans Platform, as well as a web application for mobile devices. It is designed to handle manually operated warehouses, as well as barcode scanners and mobile devices to reduce paper-driven workflows, enabling efficiency throughout the process...

Michael Remijan provided instruction on JavaLobby on Automating Releases With maven-release-plugin:

The maven-release-plugin is used to automate a lot of the manual steps involved in releasing new versions of your software. The automation prevents mistakes which ultimately occur using a manual process. The amount of work the plug-in does is impressive

JUG meetings, JavaOne, Java tools, JavaEE, and Glassfish shared the spotlight on in the past week. If you didn't get a chance to visit on a daily basis in the past week, read on, and you'll find all of the week's Java Today news items, a selection of blog posts, and the old and new spotlights and polls.

This week's index:

Tools, IDEs, etc.

The Hudson Mobiteam announced Hudson CI Ver. 2.0 for Android is coming soon!

After the recent news on the US marketplace, I decided to start the support for Android OS 2.1 on the popular Hudson Mobi CI client for iPhone. HTC is becoming very popular with its new Nexus One (aka Google Phone), Legend and Desire models. How many of you are using Android vs iPhone ? The Android OS seems to be much more flexible in terms of Application development, so you shouldn

Van Riper contacted me about this Wednesday's Bay Area JUG Roundup 2010. The roundup will take place at the Oracle Conference Center in Redwood City, CA, from 6 to 9 PM, Pacific time. As I write this post, there are still 116 tickets available. The event is free for JUG members. However, registration is required.

As Van points out in his post about the event, the "J" in JUG really stands for "JVM" today -- JUG meetings are for anyone who works with or is interested in languages that run on a JVM. Course, that opens up the question: what does the "J" in JVM stand for today? Hmm...

Anyway, back to Wednesday's event! So, what's on the agenda?

  • 6:00 - 7:00: Networking (food and beer)
  • 7:00 - 7:45: Sonya Barry on migration
  • 7:45 - 9:00: Break
  • 8:00 - 9:00: Java Possepodcast

Two of those who attend will walk away with a free JavaOne pass; two other people will receive a Kindle with O'Reilly and Pearson ebooks preloaded; seven people will receive technical books; and all who attend will receive an Oracle Technology Network t-shirt.

If you're not able to attend, you can still participate via a live streamcast of the event.

Subscriptions and Archives: You can subscribe to this blog using the Editor's Blog Feed. You can find historical archives of what has appeared the front page of in the home page archive.

-- Kevin Farnham
O'Reilly Media
Twitter: @kevin_farnham

Hot topics on this past week included Glassfish and JavaEE, JavaFX, and JVM/JDK related news. If you didn't get a chance to visit on a daily basis in the past week, read on, and you'll find all of the week's Java Today news items, a selection of blog posts, and the old and new spotlights and polls.

This week's index:

Tools, IDEs, etc.

Toni Epple wrote about NetBeans in AnnotatedBeanNode:

There's a lot of boilerplate code if you want to display PropertySheets for a Bean in NetBeans. You need to create a Node and write code to create the PropertySheet. There are some classes like the BeanNode to make things easier, but the functionality is very basic, unless you want to write BeanInfo classes. I’ve just dusted off some annotations I found useful a while ago and uploaded them to Kenai:

Geertjan Wielenga discovered the MASON Multiagent Simulation Toolkit on the NetBeans Platform:

MASON is a fast discrete-event multiagent simulation library core in Java, designed to be the foundation for large custom-purpose Java simulations, and also to provide more than enough functionality for many lightweight simulation needs. MASON contains both a model library and an optional suite of visualization tools in 2D and 3D. MASON is a joint effort between George Mason University's Evolutionary Computation Laboratory and the GMU Center for Social Complexity...

Geertjan Wielenga provided an update on Griffon and NetBeans IDE 6.9 Beta:

I tweaked the Griffon plugin for NetBeans IDE slightly (removed some obsolete dependencies then recompiled the two NBMs and created a new ZIP) and now it is available for NetBeans IDE 6.9 Beta, look for yourself to see the evidence below, which is a complete work environment for development of Griffon applications...

John Ferguson Smart announced that A new chapter of the 'Continuous Integration with Hudson' book is available:

A new draft chapter of the 'Continuous Integration with Hudson' book is now available online. This new chapter discusses basic Hudson Configuration. You can download the PDF version on the book web page. As usual, all comments are welcome! There is also now a Wiki on Github for the book, for people who would like to contribute case studies or discuss potential topics that should...

Last week's poll asked Do you plan to download the new NetBeans IDE 6.9 Beta release?A total of 327 votes were cast. The results were:

  • 29% (94 votes) - I've already downloaded it
  • 12% (40 votes) - Yes, I plan to download it soon
  • 5% (16 votes) - I haven't decided yet
  • 26% (84 votes) - No, I'll wait for the final 6.9 release
  • 26% (84 votes) - No, I use another IDE
  • 3% (9 votes) - I don't know

JavaEE, GlassFish

Alexis Moussine-Pouchkine published Staying up-to-speed with GlassFish 3.0.1 developments:

With the GlassFish roadmap for the Open Source Edition published and development going full swing for its3.0.1 release, you may be interested to track development progress as it happens (lots of bugs being fixed). In the case of this blog entry, "as it happens" means following the "promoted" builds which have gone through more testing than the nightly builds and certainly more than the continuous integration builds. Of course you can also build from source.

In the Aquarium, Eduardo Pelegri-Llopart analyzed Why Customers Pay for Open Source Projects? - GlassFish v2 U2 Patch 16:

Our sustaining organization just released yet another sustaining release to our GlassFish customers. This is GlassFish v2U2 p16, aka GlassFish v2.1 p10, aka GlassFish v2.1.1 p4. All patch releases (v2 overview) are cumulative; p4 fixes 25 new defects, accumulating 97 fixes since v2.1, or more to than 829 defects since v2U2!

Also in the Aquarium, Alexis Moussine-Pouchkine studied the data on the GlassFish GeoMap - Fast approaching the 1M unique IP mark:

The new GeoMap for April 2010 is now available from the usual address: and it shows a small drop over March (which was a record month). Some statistics: • Monthly Admin Pings - 615,139 (+13% y/y); • Monthly Admin Pings - 48,531 distinct IPs (stable y/y); • Cumulative14,987,314 Admin Pings from 995,443 different IPs ...

Ludovic Poitou announced that OpenDS 2.3.0-build002 is now available...:

We have just uploaded OpenDS 2.3.0-build002, a new snapshot from the development branch of the OpenDSproject, to the promoted-build repository. OpenDS 2.3.0-build002 is built from revision 6400 of our source tree. The direct link to download the core server is: The direct link to download the DSML gateway is: We have also updated the archive that may be used to install OpenDS via Java Web Start...

Eduardo Pelegri-Llopart talked about the upcoming EclipseLink Summit 2010:

The EclipseLink team, is organizing a Development Summit in Ottawa.   This 3-day event (May 25th to May 27th) will provide detailed technical information on the project.  Doug Clarke, the organizer, isinviting committers, contributors, and consumers. In addition to Doug, presenters include GordonYorke, TomWare, MikeKeith and PeterKrogh.  The Summitpage keeps a list of attendees; also see the original invitation. EclipseLink is, of course, the JPA 2.0 Reference Implementation and the default JPA Provider used in GlassFish v3...

Eduardo also announced that the Focus on GlassFish v3 means no GlassFish 2.1.2:

We have adjusted slightly our Roadmap for GlassFish Server Open Source Edition. Oracle does not currently need an Oracle-branded 2.1.2, which means we can drop that release - at least for now - and stay focused on the v3 family.  The 3.0.1 release remains and is making very good progress, and so is 3.1 - regular builds of both are now available. We recently updated the GlassFish wiki with a plan description for 3.0.1; that for 3.1 is in progress...

And Eduardo updated us on Patterns and Samples for GlassFish from Antonio and Adam:

Kenai is backafter its data center move (congrats to David, Lea, et al!) so this seems a good moment to remind GlassFish users of Adam and Antonio's projects on Patterns and Samples.  Both projects are based on best-selling books, both leveraging JavaEE 6 and using GlassFish...

Intland Software reported that Distributed Development Can Now Go Offline:

Managers, consultants, programmers waste so many valuable time sitting on the plane, working on-site disconnected from the outside world, or just not having access to any wifi hotspot. Intland Sofware now allows doing your work anywhere, even offline. We are happy to annouce the 2.0 release of codeBeamer Eclipse Studio(CBES). This Eclipse plugin takes all your information offline (including source code, version control of any file, and tasks), and enables you to continue your work remotely and securely. It also helps to synchronize with your web-based data at a later time.

Arun Gupta provided TOTD #133: JPA2 (JPQL & Criteria), JavaDB, and embedded GlassFish - perfect recipe for testing:

TOTD #132 explained how to use embedded GlassFishfor deploying/testing a simple Servlet. As mentioned in that blog, this Tip Of TheDay (TOTD) will extend that entry and show how to create a simple test that: * Creates a JDBC Connection Pool using GlassFish APIs; * Creates a JDBC Resource using that Connection Pool, again programmatically...

Lance Andersen posted Using Bean Validation with EclipseLink in a Java SE Environment:

The Bean Validation specification went final around the same time that the Java EE 6 specifications went final. The Java Persistence 2.0 specification allows for Managed classes (entities, mapped superclasses and embeddable classes) to be configured with Bean Validation constraints. In this example we are going to use Eclipse Galileo which you can download and then install from here. You will...


Stephen Chin posted Announcing the Apropos Project:

At the Lean Software and Systems Conference a week ago, Israel Gat, Erik Huddleston, and I did a presentation on Reformulating the Product Delivery Process. At the end of this talk, we unveiled an open-source, JavaFX tool called Apropos that we use for Product Portfolio Planning at Inovis...

Dustin Marx reported on some Interesting Software Development Tidbits - Early May 2010:

In this blog post, I summarize and reference some recent software development blog posts that I have found to be particularly interesting. These cover subjects such as the future of Java, the need for developers to have database skills, locating Java class files used in an application, Java sorting algorithms, and anticipated new Java dynamic language support on the JVM.Future of Java: 2010 Most of us have read countless articles and blogs predicting what the future holds for Java and for Java developers...

Michael Huttermann posted Agile ALM and Fragile Agile -update-:

As already written, I've completed my manuscript ofAgile ALM end of March. Beside my writing and editing, I've also organized a lot of other people who edited, reviewed and contributed content. Now we are in a phase, where we "bring the book to production" (according to the publisher). In the past, I've already incorporated feedback from Manning's reviewers. Because Manning did not give me a list of any unclear phrasings or similar, I've hired a professional editing service for supporting me, additionally. This service gave me many very good hints. Beginning of last week, Manning put someone on the project to further "polish" the completed manuscript...

Platforms, Frameworks

On JFXStudio, William Antônio Siqueira described A Google Translate Service Client:

TranslateFX is a little app done in JavaFX that allows the user to use the Google Translator Service. The Google Translate API: The Google Translate API is simple. There’s two ways to use the API: A javascript library or the REST way. The REST way receive three attributes: The version, the language pair and the text to be translated. The response is in JSON format. You can make a HTTP GET request to below URL to see the response...

On the JavaFX Blog, Jacob Lehrbaum posted Controls, Controls, and More Controls:

In addition to perftwir20100508.htmlormance, two of the other areas where we delivered significant improvements with JavaFX 1.3 included UI controls and CSS support. In fact, some of the great improvements we saw in performance derived from the significantly improved CSS support within UI controls that was included in this release. To help you better leverage the new UI controls in JavaFX 1.3 and to take advantage of CSS skinning to customize and stylize your content, the JavaFX team has put together an excellent guide entitled, "Using JavaFX UI Controls" ...

On the JFXStudio blog, diazcardosa presented TimeShot – JFX photography post-production tool:

Painting with photos, that’s the simple concept that this new tool proposes. Using a collection of photos, from two to almost 17 million – if your computer memory allows it – the user can draw shapes with gradients of the photo collection itself, blending from one photo to the other. Imagine creating a photo from a timelapse photo set of a sunset where on one side it’s still day and on the other is already night. That is only one usage...

James Weaver wrote about The Cubic Earth Society: Using 3D Features of the JavaFX 1.3 API:

Most of us believe that the earth isn't flat, but it surprised me to discover that some Swedish researchers have presented evidence to support their theory that the Earth's core is cube-shaped.  Just thought I'd throw in a little trivia for your edification, as it is slightly related to today's JavaFX program example, named EarthCubeFX. As mentioned in the Your Calendar PWN3D post, the JavaFX 1.3 SDK, released 22-Apr-2010, contains some basic 3D-related features with which you can begin experimenting ...

Jan Haderka posted Once more on the multi-site support:

What I realized shortly after we put out Magnolia 4.3 is that while we tried to explain new multisite support for example in this screencast there are still plenty of grey areas and lot of confusion when people actually get to use the multisite support. And I think I wrote and talked about this topic earlier as well. Of course as with any new functionality, there are still...

Osvaldo Pinali Doederlein took his First, long look at JavaFX 1.3 (and Prism):

JavaFX 1.3, codename SoMa, was released at long last on April 22 - after some delays (originally due November 2009) and feature cuts (the new Prism toolkit has shipped but in EA status). In this blog I will explore the performance improvements of JavaFX's graphics stack, including Prism. Just take a cup of coffee to ride this blog - it's long, seven miles.

Alois Cochard posted Spring Batch integration module for GridGain:

I'v just published an integration module for using GridGain with Spring Batch. Using this module you can distribute Spring Batch processing inside a GridGain grid with the implementation of remote chunking.

This week's new poll asks: Will JavaFX ultimately become a widely used rich client technology?


Ed Ort and Janice J. Heiss wrote a new article on the Oracle Technology Network, Dynamic Language Support on the Java Virtual Machine:

Java Development Kit (JDK) 7 is a prototype of what could be in the next release of Java Platform, Standard Edition (Java SE). JDK 7 introduces several key features to improve the performance, usability, and security of the Java platform. Of particular interest to Java developers is the addition of support for Java Specification Request (JSR) 292. The addition of a new Java bytecode, invokedynamic, for method invocation, and an accompanying linkage mechanism that makes use of a new construct called a method handle, will enable implementers of compilers for dynamically typed languages such as JRuby and Jython to generate bytecode that runs extremely fast in the Java virtual machine (JVM)...

Joseph Darcy provided an update about Project Coin: multi-catch and final rethrow:

As alluded to as a possibility previously, I'm happy to announce that improved exception handling with multi-catch and final rethrowwill be part of an upcoming JDK 7 build. Improved exception handling is joining other Project Coin features available in the repository after successful experiences with a multi-catch implementation developed by Maurizio Cimadamore. Maurizio's work also revealed and corrected a flaw in the originally proposed static analysis for the set of exception that can be rethrown; from the original proposal form for this feature...

DeveloperWorks published Ted Neward's new article, 5 things you didn't know about ... the Java Collections API, Part 2:

You can take Java™ Collections anywhere, but don't take them for granted. Collections hold mysteries and can make trouble if you don't treat them right. Ted explores the complex and mutable side of the Java Collections API, with tips that will help you do more with Iterable,HashMap, and SortedSet, without introducing bugs to your code.

This week's Spotlight is Joseph Darcy's announcement, Draft of Restarted "OpenJDK Developers' Guide" available for discussion

I've been working on a restarted version of the "OpenJDK Developers' Guide" and I have a draft far enough along for general discussion. The content of the existing guide is primarily logistical and procedural in nature; in time, I plan to migrate this information to a JDK 7 specific page because many of the details are release-specific. The new guide is more conceptual and once completed is intended to be able to last for several releases without major updating. The table of contents of draft version 0.775 is...

Open Source Projects

This past week's Spotlight was the new project started by Michael Van Geertruy, fossesi, the Free and Open Source Software Enterprise Solutions Institute:

What does FossESI do? FossESI studies the integration of new free and open source software (FOSS) into existing enterprises. The bulk of our code will be from various technology tutorials, and our own integration "glue" code. We are kicking off the group on April 28, 2010.

Michael posted a new blog about FossESI, FESI Studying NOSQL (Cassandra, Hadoop, and Voldemort):

Last week's kickoff of FESI's research program went very well. There are a number of folks (>500) who are now following this blog on, and a number who have gotten involved. While we wait for more folks, we'll be researching new technologies, the first being NOSQL databases. If the kind of topics we're research interests you, please feel free to join the project;...

Web Services and XML

Finally, Kirill Grouchnikov provided Drinking From The Firehose – Design Inspiration April 2010:

Every month this series is tracking the latest design trends and collecting the best examples of modern web designs. Here is the list for April 2010 with almost 1700 links from 47 aggregator posts: Empathizing Color Psychology in Web Design from 1stwebdesigner...


In a NetBeans Zone article, Fabrizio Giudici wrote about Using org.openide.util.Lookup on Android:

blueBill Mobile for Android is almost ready for primetime - apart from the quality stuff. As an exception to my common practices, I didn't go with TDD since learning Android and tuning my personal coding style is already a demanding task (I also have still to learn how to run Android specific tests that, if I understand well, can be executed on the device).

Subscriptions and Archives: You can subscribe to this blog using the Editor's Blog Feed. You can find historical archives of what has appeared the front page of in the home page archive.

-- Kevin Farnham
O'Reilly Media
Twitter: @kevin_farnham


"Extra! Extra! Read all about it!" -- that's what they used to show newspaper boys shouting out as they tried to sell their papers, in old American movies. Well, there are several news items I've found interesting in recent days beyond what I've featured in Java Today. So, I decided to highlight them here.

First, Michael Huttermann has posted Agile ALM and Fragile Agile -update-:

As already written, I've completed my manuscript ofAgile ALM end of March. Beside my writing and editing, I've also organized a lot of other people who edited, reviewed and contributed content. Now we are in a phase, where we "bring the book to production" (according to the publisher). In the past, I've already incorporated feedback from Manning's reviewers. Because Manning did not give me a list of any unclear phrasings or similar, I've hired a professional editing service for supporting me, additionally. This service gave me many very good hints. Beginning of last week, Manning put someone on the project to further "polish" the completed manuscript...

Toni Epple writes about NetBeans in AnnotatedBeanNode:

There's a lot of boilerplate code if you want to display PropertySheets for a Bean in NetBeans. You need to create a Node and write code to create the PropertySheet. There are some classes like the BeanNode to make things easier, but the functionality is very basic, unless you want to write BeanInfo classes. I

This is the first edition of a new column I'll be writing each weekend titled " the Week in Review." In the column, I'll present all of the previous week's Java Today news items, a selection of blog posts, polls, and spotlights.

I'll organize the presentation by categorizing the featured news items, so if, for example, your interest is JavaEE and GlassFish, you'll be able to find all the JavaEE/GlassFish content we featured on in the past week in one place. Of course, sometimes a single piece actually covers a range of topics. In those cases, I'll try to put the item into the category that the piece is "most" about.

This week's index:

Tools, IDEs, etc.

Geerjan Wielenga continued his Small MultiView Editor Experiment (Part 2):

The sample for developers creating multiview editors on the NetBeans Platform (described yesterday in this blog) is now slightly more extensive, since you can add new nodes in the visual view, which will then automatically be added to the source editor (as well as the visual editor, of course)...

Mitchell Pronschinske presented A Guide to Maven 3 Beta:

In just over six years, Apache Maven has become one of the most coveted tools for project build and reporting management. It's been five years since the release of Maven 2 and now the Maven committers have released the next landmark version of the software. The first beta release of Maven 3, which is now feature complete after 7 public alphas, was released this week. Maven founder and Sonatype CTO Jason van Zyl answered some questions for DZone about Maven 3 earlier this month. Below are the main new feature categories of Maven 3...

Last week's Spotlightwas the NetBeans IDE 6.9 Beta Release:

NetBeans 6.9 Beta introduces the JavaFX Composer, a visual layout tool for visually building JavaFX GUI applications, similar to the Swing GUI builder for Java SE applications. Additional highlights include OSGi interoperability for NetBeans Platform applications; support for JavaFX SDK 1.3, PHP Zend framework, and Ruby on Rails 3.0; as well as improvements to the Java Editor, Java Debugger, and issue tracking, and more. NetBeans 6.9 Beta is available in English, Brazilian Portuguese, Japanese and Simplified Chinese, as well as in several community-translated languages. Learn more:

Tor Norbye presented an IDE tip: Go To Implementation:

One of the best parts of using an IDE instead of an editor is "Go To Declaration". When you hold the Control key (or the Command key on Macs), identifiers under the mouse turn into hyperlinks and when you click on the hyperlink you jump to the declaration point of say the method call. You can also just hover over the hyperlink, and a tooltip will pop up and show you the signature of the identifier - the fully qualified type name, method arguments, and so on. But what if the thing you are pointing at is an interface? Or an abstract class? ...

Geertjan Wielenga discovered the Keyboard Shortcut Card for NetBeans Macophiles!:

Good news for Mac users of NetBeans IDE. In 6.9, when you're using the Mac and go to Help | Keyboard Shortcuts Card, you will get a Mac-specific keyboard shortcut card...

John Smart posted Grouping tests using JUnit categories: In a well-organized build process, you want lightning-fast unit tests to run first, and provide whatever feedback they can very quickly. A nice way to do this is to be able to class your tests into different categories. For example, this can make it easier to distinguish between faster running unit tests, and slower tests such as integration, performance, load or acceptance tests. This feature...

Kohsuke Kawaguchi posted Interview with DZone: I did a quick interview with DZone about my new company, InfraDNA.

Kohsuke also posted Introducing InfraDNA, the Hudson company: My new company, InfraDNA, is open for business for all things Hudson

The current Poll asks Do you plan to download the new NetBeans IDE 6.9 Beta release?The poll will run for the next week.

JavaEE, GlassFish

Pelegri presented Fundamo, OSGi, iPad.. and More GlassFish News - April 24rd, 2010:

Financial services on the go - GlassFish for Fundamo and profit: Alexis recently published a new Adoption Story on how Fundamo uses GlassFish v2 and OpenMQ for its Enterprise Platform. Overview at stories entry, details in questionnaire, and an overview in this earlier short video interview. We are always interested in more GlassFish adoption stories, both from (non-paying) users and from (paying) customers.   Stories come from all industries and around the world, the last few entries are PSA Peugeot Citroën (France/Auto), iVox (Belgium/Print),NHIH(US/Gov-Health Care) and Suncorp (Australia/Finantial)...

Arun Gupta presented TOTD #130: Invoking a OSGi service from a JAX-WS Endpoint - OSGi and Enterprise Java:

Sahoo blogged about JAX-WS Web service in an OSGi bundle. This TipOf The Day (TOTD) provides complete steps to create such an application from scratch. We will create an OSGi service, a JAX-WS compliant Web service as hybrid application, and a JAX-WS Web service client. Lets create an OSGi service first. 1. Create a simple OSGi service as explained in TOTD #36. Generate the maven project as...

Alexis Moussine-Pouchkine discussed WEB-INF/lib/{*.jar}/META-INF/resources:

Modularity is one of the themes for Java EE 6 and servlet 3.0 fragments one often mentioned as one examples of this (see details here). This blog entry is about a small yet very useful new feature of the servlet 3.0 specification to deal with static content such as images, CSS or JavaScript. Before servlet 3.0, images could be made accessible from the root of the web applications but that meant copying the files to the WAR archive and keeping them up-to-date. This certainly meant a solution tightly coupled with the web application development and packaging. The other option was to place this static content in the docroot of the application server...

Pelegri posted CLI, Roller, Jersey, JavaOne... and More GlassFish News - April 27th, 2010:

Install and Run Apache Roller 4.01 on GlassFish and OpenSolaris: Dave Koelmeyer has posted Detailed Instructions on how to install Apache Roller 4.01 on GlassFish v2.1 using MySQL 5.1 for storage.  He uses OpenSolaris snv_134, the subject of a tea-leaf-reading thread. Slides and Code Samples on Jersey and JAX-RS: The Slides and code from Paul Sandoz's presentation at Presentation at AlpesJug on Jersey, JAX-RS and Atmosphere are now now available.  The actual presentation was in French, but the slides are in English, and the code is... code. Invoke OSGi Service from JAX-WS Endpoint ...

Arun Gupta presented TOTD #131: Dynamic OSGi services in GlassFish - Using ServiceTracker:

OSGi is the dynamic module system for Java. Each module, or bundle as called in OSGi terminology, is packaged as a JAR file and the inbound and outbound dependencies are explicitly defined using the META-INF/MANIFEST.MF in the JAR file. A complex software system may be broken into multiple modules where each module may be exposing a set of services. These services are then consumed by some other "client" OSGi bundles. The beauty of dynamic nature of OSGi is that each bundle can be easily updated without restarting the framework...

Laird Nelson experimented with Pushing Jersey to the limit: In which our hero makes Jersey dance in ways that probably make the Jersey authors take to their sick beds with a headache.

Masoud Kalali presented Learning GlassFish v3 Command Line Administration Interface (CLI): This article introduces GlassFish CLI or command line administration console. GlassFish provides several administration channels; one of them is the command line administration interface or CLI from now on. The CLI has many unique features which make it very convenient for command line advocates and new administrators which like to get familiar with CLI and use it in the daily basis. The CLI allows us to manage, administrate, and monitor any resources which application server exposes to the administrators.


Dustin Marx posted Effective Exception Handling is Covered Effectively in Effective Java:

I recently wrote that the chapter in Effective Java devoted to exception handling has been one of the most influential software development chapters I have read. The value of this chapter was reinforced by Elliotte Rusty Harold's blog post Bruce Eckel is Wrong. Harold's main assertion is that Eckel was wrong to write that checked exceptions must be caught at time of encounter because they don't necessarily need to be caught if they are declared as part of the method's throwsclause...

Michael Huttermann presented Agile ALM: Additional information, discussions, source code, ..:

I have created a project on Kenai to host accompanying sources for my book Agile ALM. I added configuration and test scripts to demonstrate discussed concepts, where appropriate. Some of the scripts are contributed by the leading experts of the covered topics, others were created in close collaboration. In my book, one of the major tool backbones is Maven. As a result, most of the provided scripts are Maven scripts. Much more details will follow...

James Sugrue continued his design pattern series with Design Patterns Uncovered: The Mediator Pattern:

Today's pattern is the Mediator pattern, used to handle complex communications between related objects, helping with decoupling of those objects. Mediator in the Real World: An airport control tower is an excellent example of the mediator pattern. The tower looks after who can take off and land - all communications are done from the airplane to control tower, rather than having plane-to-plane communication. This idea of a central controller is one of the key aspects to the mediator pattern...

Dustin Marx compared and contrasted Turn Signals and Coding Conventions:

In How Turn Signals Work, Karim Nicewrites "Turn signals may be the most underutilized device on a car." I sometimes feel that when I witness drivers who cannot be bothered with indicating their intentions through use of a turn signal. Besides being simple common sense, the importance of using a turn signal to convey intentions to others is documented by multiple groups and individuals including driver safety informational sites, automobile insurance sites, law firms and legal information sites... Coding conventions are much like turn signals in that they are often a preferred and expected form of communication between developers who might not have an easier way to communicate the same information. Unfortunately...

We're featuring The Match Maker Design Pattern - a New Place for the Actions, a new article by Michael Bar-Sinai, which describes how to add actions to a system without modifying business objects, add objects without changing actions, and still keep things reusable

Calvin Austin talked about the Easiest way to ship buggy applications: Would you send your food back at a restaurant if they left a food wrapper inside. Would you complain to the car to the shop if they left the used oil jug under your hood? Why then is software shipped with orphaned, obsolete software with it?

Bruno Ghisi demonstrated DIME - Dependency Injection for Java ME: DIME (Dependency Injection for Java ME) is a very interesting project for dependency injection that does not use reflection. It was designed to be used with Java ME, but can be used in other platforms.

Platforms, Frameworks

Kirill Grouchnikov described Using Flamingo 5.0 command buttons to build a breadcrumb bar:

Flamingo component suite began its life in January 2006 whenRick Jeliffe of Topologi has contacted me and proposed to open-source their own implementation of the breadcrumb bar component. In the years since i have hacked at different pieces of the breadcrumb bar implementation. As with any significant piece of code that you get to maintain and extend, it takes some time to find your way around the code, and this was no exception...

Terrence Barr reviewed last week's significant releases in JavaFX 1.3 and NetBeans 6.9 Beta released:

A few days ago JavaFX 1.3 as well as NetBeans 6.9 Betawere released, featuring a host of significant improvements in many areas. I won’t be covering all the the changes but will highlight the most important ones and provide pointers to more information. So, let’s dive in: JavaFX 1.3 improvements...

I wrote about last week's poll result in Poll Result: New JavaFX 1.3 UI and Performance Improvements Considered Most Important.

Open Source Projects

Frank Kieviet, departing manager of the OpenESB project, presented Working with tips and tricks for project owners:

In the past two years I've managed the OpenESB open source project. This project is hosted on In this post I outline a number of tips and tricks I've learned while managing this project on This is useful information for my successor, but it also may be useful to other people who are managing projects on Web presence: An important factor in the success of an open source project is its web presence: it will be the first point of contact between a potential new user and the project. New visitors will want to see answers to these four items immediately...

Michael Van Geertruy posted his first blog, FossESI Phase 1 Research Kickoff!: On April 28th, 2010, we will be kicking off the first phase of FESI's research. This where we set up the project, and start to get our hands dirty. Attached is the flyer we will use to promote FESI and what we're trying to accomplish. Hopefully it will help us get the word out to the local community. Also as the kickoff, we'll be participating with a networking group that meets...

Michael also presented The Three Phases of FESI research: FESI Research Program Overview FESI is the Free and open source software Enterprise Solutions Institute. We are a research program designed to study tomorrow's internet technologies as a means to teach folks in the local workforce how to use technologies our customers will likely want to implement. We also perform this research to prepare local engineers with the knowledge and...

Web Services and XML

David Geary continued his JSF 2.0 article series with JSF 2 fu: Ajax components:

Among JSF 2's many new features, two of the most compelling are arguably composite components and Ajax support. But their strength is most apparent when the two are combined, making it easy to implement Ajax-enabled custom components with a minimum of fuss. In this article, I'll show you how to implement an autocomplete component that uses Ajax to manage its list of completion items. In doing so, you'll see how you can integrate Ajax into your own composite components...

We published Michael Quigley's article, Rapid Web Services Development with Moose XML, which shows you how Moose XML can simplify the task of prototyping and rapidly developing XML web services.


Shai Almog presented Musix On The BlackBerry Device:

I got a demo device from TriPlay to show off Musixrunning on the blackberry device using the blackberry native LWUIT port. The UI worked pretty smoothly and was relatively easy to port, most of the work in porting was related to networking on the RIM devices which is really complicated. While the menus/UI is in Hebrew the application shows off background downloading with decryption on the fly...


Derek White said "It's Not About the Robots":

Dean Kamen, serial inventor and founder of FIRST (For Inspiration and Recognition of Science and Technology), often says this phrase at regional and championship FIRST Robotics Competitions. What is it about? This is my first year with skin in the game – not with a team, but as part of the group at Oracle and WPI porting and supporting Java for the robotics competition...


We published HTML5 Server-Push Technologies, Part 2, an article by Gregor Roth; this two-part series explains the new Server-Sent Events and WebSockets API in HTML5.

Conferences, JUG Meetings

Tori Wieldt recently interviewed Sharat Chander, and publishedJavaOne 2010: Interview with the Sharat Chander, Content Selection Chairperson:

There's lots of buzz about the content for JavaOne 2010. I took a moment to talk with Sharat Chander, Principal Product Director in Oracle's Application Grid Product Marketing Team, about the content selection process for JavaOne.

Subscriptions and Archives: You can subscribe to this blog using the Editor's Blog Feed. You can find historical archives of what has appeared the front page of in the home page archive.

-- Kevin Farnham
O'Reilly Media
Twitter: @kevin_farnham


Filter Blog

By date: