Skip to main content

Black Door

Posted by editor on July 10, 2008 at 6:23 AM PDT

Putting your app in the CD tray

Java deployment, particularly on the SE side, has gotten a lot of attention in the last year, in hopes of cleaning up one of the platform's most long-standing frustrations. Java SE 6 Update 10 cleans up a lot of old problems with applets and even lets you turn them into desktop apps by dragging them out of the browser.

Still, there are other scenarios common to desktop applications that Java's never been particularly keen on handling. To wit, while Java Web Start offers a comprehensive solution to network-based distribution, with updating thrown in for free, the old-fashioned style of distributing an app via CD-ROM has proven a a difficult fit for Java.

In today's Feature Article, Luan O'Carroll shows how to bring the two approaches together, by Distributing a Java Web Start application via CD-ROM:

Combining Java Web Start and Launch4J allows for the creation of CD-ROMs that can be distributed to people like trade show visitors who can then easily and quickly install the application. The full update capabilities of Java Web Start are still available to the user so that they can easily get updates or equally so that they can use the application where an internet connection is not always available, the best of both worlds.

In Java Today,

David Dagastine follows up Monday's release of JDK 6 Update 6 Performance Release with a thank-you in Apache Harmony: Thanks for the TreeMap Work! "I'd like to thank Apache Harmony for their JDK library performance efforts. We were given a tip that the Harmony folks were doing some interesting work with the TreeMap collection class, and low and behold they were. The work is surrounding fat TreeMap nodes where each node contains several TreeMap entries. This greatly improves in order traversal of the TreeMap entries, and since SPECjbb2005 traverses over a TreeMap I can see why they did this. Controlled measurements showed the "fat" TreeMap significantly faster with in order traversals, and improved our SPECjbb2005 score by a solid 3-5% depending on the platform."

JSR 289, SIP Servlet 1.1, has gone to a final approval ballot, after releasing two proposed final drafts over the last few months. The updated JSR " requests the evolution of the SIP Servlet specification to address capabilities discovered by the industry as a result of using the specification." The GlassFish Community's SailFin project is tracking JSR 289, with an intention of delivering full compatibility with the spec and integration with existing GlassFish features.

The latest edition, issue 174 of the JavaTools Community Newsletter is out, with tool-related news from around the web, new tools community projects and three graduations, and a Tool Tip about the Troubleshooting Wiki.

In today's Weblogs, Qusay H. Mahmoud points out mobile topics at the
O'Reilly Open Mobile Exchange.
"If you are involved in building out the open mobile space, you have to attend the O'Reilly Open Mobile Exchange..."

Success! LWUIT on Blackberry, Bill Snyder reports that he "finally figured out how to tweak the LWUIT demo so that it will run on a BlackBerry device...simulator."

Finally, Jean-Francois Arcand continues his Grizzly series in

Extending the Grizzly HTTP Runtime part III: Gathering Monster's Statistics.
"So far we were able to build a WebServer based on Grizzly and add JMX Support to it. Now it is time to gather statistics of what's happening inside the monster' stomach."

In today's Forums,
tjquinn offers EJB rules-of-thumb in
Re: Null pointer execption
This problem comes up from time to time. The Java EE platform spec says that injection will occur only on "managed classes" and, in an app client, only the main class is managed and only static elements are subject to injection. My standard advice to developers is to 1. Declare private injected static variables on the main class. 2. Add public or package-visible static methods on the main class that return the value of the injected variable. 3. Use these methods from other classes in the client.

markkurvers points out a Blu-Ray limitation in
Re: Java Exception "Image Fetcher" java.lang.OutOfMemoryError.
"Hey, I think the problem is that while PNG images might be compressed to 1 MB, they are loaded into the image memory uncompressed (to allow them to be drawn on the screen). This means that a full HD image that is stored as uncompressed ARGB in memory takes up about 1920 x 1080 x 4 = 8 MB of memory (6 MB if they are stored RGB). So if image memory is limited to 45 MB you could theoretically load a maximum of 5 full HD images."

Finally, terrencebarr points out the ability of LWUIT to bridge ME and EE in
Re: Java ME + SE Application Development.
"There are a number of things to consider, in particular that the user interaction will be very different between desktop and a mobile device - meaning that even if you use the same UI toolkit you will need to be very conscious about screen elements, layout, traversal, input methods, etc. But the toolkit part of the job got much easier with the introduction of LWUIT ( Currently the library is built for MIDP platforms but it can be ported to Java SE as well giving you a common toolkit across multiple platforms."

Current and upcoming Java

Registered users can submit event listings for the href=""> Events Page using our href="">events submission form.
All submissions go through an editorial review before being posted to the

Archives and Subscriptions: This blog is delivered weekdays as
the Java
Today RSS feed
. Also, once this page is no longer featured as the
front page of it will be
archived along with other past issues in the href=""> Archive.

Putting your app in the CD tray