Skip navigation
ANNOUNCEMENT: is currently Read only due to planned upgrade until 28-Sep-2020 9:30 AM Pacific Time. Any changes made during Read only mode will be lost and will need to be re-entered when the application is back read/write.

Strangely At Home Here Blog

Posted by kfarnham Nov 25, 2008

Languages aplenty on the JVM

With the increasing interest level in running non-Java languages on the JVM -- O'Reilly just put out a whole new book on JRuby, for example -- one of this year's pivotal events in the Java world was surely the JVM Language Summit 2008. Bringing together interested parties such as language designers, VM developers, tool builders, the Da Vinci Machine gang and others, this was a chance for the Rubyistas, Groovy guys and gals, Scala-heads, and others to find common ground for advancing the JVM as a platform for their language of choice

As promised on the summit's home page, InfoQ recorded the sessions and has now started posting videos from the event. Dalibor Topic comments, "So far, the Clojure, Maxine VM, P8 and James Gosling's personal and entertaining keynote have been uploaded, with more to come over the coming weeks. I was in particular looking forward to Rich Hickey's Clojure talk, after reading rave reviews in blogs and on Twitter, and it doesn't disappoint."

If you're in the US, you'll probably have a few days over the long holiday weekend to tune in and check them out.

In Java Today,The Aquarium has pulled together resources on using . "H2 (Website, Wikipedia, Download) is a small OpenSource, Java-based, RDBMS database that can be used embedded, server and clustered. It is written by Thomas Mueller, the original Hypersonic SQL developer (history). Back in August, Marcio wrote a Nice Report showing how to use H2 with GlassFish using TopLink Essentials. This is now part of the formal documentation in the H2 Tutorial. GF support was incorporated in 1.1.101 (Oct 15th), but I just noticed as Marcio and Thomas are improving some parts."

The front pageis currently featuring a Project Darkstar interview With David Jurgens. In it, "David Jurgens, a graduate student at UCLA and intern developer with the Project Darkstar team, tells us why he thinks the Darkstar development platform is one of the most unique projects that he's ever worked on."

Today's Weblogsstart with Tricks and Tips with AIO part 1: The frightening thread poolfrom Jean-Francois Arcand, who writes "OK it is now time to start our NIO.2 (Asynchronous I/O) expedition with the Thread Pool. Booooouuu dead locks are watching you!"

In Grizzly : How to be notified when a client disconnects, Sebastien Dionne writes, "It's now possible to be notified when a client disconnects from a server on Grizzly 1.9+. Here is a little snippet that will allow you to do that, thanks to the new ConnectionCloseHandler."

Finally, Kumar Jayanti introduces Plain Text Username Password security with Metro. "Although not considered very secure, many users in the past have asked for it. With latest Metro builds we have made it possible to implement a webservice secured by plain-text username and password."

In today's Forums,trembovetski considers desktop penetration by platform in Re: Tracking Java Versions using Google Analytics. "I think in some cases common sense is enough to justify not investing time in obviously unnecessary research. We're talking about client here, right? Ostensibly there are only three kinds of client VMs out there - Microsoft, Apple and Sun's. IcedTea and stuff is nice, but it can't be on more than than 1% of systems out there (see data on Linux's penetration on desktop)."

alexandrem announces a New Mobicents Diameter Release! "We are happy to announce a new Mobicents Diameter release! This release is the first binary release for the Mobicents Diameter. It includes the never released Diameter Multiplexer (Mux), the Sh-Client RA (with an example application for Sh-Client) and many improvements to Base and Stack. Please provide feedback on this new release, as it is quite important!"

Finally, terrencebarr offers some build help in Re: building phoneme advanced for win mobile in linux. "See the phoneME Advanced wiki at You should be able to build it with Visual Studio C++ Express, which is free. More specific questions can be asked on the phoneME Advanced forum. "

Current and upcoming Java Events :

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

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 Archive.

Languages aplenty on the JVM  

Cumbersome Blog

Posted by kfarnham Nov 25, 2008

Is Java too big for its own good?

Much of Java's appeal can surely be attributed to the massive number of libraries available for it. Not only is SE itself rich with functionality, but you can also add on to it in the form of EE, or the many third-party libraries, frameworks, and what have you.

The question is, has SE's bundle of functionality gotten too big? If I count the "All Classes" frame of the Java SE 6 javadocscorrectly, there are nearly 3,800 public classes. Aside from the mental burden of grasping so much functionality, there are also technical concerns to this to this bulk.

OpenJDK Principal Engeineer Mark Reinhold takes a minute to consider the implications of The massive, monolithic JDK, in a recent blog, he considers the costs of having this huge bundle of functionality at your fingertips.

The JDK is big—and it’s also deeply interconnected. It has been built, on the whole, as a monolithic software system. In this mode of development it’s completely natural to take advantage of other parts of the platform when writing new code or even just improving old code, relying upon the flexible linking mechanism of the Java virtual machine to make it all work at runtime.

Over the years, however, this style of development can lead to unexpected connections between APIs—and between their implementations—leading in turn to increased startup time and memory footprint. A trivial command-line “Hello, world!” program, e.g., now loads and initializes over 300 separate classes, taking around 100ms on a recent desktop machine despite yet more heroic engineering efforts such asclass-data sharing. The situation is even worse, of course, for larger applications.

So now what? Recent developments such as JDK 6u10's Java Kernel can help a little, but the underlying problem really needs to be addressed directly:

The most promising way to improve the key metrics of download time, startup time, and memory footprint is to attack the root problem head-on: Divide the JDK into a set of well-specified and separate, yet interdependent, modules.

The process of restructuring the JDK into modules would force all of the unexpected interconnections out into the open where they can be analyzed and, in many cases, either hidden or eliminated. This would, in turn, reduce the total number of classes loaded and thereby improve both startup time and memory footprint.

So what do you think? Will modularization save Java? Mark thinks it could help not just the runtime, but even libraries and applications. "Doing so might also enable us to address some other longstanding problems related to the packaging and delivery of Java code."

Also in Java Today, The Mobile, Media, and Embedded Developer Days conference has posted the initial agendafor January's two-day event. Co-organizer Terrence Barr blogs about the selection process: "clearly, the conference has already gained a reputation in the industry ... the quality and number of submissions this year was impressive. We had much more content than we could possibly squeeze into two days and so our review committee worked hard (thanks, guys!) to pick a set of talks, presentations, and speakers that we believe provide a compelling and stimulating cross-section of what's happening in the industry today."

A new SDN article by Wajih Ahmed and Marina Sum demonstrates Federated Single Sign-On for Google Apps in OpenSSO. "With OpenSSO, Sun's open-source Web access management project, you can implement federation for applications, such as Google Apps, for single sign-on (SSO) in just a few steps. Google Apps are widely adopted by enterprises for email, calendar, and collaboration through Google Docs, Google Video, and so forth. This article steps you through the federation process, whereby OpenSSO acts as the identity provider (IdP) and Google Apps as the service provider (SP). Security Assertion Markup Language (SAML) version 2 serves as the SSO protocol for creating a Circle of Trust on the IdP."

Om today's Weblogs, Santiago Pericas-Geertsen repeats the announcement that the Call for Papers Is Open for JavaOne 2009. "In case you missed it, the call is open for JavaOne 2009 submissions and the deadline is December 19th, 2008. Contrary to the last few years, the conference will be in early June in 2009, so there's plenty of time for your travel plans but not a lot of time to prepare your abstracts!"

Jim Driscoll brings more client-side functionality to JSF in Another JSF 2.0 Ajax Component: Editable Text. "I was sitting in at a talk on Ajax components the other day, and they mentioned the Flickr style editable text. I thought - I wonder how hard that would be as a component in JSF 2.0? The answer: Not too bad, about 100 lines of code. Here it is."

And Rama Pulavarthi takes a look at New Web Services Features in Netbean 6.5 Netbeans 6.5 is recently released. Along with tons of new features, it has some enhancements for Web Services development. The foremost is that with Netbeans 6.5, you can easily develop Web Services applications and deploy on to Glassfish V3. There are are other features like configuring WS-Addressing, and exposing a SOAP based Web service as REST service through GUI caught my attention.

In today's Forums,anzy is looking to configure HA on two machines in Active-Standby mode. "From glassifsh's HA docs what I could make out is that the servers participating in HA have to be running in lb mode thus mandatorily supporting HA in actiove -active mode. What if my application can run in active-active mode because of few components facing cynch issues but I still wnat them to be part of HA with other server taking up the responsibility only if one goes down. To be precise if I have 5 applications(.war) to deploy,3 are to be needed in active-active and 2 in active-stand by mode. How do I ahieve this, does glassfish support it?"

Paul Wilson offers the M3DDs a Developer Days Feedback Tool. "Hi Developer Days Planning Team, my name is Paul Wilson and I am a student at Stanford University and I wanted to share with the Java Mobile. Media and Embedded Developer Days a feedback tool that I am working on with some fellow students called HaveASec. We have been to many tech conferences in the valley, and we have been surprised to see that in 2008 paper surveys are still in use. HaveASec allows conference organizers to collect similar feedback directly from the cell phone and laptops of each attendee."

demonduck remains outraged at the handling of the applet lifecycle events, as recounted in the followup Re: Lifecycle methods in new Plugin. "But you broke compatibility when you changed the original applet lifecycle. The original lifecycle called init(); start(); stop() and destroy() at specific times. You changed that lifecycle to call init()/start() together and stop()/destroy() together. Now you are telling us that you are concerned about compatibility problems -- non-existent problems most likely -- with applets written using the new lifecycle???? Which applets are you concerned about? Can you provide us with a list of "complex applets" that you are "basically required" to support? Why weren't you concerned about breaking compatibility with the original applet lifecycle. Again you dismiss, denigrate and rationalize away all our concerns just so you don't have to take responsibility for your poor engineering practices."

dgovoni is looking to customize Metro in WS-TRUST/STS special message handling. "I am using the default STS in metro, but need to affect and initiate a RSTR response from a message handler on the STS that performs some authorization. Or, if the STS has a plugin for some authorization, I will use that. In my design, the message handler looks at the inbound STS request and would like to return a response with a reason for denying the request. My question is: How can this capability be added to the Base STS impl in Metro? Is there a plugin I can do for this? How can I short circuit the STS conversation and return a special response from a handler? Is that the correct approach?"

Current and upcoming Java Events :

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

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 Archive.

Is Java too big for its own good?  

Times Like These Blog

Posted by kfarnham Nov 24, 2008

Make yourself more useful

Last month, I asked if the recession in much of the world economy was affecting techies, or if it is someone else's problem. Since then, we've seen a big layoff at Sun, cutbacks at Palm and Apple, and concerns that U.S. unemployment could be particularly bad if it represents structural changes to the economy.

So... maybe we're in this mess with everyone else after all.

How do you make sure your job is safe? A lot of experts will tell you to make yourself indispensable to your employer. But what does that mean? Does it mean that you know GlassFish better than any of the other engineers? Maybe, but Robert J. Miller says that instead of focusing on code, maybe you should look at your company's big picture, and start following business news and insustry trends. In Recession Proof Java Programmers, he writes:

Recession proof learning includes a mix of technology and business such that an understanding of industry trends and profitability can be gained. If you are a technology-only learner like I was before, then I recommend easing yourself into business with the subsequent action items...

Granted, we've heard some of this before. What's a little different about Robert's prescription is that he says you should develop an overall awareness of how business works, while some of what we've discussed in this space previously is the value of developing awareness and interest of your business' specific industry -- finance, medicine, transportation, government, whatever -- and marketing yourself as a coder who "gets" that industry.

Offering another outlook, Jay Fields has posted a Javalobby editorial arguing that developers should Specialize In Something Relevant. This follows up an early blog on Language Specialization and, in turn, Scott Ambler's ideas about Generalizing Specialists. Jay and Scott agree that it's valuable to have deep knowledge of something (Java coding, database administration, testing, whatever), and then pick up other topics that you eventually become an expert in. "Becoming a Generalizing Specialist takes time, but the first step is becoming a Specialist. Once you deeply understand one language/tool, you can move on to the next relevant language/tool." This gives you the ability to be highly productive by being able to provide unique value in your specialties, while also having a deep enough understanding of multiple topics that you can collaborate with peers who are themselves specialists in those other areas.

So what do you think? Do either of these offer a practical roadmap to get you through the recession? Or will clinging to your favorite API from five years ago get you through?

In Java Today, the JavaOne 2009 Conference has posted its Call for Papers. " Your expertise helps make the JavaOne Conference community dynamic and leading edge. We'd like you to share that knowledge and be the Rock Star you are. The conference curriculum will be organized across four key areas supporting and surrounding the Java platform; pick the area that best suits your expertise and submit your paper." The four topics are Rich Media Applications and Interactive Content, Mobility, Services, and Core Technologies. Interested speakers must submittheir proposals by December 19.

The Aquarium has posted an update on the status of Clustering in GlassFish v2 and v2.1."Clustering - supported in GlassFish since Sept 2007 - will be further improved in the GFv2.1 release (companion to SailFin). One of the improvements is also see Apache 2.2 support and Kshitiz has written an good writeup on the configuration steps and mentions the automated support also. Clustering is used for horizontal scalability and high availability; interest and use of the feature is increasing quickly with GlassFish deployments. Check the official documentation and our recent White Paper on HA. Also, Satyajit just put together a set of slides on the topic (writeup, PDF@SLX,SlideShare)."

In today's Weblogs, Eamonn McManus discusses Applying MXBean mappings to your own types. "The MXBean framework gives you a way to define MBeans with custom types, and map those types to standard ("open") types so generic clients can deal with them. Sometimes you want to do this mapping outside an MBean. For example, we recommend that the custom payload of a Notification should use open types, but open values can be a bit painful to construct. It would be nice to use the MXBean framework to map from a custom payload type to an open type. Is there a way to do that?"

In Grizzly : Speedup the ProtocolFilter response time, Sebastien Dionne writes, "I want to show how to speedup the ProtocolFilter when dealing with IO that can block your application."

Finally, Arun Gupta's latest tip is TOTD #55: How to build GlassFish v3 Gem ? "GlassFish Gem is a light-weight and robust deployment solution for Ruby-on-Rails and Merbapplications. The gem can be easily installed as: gem install glassfish for any JRuby runtime. This Tip Of The Day (TOTD) explains how to build this gem if you like to understand the internals or hack it out."

This week's Spotlightis on the newly-released NetBeans IDE 6.5. "Simplify your development with the new NetBeans IDE 6.5. Sun's award-winning open source IDE enables Java developers to rapidly create and debug web, enterprise, desktop, and mobile applications. Supported by a vibrant developer community and offering a diverse selection of third-party plugins, the NetBeans IDE is a must-download for developers. " For more information, check out NetBeans 6.5's features, tutorials and documentation, and a guided video tour.

In today's Forums,rah003 explains SwingX's JVM support plans in Re: Any plans to move to JDK 1.6?. "Plan is to stop active support for Java 5 as soon as SwingX 1.0 is out. We will branch the code base at this point and main branch will be made Java 6+ compatible only. Now the issue is that we have still quite few things we want to solve before releasing 1.0 (check details) so there is no definitive date for the release set yet ... if you feel like fixing some of the issues, we would be more then happy to get your contribution."

pbw needs some help with Building 1.4 using extra sources in NetBeans "I asked a similar question in the NetBeans mailing list without getting any response, so I'll try here. The source distribution of metro 1.4 contains numerous zipped sources; one for pretty much each of the jars required in running metro. I tried deleting most of these src zips from the relevant lib subdirectory. I was able to clean and rebuild without complaint. How can I incorporate these sources into my metro build so that I can debug through them using NetBeans?"

Finally, sebven1982 hopes to put comments in generated WSDL. "I would like to insert comments in the WSDL generated by JAXWS. Is it possible to do that? I did not find any annotations that would do the trick."

Current and upcoming Java Events :

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

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 Archive.

Make yourself more useful  

No Big Deal Blog

Posted by kfarnham Nov 21, 2008

Are programming contests worth your time and talent?

Dan Frommer of Silicon Valley Insider has posted a snarky article, Motorola's Plan To Woo iPhone Coders: Bribery, Widgets that mocks a new developer contest:

Motorola's new "Widget Developer Challenge" will award lucky winners prizes up to $25,000 -- $200,000 in total prizes -- and "global exposure." All you have to do is join Motorola's developer program, learn their widget system, make something cool, and if you're lucky, profit.

And then plan to forget everything you've learned -- because Motorola will be throwing it away anyway.

Dan's point is that the WebKit/Linux-based WebUI platform that the contest targets is not going to be on Motorola's upcoming phones, as the company is moving to Android and Windows Mobile.

But, in the bigger picture, what do you think about developer contests? They're a common way to launch platforms or get developers to dig into APIs that have been published -- indeed, our current Spotlight is on the Project Darkstar Developer Challenge -- but how often do you take the bait? Do you learn a platform just for the sake of a contest? Or do you enter a contest if you're already working with that platform and think it might be worth your while? Or do you have better things to do than code up contest entries?

It seemed like an interesting question, so we used it for the new Poll, which asks "Do you enter programming contests?" Cast your vote on the front page, then visit the results page for current tallies and discussion.

In Java Today, the latest edition, issue 184 of the JavaTools Community Newsletter is out, with tool-related news from around the web, announcements of three new projects in the community, and a Tool Tip on getting information from a running JVM via JInfo.

Earlier this week the NetBeans team released the latest version of its open-source, multi-language IDE, NetBeans 6.5 In the Artima interview Sun Releases NetBeans 6.5, David Folk, Group Marketing Manager for Developer Tools, and Mark Day, Engineering Manager for Ajax, discuss NetBeans


I Feel Speed Blog

Posted by kfarnham Nov 20, 2008

Animation on the go

We're back to LWUIT in the latest feature article, and can you blame us? While we wait for JavaFX-compatible mobile devices, LWUIT gives ME developers an opportunity to create cutting-edge user interfaces for today's Java-capable phones.

One of the most significant GUI trends this decade is the use of animation. Used appropriately, it's a useful visual cue to the user that there's been a change in context or content: you've navigated to a new screen, your IM buddy has logged off, your file has been crumpled up and thrown in the trash.

But writing animation code by hand is a pain, setting up timers, coordinating multiple animated objects, calculating how much has changed and what to draw. An animation framework to standardize at least some of this stuff is badly needed.

In todays' Feature Article, Biswajit Sarkar looks at Animation and Transition with LWUIT. He begins with a look at how to support "page-flip" style animation of images, something you can do with your own timed painting code or just by loading in an animated GIF. Then he moves on to the more advanced case of transition, which use LWUIT's animation APIs to animate the way a form is brought into or out of an LWUIT display.

Have a look... it's not much work to provide transitions, and can make your mobile application vastly more appealing.

In Java Today, Sun has announced it is teaming up with Carnegie Mellon University to continue work on Alice, the key research project of The Last Lecture author Randy Pausch. The Java-based Alice is "an innovative 3D programming environment that makes it easy to create an animation for telling a story, playing an interactive game, or a video to share on the web. Alice is a teaching tool for introductory computing. It uses 3D graphics and a drag-and-drop interface to facilitate a more engaging, less frustrating first programming experience. "

Reflection and Birthday Greeting from Jonathan Schwartz
The NetBeans 10th Birthday Celebration closes with a special interview with Sun CEO Jonathan Schwartz. He talks about why developers are important to Sun, looks back on how software development has changed over the last 10 years and why NetBeans matters to Sun and the industry.

InfoWorld has posted an article on Why developers prefer Macs, pointing out its popularity among Ruby and Java developers. "Java development on the Mac is also very popular, in part because all the major Java development environments are written in Java. Therefore, Eclipse, IntelliJ, and NetBeans all run about the same on Windows, Mac, and Linux boxes." However, the article also notes competition from other flavors of Unix, and James Gosling's recently delcared preference for OpenSolaris over Mac OS X.

In today's Forums,klemensz hopes to override TextField default key codes / mapping. "Is there a way to override the mapping of key codes to characters/numbers, for example if I want to have German characters available as well? Looking at the source code I saw that DEFAULT_KEY_CODES is not accessible from outside the class or a subclass. Is there a special reason for that? I see a possibility to accomplish what I need by overwriting the default input modes with my own input modes using addInputMode(). Is this the "correct" way? It might be easier if there was a getter for DEFAULT_KEY_CODES."

Project Wonderland user twright announces the posting of some WonderDAC Papers. "It's been a while since I last posted, though I have been actively lurking. Some of you may recall that my modest contribution to Wonderland has been to devise a discretionary access control system called WonderDAC. My efforts on this front have recently culminated in a small, but realistic, test of Wonderland and WonderDAC. I won't bother you with all of the details and outcome, here; please visit my website for links to several papers on WonderDAC that I've authored ("

Gail Risdal wants GlassFish v3 Prelude users to contribute to documentation, as explained in REVIEW REQUEST: Troubleshooting Guide. "The GlassFish v3 Prelude Troubleshooting Guide is now available for review. Please review the document and provide feedback by close of business Monday Nov 24th PT (earlier would be even better). I know that's not much time, but that's the reality of the schedule. The document is available from the doc comments wiki: Please add your comments to the page or, given the short timeline, send them directly to me."

Finally, we're fortunate that "king maker" andrewhhhas contributed an applet experience opinion to the thread Re: The ongoing switch from Java to Flash. "Also, I use Linux, so when I see an applet loading I cringe. I expect a clunky experience that will increase my blood pressure by forcing me to wonder "is it wedged? is my browser hosed? is it a server issue?" Don't make Linux a second class citizen. We Linux users are a vocal, evangelical, knowledgeable and most important, trusted group. We're the ones who told our Windows using friends to ditch IE for Firefox. We're the ones who explain the liabilities of vendor lockin. We are king makers and you ignore us at your peril."

Today's Weblogswith Arun Gupta showing you how to build a webapp, in Screencast #28: Simple Web Application using Eclipse and GlassFish v3 Prelude. "GlassFish v3 Prelude is now available! Some of the cool features are: Modularity using OSGi, Rapid deployment using retain session data across HTTP redeploys and deploy-on-save, embeddability, dynamic languages and frameworks, faster start up time, integrated NetBeans and Eclipse tooling, etc. This screencast shows how you can create a simple Web application using JSP and Servlets in Eclipse 3.4, deploy it directly on GlassFish v3, use rapid deployment, and debug the application."

Daniel Wildt asks Brazilian readers to save the date for RSJUG Day - December 13th of 2008. "Upcoming event from Rio Grande do Sul Java Users Group. This is a Java Users Group from Brazil, the first JUG created in Brazil. The call for papers is open, so you can send your proposal until December 1st of 2008."

Current and upcoming Java Events :


Waiting for the Flood Blog

Posted by kfarnham Nov 19, 2008

Begin the mass download of NetBeans 6.5

And here we go! The NetBeans team released the final version ofNetBeans 6.5 at 9AM ET / 6AM PT / 1400 GMT today. So what's the big deal? They write, "simplify your development with the new NetBeans IDE 6.5. Sun's award-winning open source IDE enables Java developers to rapidly create and debug web, enterprise, desktop, and mobile applications. Supported by a vibrant developer community and offering a diverse selection of third-party plugins, the NetBeans IDE is a must-download for developers."

We've kept up with the early access releases and beta of 6.5 for some time, so it's easy to forget what's in this version. Here's the scoop from the NetBeans Community Page:

New features include a robust IDE for PHP, JavaScript debugging for Firefox and IE, and support for Groovy and Grails. The release also delivers a number of enhancements for Java, Ruby on Rails, and C/C++ development. Java highlights include: built-in support for Hibernate, Eclipse project import, and compile on save. Combining excellent out of the box experience, compelling features, and a great plugin ecosystem, NetBeans IDE 6.5 is a must-download for all developers.

NetBeans IDE 6.5 is currently available in English, Japanese, Simplified Chinese and Brazilian Portuguese. There are several community contributed localization efforts underway to support additional languages. Join the efforts today.

There's even more information available in the form of features, tutorials and documentation, and a guided video tour.

For those of you downloading the NetBeans 6.5, there's more good news: NetBeans is now available for download via a network of mirror servers around the world. "Currently NetBeans is available via sites in the US, Brazil, the UK, the Netherlands, Taiwan, and Japan. When you download NetBeans, you will automatically be directed to a mirror in or close to your geographic area. This means faster downloads for everyone, as you'll be downloading from a high-speed site geographically close to you, and load on the primary download server is now distributed across all mirrors."

In our other bit of important Java Today news, the Java Community Processhas posted the results of the 2008 elections. Intel Corp. and Werner Keil have been elected to the SE/EE Executive Committee, and Sony Ericsson Mobile Communications AB and Sean Sheedy are the winners of the the seats on the ME EC. The new members will take office on December 2nd, 2008, beginning three year terms. Their first EC meeting will be on December 9th.

Today's Weblogsbegin with Roger Brinkley applauding the JCP election results, inM&E Community Member on JCP ME EC Board. "Sean Sheedy, a Mobile & Embedded Community Member now has a seat on the JCP ME EC Board. A big thanks to everyone in the community who voted for Sean."

Ed Burns takes a look ahead to Facelets in JSF 2.0 update. "Quick updates on Facelets in JSF 2.0 We're still plugging along on getting Facelets fully specified so a clean-room implementation can be done of it."

Cay Horstmann shares his Grief with Gantt charts. ""Occasionally, I have to put together a project schedule with a Gantt chart. In my software engineering class, I figured I should use something cross-platform and open-source, and not Microsoft Project, which I vaguely remember as a muddleheaded mess. Here is what I found and the lessons I learned from my journey. "

In today's Forums, Blu-Ray Disc Java develper ljubisap hopes to update an application dynamically, as explained in Multiple JARs, problem with classpath updating. "I'm trying to download additional JAR from the Internet and then to update classpath (somehow) of the Xlet and JAR which are on the disc, so they can use additional classes from downloaded JAR. Downloaded JAR doesn't have any Xlets. It contains only some additional classes I want to use. My problem is how can I update classpath and use additional classes from downloaded JAR in JAR on the disc. Is this possible to do ?"

kulikoff thinks about working with Signaling System 7 in Re: SS7 Interface for Mobicents. "I agree about different resources adaptors for TCAP, MAP and INAP as well as for JCC. JCC is an abstraction layer for basic call control while specific protocols are needed for advanced services. Do you want to wrap native openss7 tcap stack? I am not familiar with openss7 project and I have a wish to catch signaling from MTP3 and compile ASN.1 from ITU to directly java classes. There are several open source asn.1 complires were developed since JCC implementation was made which I think would help to complete full SS7 stack."

Clive Brettingham-Moore explains time and date representations in Re: Can XJC set time zone? "XML Dates are pretty complex - in this case the value you have represent a non-zoned date. By default in XJC xml date types are mapped to XMLGregorianCalendar which is capable of representing unzoned values; if you use the methods on this to convert to a GregorianCalendar then it will use the supplied zone, or the default zone for the JVM."

Current and upcoming Java Events :


So Alive Blog

Posted by kfarnham Nov 18, 2008

Hard numbers on the Java runtime install base

Since last week, we've been keeping an eye on the thread Tracking Java Versions using Google Analytics, in which Gili Tzabari (cowwoc) linked to a blog he wrote showing how Google Analytics could be used to detect whether website visitors had Java installed and, where possible, which version. "I would love to see Google integrate this as a standard feature of Google Analytics but in the meantime we can do it ourselves. If you own a popular website please share your statistics with everyone else. I'd love to find out what Java usage is like in the wild."

A number of people have checked in with their results, and in today's post, Gili tallies up the results he's seen:

    1.6.0_00 to 1.6.0_09: 530 (52.89%)
    none: 300 (29.94%)
    1.5.0: 93 (9.28%)
    1.6.0_10: 38 (3.79%)
    1.4.2: 39 (3.89%)
    1.8.0: 2 (0.2%)

    1.4.2+: 700 (69.86%)
    1.5+: 661 (65.97%)
    1.6+: 568 (56.67%)

He goes on to offer some analysis of the results:

So it seems fair to say that ~70% of web users have Java installed, but for those of us interested in Applets or Desktop Applications I guess we are only interested in the top 56% or even 4%...

Is that good enough? I guess it depends on whether you see the glass half-full of or half-empty. I am actually quite surprised that 56% of web users have Java 1.6 installed. That's actually much better than I expected!

Draw your own conclusions from the results, or better yet, grind some data of your own. Complete instructions are provided in the Gili's original blog, linked above and from the first message in the thread.

Also in today's Forums,kirillcool talks about text rasterizing in the followup Re: Text anti-aliasing settings/Changing LAF. "In my opinion, the whole thing about exposing API to set the text rasterization hints is unnecessary. Java2D should use the native rasterizer on *all* platforms for all text rasterization APIs. This is partially done in 6u10 on Windows when the awt.font.desktophints property is used as mentioned in the original links. Hopefully, JDK 7 will remove the bundled rasterizer(s), deprecate the existing rendering hints (in addition to the desktop property) and make them no-ops and start using native text rasterization exclusively based on the current settings of the user desktop environment."

drichan wants you to help make the case for Java Web Start as Rich Internet Application technology. "I work for a large company that has created a web start application that is now being used by thousands of users. The application uses web start for deployment but has all business logic on the server using web services. Our marketing group wanted to know how to define our application, and I told them they should use the term Rich Internet Application. Because that is, in my belief exactly what it is. There are some in the company that don't believe in Java on the Client technology and therefore are pitching hard that this technology not be considered RIA, even though they are willing to call flash, flex, air, and silverlight RIA. How does the Java Desktop community come down on this question. I think it is important because much of Java on the Desktop issues really come down to marketing not technology."

The latest Java Mobility Podcast is Java Mobility Podcast 61: Funambol . Funambol provides mobile sync and push email solutions powered by open source. Stefano Muffuli from Funambol talkes with Terrence Barr about the technology and license. by Daniel H. Steinberg

In Java Today, the OpenJDK project's announcement list has announced the approval of two new sub-projects. The Locale Enhancement project, sponsored by OpenJDK's internationalization group, will "enhance the java.util.Locale class in order to bring the Java platform into conformance with IETF BCP47 and UTR35(CLDR/LDML)." Meanwhile, the SCTP project, sponsored by OpenJDK's networking group, will "develop an API for the Stream Control Transport Protocol (SCTP) and a corresponding OpenJDK prototype."

The Aquariumpasses on the news about a November 20th webinar on Seam Framework and GlassFish Server, at 11 AM PST. "The bulk of the webinar will be a presentation by Dan Allen, the author of Manning's Seam in Action and of the Mojave Linux blog. I am trying to include at least one demo and perhaps also an informal discussion on WebBeans and its companion specs (EJB 3.1 and JSF 2.0)."

Jean Francois Poilpret has posted slides from his Javoxx 08 presentation on JSR 296, the Swing Application Framework. Topics covered include the application lifecycle, resource handling and internationalization, actions and tasks, persisting session state, and more.

In today's WeblogsEamonn McManus has some help for Getting rid of that pesky MalformedObjectNameException. "You can't construct a JMX ObjectName without handling MalformedObjectNameException, which is a checked exception. Here's why that is a pain, how to relieve that pain, and what we're doing to make it less painful in the next version. "

Arun Gupta shares photos and slides from another traveling presentation in GlassFish @ JavaMUG - Trip Report. "Presented on GlassFish at Java MUG last week. The event is hosted at Sun's North Dallas Office. It was impressive to know that local Sun team is hosting 4 User Groups (MySQL, Solaris, and OpenSolaris other than the JUG) in a month." 

Finally, Greg Brown looks at Building Rich Internet Applications Using Pivot and JavaScript. "Pivot now allows developers to write their application logic using their scripting language of choice, using the features provided by the javax.script package available in Java 6 and above."

Current and upcoming Java Events :


Welcome Tomorrow Blog

Posted by kfarnham Nov 17, 2008

JPA 2.0 shaping up

Among the most welcome features of Java EE 5.0 and EJB 3.0 was the Java Persistence API, which not only offered a nice alternative to EJB's container-managed persistence, but also stood alone as a general-purpose object-relational mapping framework. In fact, it's even suitable for use in desktop applications, as Josh Marinacci demonstrated in his article, An Introduction to Java Persistence for Client-Side Developers.

Still, time moves on, and no 1.0 project suits everyone's needs, so it's a pleasure to see that JPA 2.0 is on its way. As The Aquarium points out, theJPA 2.0 Public Review Draft is Now Available:

The Expert Group for JPA (JSR 317) has released itsPublic Review Draft, and, Linda [DeMichiel], the EG lead, has written a Summary of the major changes in the JPQL.

So what's new? Linda says it will take two blogs to hold it all, starting this time with JPQL improvements:

The functionality added in the Early Draft to support element collections, nested embeddable classes, embeddables having entity relationships, generalized maps, and ordered lists necessitated some changes to the JPQL syntax to make queries over these mapping types easy to write. Further, we've also added some other requested (and much needed) functionality to the language.

Embeddables with dot notation, maps, ordered lists... lots of interesting stuff to chew on in this preview. The Aquarium post adds, "the expert group is soliciting feedback atjsr-317-pdr-feedback at sun dot com. Linda promises a follow-up blog entry describing the changes to the Criteria API, and she also gave a fast (10m) presentation as part of the GFv3 Prelude launch (details,replay, slides)."

Also in Java Today, Van Riper points out a free Java community event during QCon San Francisco. "QCon San Francisco has invited bay area Java Developers to a Java Community Event on Thursday November 20th, 2008. This free event will be a one-hour long panel on the State of Java with well known Java luminaries and QCon SF speakers. Although free, an advance RSVP is required and space is limited. The registration page also lists who has already signed up to attend this event at the bottom of the page."

Sun recently released a new version of its open-source Java application server. GlassFish V3 Prelude targets the Web tier, and is based on a modular architecture that ties optional plug-in modules into a small kernel via OSGi. In a new Artima interview, John Clingan, Sun's GlassFish Group Product Manager, and product management director Paul Hinz, describe the latest GlassFish features most relevant to developers, including rapid deployment, and working with Rails applications.

In today's Weblogs, Kohsuke Kawaguchi discusses the hazards of and solutions for Compiling with JDK6 and running on JDK5. "It's common for a Java project to compile with later versions of JDK than it minimally requires. But when you do this, there's a danger that you have accidental dependency that breaks your software when run in earlier JDKs. So I wrote a tool to verify this."

In Ease of development in the Java EE 6 Platform, Roberto Chinnici offers "an overview of ease of development features in the Java EE 6 platform."

Got Merb? In TOTD #52: Getting Started with Merb using GlassFish Gem, Arun Gupta writes, "GlassFish Gem 0.9.0 was recently released. It can run any Rack-compatible framework such as Rails and Merb. The gem is even extensible and allows to plug any of your favorite Ruby framework using -apptype switch (more on this in a future blog). This blog shows how to install the gem and use it for running a Merb application."

Marking the beginning of a new contest, this week's Spotlightis on the Project Darkstar Developer Challenge, looking for the best applications and utilities for Project Darkstar written by independent developers and students. The contest offers some enticing awards: grand prize winners get a 2009 Game Developer Conference (GDC) pass and an opportunity to show their work in a GDC presentation, plus cash for travel and a feature on the Project Darkstar site. Entrants must be members of the Project Darkstar community, and must submit their entries between November 17, 2008 and January 19, 2009.

In today's Forums,navinkjha is perplexed by a Problem with auto complete combobox and JTable. "I use table.setSurrendersFocusOnKeystroke(true) to allow user to start typing in the cell of the JTable. The cell editor is a combobox with auto complete. The problem I am seeing is that when the editor comes on, the existing value shows up instead of a value matching the first character typed. How do I achieve this?"

Bill Kocik has a big-picture followup question in the thread Re: Remote deployment of Rails app. "That actually raises another question. I'm aware of Warbler (and Goldspike, for that matter), and it's very cool - but I thought one of the advantages of GlassFish v3 is that you no longer have to package your app into a war file to deploy it. The question is: Why is that an advantage? I've never been really sure where to ask that question."

Ryan de Laplante asks Can SIP servlets be used to create a menu based phone system?"I've only done a tiny amount of reading about Sailfin, SIP servlets, JSR 116 and 289. It's not clear what kinds of systems I can write with this. Can I write a system that people phone into, enter a user ID and password, and follow voice prompts to interact with our systems? Can I respond to an application event by phoning someone and playing a recorded message or using text-to-speech?"

Finally, cowwoc tests the limits of Java archeology in Re: Tracking Java Versions using Google Analytics. "I believe deployJava.js will detect Java versions at least all the way back to Java 1.4.2, and I suspect even earlier. The only thing that is not clear is whether it will work for non-Sun JDKs back to those versions but we can ask Sun for clarification on this point (in fact, I just filed a BugParade issue asking for explicit documentation)."

Current and upcoming Java Events :


Plain Truth Blog

Posted by kfarnham Nov 14, 2008

A call for greater transparency

Last week's most-discussed topic was surely Kirill Grouchnikov's blog Sun setting down on the core Swing, which concluded that the de-funding of SwingX and a seeming shift of client/desktop emphasis to JavaFX implied that Swing has been effectively put into maintenance-only mode.

Today, Kirill follows up to say that the underlying problem may not be the actions taken by Sun and others, but the lack of communication about them:

Open-sourcing Java during the JavaOne 2006 and the announcement of OpenJDK project was hailed by Sun as the new era for Java, where everybody can lend their hand in shaping the future of the Java platform. Specifically in the client area, the summer of 2006 has supplied Swing developers with such gems as Chris Campbell's entry on soft clipping, Chet Haase talking about Java on Vista, official birth of JSR 295 and JSR 296, as well as lively discussions on the SwingX painters and layers. Those have been exciting times for me personally, as they showed a renewed and well backed interest in the Java client side development.

Unfortunately, the last eighteen months have been quite disappointing. The level of openness (or transparency, if you will) set in the summer of 2006 was not a genuine and lasting commitment to the community, which has been effectively shut not only from participating in the decision making process, but in following it as well.

In Trust is hard to build and easy to destroy, Kirill's core argument is that the trust developers have in the future of the platform, particularly on the client side, has been compromised by both deliberate choices to not communicate (which he typifies with an openjfx-compiler list message explicitly declining to discuss a JavaFX bug fix in a then-closed library), to the long periods of quiet after initial announcements, such as the short-lived JavaFX blog or the continued absence of an umbrella JSR or timeline for Java 7. Without any kind of reliable information, the users have no ability to make plans based on the product:

Can you justify being "heads down" in development / testing to create a void to be filled with rumors, conjectures, interpretations and wild guesses?

It's certainly ironic to be reading such a denunciation of Java openness, particularly two years after Java itself was open sourced. But maybe it's not just about the code, but rather where that code is going.

Kirill is redirecting comments to his blog on I suspect it's going to be a busy day over there.

In a related vein, the latest Poll asks "Did you expect Java 7 to be released in 2008?" Cast your vote on the front page, then visit the results page for current tallies and discussion.

Among today's other Weblogs, Jim Driscoll continues his Ajax adventures in JSF 2.0: Writing fully reusable Ajax Components. "We'll take another look at my example Spinner component, and this time, we'll modify it so that you can put multiple components on a page. There's a few tricks you need to know, but once you get past those, it's pretty easy."

Carol McDonald has materials from her most recent hands-on lab in HOL on REST Dojo Comet. "Yesterday I gave a Hands On Lab on REST, dojo and Comet at JFall. You can download the Hands On Lab."

In Java Today, Java was well-represented at last weekend's Silicon Valley Code Camp, with a reported 33 Java sessions of the 113 total. Java Champion Van Riper was a co-organizer of the event, and he has posted a slideshow to the Java Champions page. Arun Gupta has also posted a trip report about the GlassFish team's activities: " Jitu, Jiandong, Jacob, and I presented onGlassFish at Silicon Valley Code Camp over the weekend. The event had higher attendance (close to 500) than last year and certainly is a great networking event for the local community."

The Refact4J project describes itself as "a set of framework: functors library (like C++ Standard Template Library) and meta-model programming (Entity Object Model). The main goal is to exploit functors and meta-model as a simple design and implementation based on concept of generic and functional programming. Refact4J is a framework for data application development which includes a simple architecture and a number of plain Java APIs."

Continuing a series on ME networking with real-world protocols, the SDN has posted Bruce Hopkins' Asynchronous Communications with Java ME and SIP: Part 2. "As you may recall from Part 1 of this series, I showed you two example applications that used the Session Initiation Protocol (SIP) to send a simple message asynchronously from one application to the other. In this tech tip, we are going to explore why the REGISTER method type is important and learn how to use it. "

In today's Forums,cowwoc asked us to pass along his request to try Tracking Java Versions using Google Analytics. "I just posted a blog entry explaining how to track the Java version of your website visitors: I would love to see Google integrate this as a standard feature of Google Analytics but in the meantime we can do it ourselves. If you own a popular website please share your statistics with everyone else. I'd love to find out what Java usage is like in the wild."

cowwoc also wonders How to select dates that span months in SwingX. "I tried using JXMonthView but it only lets me select a range of dates within a single month. The closest I've seen to the behavior I'm looking for is Windows Vista's Calendar application. Clicking the mouse button and dragging to the bottom right automatically scrolls to the next month(s). Dragging to the top left scrolls to the previous months. There is also Google Analytics that lets you pick the start date and end date without dragging but does so without opening and closing new calendars every time. What is the acceptable behavior in this case? Do you simply use two JXDatePickers?"

Finally, lucasrj posts an announcement for an Informative Event For Darkstar, Wonderland, and SunSpot Projects. "The IGSA, the Asian Diversity Network @Sun, and Sun Microsystems invite you (and your development staff) to learn more about open source technologies that you can leverage for the development of online games, virtual worlds, and social networking applications. [...] This will be an excellent networking opportunity. The event will be attended not only by the gaming community, but also by SUN, JAVA, training, academic, and other development communities. Meeting date: Tuesday, December 2, 2008. Time: 5:00-8:30 pm."

Current and upcoming Java Events :


Playing the Game Blog

Posted by kfarnham Nov 13, 2008

Picking up discarded objects and putting them back in the toy box

So, here's an amusing analogy for you, from Danny Coward, Sun's Chief Architect for Client Software:

Like using the living room as the kids play area, tidying up, orgarbage collection, is an integral part of life in the JVM. Except that the kids are applications and the toys on the floor the objects they create. But unlike in your living room, these kids don't sleep, are always playing with something, will scream if they have to wait while you tidy up, and will get seriously, seriously mad if they lose a toy. So how can you organize the mess they make without disrupting the game ?

Well, I suppose one answer would be to use Real-Time Java, but all that does is to make the timing of the cleanups predictable, potentially at the expense of performance (i.e., how many toys you get to play with in a given timeframe). But we can do better than that, right? Danny continues:

The HotSpot team has been quietly working on a new algorithm, called Garbage First, for tidying up the memory space in the JVM while the kids are playing, as a replacement for the existing parallel and concurrnet mark sweep collectors. By dividing the living rooms into equal squares, it turns out that for most games, many of the squares contain unused toys that can be safely put away.

This approach could have some interesting consequences. Being scheduled, it's highly predictable, and by dividing the work up, it's highly parallel, and thus well-suited to multi-core. Sound good? Well, you can try it. As Danny reveals in Java VM: Trying a new Garbage Collector for JDK 7, this garbage collector has already been added to the latest build of JDK 7.

Also in Java Today, Eduardo Pelegri-Llopart announces that Sun has launched a Tomcat and GlassFish Survey. "We are conducting a survey on developers, ISV, etc, that are using Tomcat and are considering GlassFish. We want to find out what features are used and which migration approach would be preferred. If you want to help us, please participate in the survey. Thanks!"

"With the recent announcement of GlassFish v3 "Prelude", Sun's OSGi-based Java EE 6 server, the use of OSGi across the enterprise has grown to encompass almost all of the back-end servers." In the InfoQ article OSGi in the Enterprise, Alex Blewitt looks at how OSGi usage is growing in open-source projects, webapp and back-end systems, and OSGi's longer-term prospects in the enterprise.

New Java plug-in concerns top today's Forums, withleathrum reporting of an Applet not compatible with new plugin. "I have an applet which works fine with the plugin version 1.6.0_10 in classic mode, but not in next-generation mode. The page is written in XHTML, using <object> tags following the W3C standard, and uses LiveConnect to communicate with JavaScript. The JavaScript fails at the first call to a method defined in the applet. Also, even though I have the Java console configured to appear whenever an applet runs, it does not appear for this page, so I have no evidence that the applet is actually initializing. I know the security model for LiveConnect has changed, but it is also supposed to be backwards compatible. Is there something I need to change in the <object> tag attributes or in the JavaScript to get this applet working in the next-generation plugin mode?"

Meanwhile, kbr sets the record straight on the modern applet life-cycle in the follow-up Re: Dragable applets -- you screwed that up too... "The current applet lifecycle behavior is as intended. When applets were first introduced in HotJava, multiple calls to start/stop were allowed, and the applet instance would be cached between visits to the same web page. This behavior was changed several releases ago to no longer cache applet instances by default. This means that you will get calls to init / start upon visiting a page with an applet, and stop / destroy upon leaving the page. It is possible to request the previous lifecycle behavior, but I strongly recommend against it, even though the implementation of this functionality works well in the new Java Plug-In. Google for "legacy lifecycle" There are no explicit events in the current browser plugin specifications for minimizing the browser window or switching to a different tab. This makes implementing calling stop() / start() upon these events basically impossible."

ankitmittal000 has some questions about the potential benefits of Inplace execution in CLDCHi. "I am working on Inplace execution feature given by SUN in CLDC Hot spot Implementaion. I want to know how much performance can be increased by using inplace execution for the midlet to be run on the device. I have converted the midlet jar file into application image (bun) but not able to know whether I have got any significant improvement or not. Can anybody tell me that how can inplace execution improve the performance and it will affect which part? Is there any way to know how much performance has been increased like some benchmark midlet for InPlace Execution feature."

Finally, Bill Foote updates the state of Blu-Ray Disc Java specs and realities in Re: [BD-J-DEV] Issue with remote colored buttons. "I should mention that sample code 19.2 might be a bit overkill, since subsequent to the book's publication, the BDA added a requirement that the HAVi API return exact color values. The whole fuzzy match on hue isn't necessary for players that obey the enhanced spec. That said, I'd want to do extensive player testing before counting on that spec requirement having been implemented everywhere that matters; all things considered, it's probably worth it to be conservative, and add the tiny bit of code for the fuzzy match."

Today's Weblogsbegin with Gabriele Carcassi writing about Scripting Java with Javascript: trapping Swing events. "As part of my current project, I developed a call that allows me to attach javascript to Swing events. This allows a third party to get my packaged applets, and integrate them with their systems my running their own code in the same page."

Varun Nischal reports on his integration of Ant, Hudson and Glassfish. "Blogging after a long time, I have learn something interesting and would like to share with you all. Its all about automating builds and continuous integration!"

Finally, Jean-Francois Arcand discusses Who support what with Comet or why GlassFish v3 Prelude is for you! "Today JavaLobby is publishing an article about who does what in Comet, and how. Time to try GlassFish v3 Prelude to taste Comet!"

Current and upcoming Java Events :

CommunityOne packs up and heads East

The long, strange odyssey of CommunityOneis about to get a lot longer. Remember, this is the event with its beginnings in the free pre-JavaOne "NetBeans Day", which when co-located with similar free conferences for GlassFish and OpenSolaris eventually became a cohesive and notable conference in its own right. And as it grows into more than just a bonus day of JavaOne, perhaps it makes sense to decouple and take the show on the road.

So, CommunityOne has announced it's heading East, holding its first-ever U.S. East Coast conference in New York on March 18, 2009, in addition to its now-traditional spot in San Francisco on June 1, the day before JavaOne. A Call for Papers is now underway for both events, seeking session, panel, and lightning talk ideas by December 11:

In 2009, CommunityOne will focus on the free and open platforms, tools and services that can be found powering the Internet, running enterprises, and enabling high-performance computing. We're open to all your ideas but are specifically looking for sessions on cloud computing and virtualization, dynamic languages and scripting (PHP, Ajax, Python, Ruby, JavaScript), databases (MySQL, postgreSQL), web and application servers (GlassFish, Apache), operating systems (OpenSolaris, Linux), mobile development (Java ME, Android, Symbian), and tools (NetBeans, Eclipse, Sun Studio).

It's also noteworthy that an event that was originally based around Sun's open-source projects is now open to all comers. Look at that CFP again: it's not just NetBeans, but also Eclipse. Not just GlassFish, but also Apache. Not just Java ME but Android and Symbian. Obviously, they're pretty serious about the "community" part of "CommunityOne".

Also in Java Today, the Planetarium passes along word that JavaFX 1.0 is set for a December 2 release. In anticipation of the release, InfoQ is offering a Java FX Technology Preview, based around an interview with JavaFX developer (and blogger) Joshua Marinacci. "Pitched into the Rich Internet Application space as a competitor to Adobe's Flex and Microsoft's Silverlight, Sun's JavaFX is one part of Sun's strategy for addressing these issues for Java developers. JavaFX aims provide a new foundation platform for building Rich Internet Applications across desktop, internet and mobile devices."

"Sun Microsystems and the Project GlassFish community have announced the release of GlassFish v3 Prelude, a modular, lightweight Web 2.0 development and deployment platform. The announcement underscores the momentum of the GlassFish v2 application server, which notched eight million downloads and over 200,000 product registrations in the previous twelve months." The SDN article GlassFish v3 Prelude Previews New Features summarizes the features in the GlassFish v3 Prelude application server and provides links to more information and downloads.

In today's Weblogs, Doris Chen discusses her recent presentation on Building Rich Web Applications using jMaki Framework. "I presented "Building Rich Web applications using jMaki" session this weekend at the Silicon Valley Code Camp at Foothill College. Many of the attendees asked for the presentation so I have posted my presentation here for your reference."

In Maven Test Coverage : Cobertura and Surefire working, Sebastien Dionne shows "how to enable Cobertura Test Coverage in Maven."

Finally, David Herron considers the importance of individual candidates in The upcoming JCP Java ME Executive Committee Election. "Just in case you're not all election'd out, and just in case the recent election in the U.S. gave you some hope that things can change through elections, here's an opportunity to affect the direction of Java ME."

In today's Forums,rlopes offers strategies for adapting to different displays in Re: LWUIT and Diffrent phone Screen Size. "LWUIT aims to create only one version of the application that adapts itself to the device, but it doesn't do all by itself, the code you develop have to follow that approach too. You can use the default system fonts with relative sizes (small, medium, large) that are set by the phone manufacturer to be the best for that screen dimensions & dpi. If you really want to use custom fonts you can include several sizes and at startup choose and set the best for the device using the one that is closer to the system font size for that device."

Stephan Bardubitzki is looking for advice with Signing LWUIT based Apps. "Nearing the completion of a network intensive app based on LWUIT I'm wondering whether there is any experience with code signing for LWUIT apps yet. I just remember a blog from Terrence Barr, I believe from Sept. 2007, where he mentioned developer friendly changes to the Java Verified Program. While one can still find links to his blog on Google , the blog itself has vanished. That makes me believe there will nothing change to this program anytime soon. So, what will be the best way to go? As far as I know VeriSign certificates are not accepted by most North American carriers, but actually in Europe and Asia."

michael_heinrichs considers JavaFX asynchronicity in the followup Re: Loading Image. "The Image class is able to load its content in the background. It requires a URL to access the resource though, so I don't know, if this works in your case. Another option might be to extend AbstractAsyncOperation, but that is clearly a more advanced topic. JavaFX is a single-threaded language and you shouldn't create any new threads yourself."

Current and upcoming Java Events :


Proclamation Blog

Posted by kfarnham Nov 11, 2008

Schedule posted for M3DDs

It goes without saying that your conference will get more Early Bird signups once the session list is up, so that would-be attendees know in advance what they're registering for. Fortunately, the second installment of the Mobile & Embedded Community's conference is ahead of the game on this.

The Mobile, Media, and eMbedded Developer Days have posted their schedulefor the January conference, starting with a keynote by Jeet Kaul, Vice President Client Software Group, and Eric Klein Vice President of Java Marketing. After that, Craig Gerig, the Director of Java ME Development offers a Mobility Roadmap.

Co-organizer Roger Brinkley describes more of the conference's content in his blog Mobile, Media, and eMbedded Developer Days Schedule Set:

From there on the diversity of Java ME will become immediately apparent in the technical sessions. Media talks on Tru-2-Way, The New Java TV Stand for Digital TV in Brazil and Creating Blue-Ray Disc™ Games and Menus using Open Source Tools are balanced against embedded talks on Effective Energy Management Through Java, Squawk for Java ME for Embedded Devices and Swarm of Brian. Traditional Java ME talks are highlighted in Does Your Mobile Speak Java FX, MIDP-3 - What it Brings to Developers, LWUIT, and Mobile Widget Development and Project Cupuchin - Energizing Rich Mobile Media. We'll also cover the traditional tools topics of Java ME Platform SDK, Eclipse and special session on The Heart of Parameteric Development as well as new JSRs like JSR 290: Web UI for Java ME Applications. Finally we'll show off a couple of the community projects like Diamond Powder and Floggy.

Enough content for you? Early Bird pricing of $175.00 is available through November 22. Check out the conference page for more details.

Also in Java Today, SailFin, the SIP Servlet project that implements JSR 289 has released V1 Milestone 6. As Binod notes in his blog this release passes the JSR 289 TCK. V1M6 also resolves many scalability bugs after significant cluster testing.

"Each year, the Java Community Process (JCP) holds elections to fill a portion of the seats on the executive committees that oversee the Java SE, EE, and ME standards. This year's elections have already started, and online voting will be available through November 17th on the JCP's 2008 election Web site." In the interview Patrick Curran on the JCP Elections, Artima speaks with JCP chair Patrick Curran about the significance of this year's elections.

Speaking of the JCP election, Terrence Barr posts an endorsement in today's Weblogs. In JCP Java ME EC Election: Vote now for a Voice for Independent Developers, he writes, "bringing an independent voice from the developer community to the ME EC is not a miracle cure - but I am convinced that an individual with passion and experience can act as a catalyst to be a communication bridge between the developer community and the JCP."

Bruno Ghisi shares some Ideas around Java Speech API and Language Translation. "Some fun I had with Java Speech API and an unofficial Java API for Google Translator. It seems there a lot of interesting thing to create with that."

Bhavani Shankar posts a hefty tutorial on Automatic invalidation of SIP sessions (aka Invalidate When Ready - IWR) in SailFin. "This is about the automatic invalidation of SIP sessions (IWR) in SailFin container - the fastest SIP session invalidation and resource clean up mechanism. This type of invalidation happens as soon as the SIP dialog terminates (eg., after processing BYE request). This blog entry is intended to explain how it works and how the applications can use it and get benefit out of it."

In today's Forums, Ryan de Laplante kicks off a lengthy and rather deep thread on How to get a memory snapshot. "I'm trying to use NetBeans to compare two heap dumps taken seconds apart to help me find a memory leak. The heapdumps are of GlassFish with my app running inside. I took them using VisualVM. VisualVM did not detect the GlassFish running as a windows service, so I had to connect to it using JMX. I think I lose a lot of VisualVM features when doing that. Anyway, NetBeans doesn't seem to let me compare two heap dumps, it wants Profiler Snapshots (.nps files). Any idea how I can do this with GlassFish running as a Windows service?"

trembovetski has a suggestion for moving Java2D pixels around in Re: Creating a VolatileImage from a WritableRaster? "Create a BufferedImage from that raster, and copy it to a VolatileImage of appropriate size. You'll have to update the image every time the raster changes though. It may be better just using the BufferedImage - although that depends on what you're trying to do."

heziflash is looking for the connection, if any, between LWUIT and JAVAFX, asking "1. does LWUIT works with JAVAFX 2. does JAVAFX works for mobile phones?"

Finally, ecrouse needs help with what seems to be aBasic JButton Background color issue. "I would like to change the normal color of the depressed state (while user clicks on button and holds button down) from the standard metal background color to a different color. When the user releases the button I would like the button to resume it's normal background color. I tried overriding the processMouseEvents() function by extend a MyButton class from JButton. I caught a MOUSE_PRESSED event and setBackGround( SomeColor ) this worked, however, I lost state changing behavior. But when I tried inserting a super.processMouseEvent() function in my overriden function I gained the normal state changing behavior but the background no longer changed during the depressed state like I had before."

Current and upcoming Java Events :


Nothing At All Blog

Posted by kfarnham Nov 10, 2008

Have concerns over Swing's future been overblown?

Last week, the discussion that started with the much-delayed news that SwingX hasn't been funded since July, and was followed up by Kirill Grouchnikov's conclusion that it marked the beginning of the end for Swing, got a lot of people concerned about the future of Swing, and speculating that Swing was being sacrificed in favor of JavaFX. There's also a significant discussion of Swing's future over on this week's poll.

Have these concerns been overblown? In today's Weblogs, Fabrizio Giudici says Guys, don't panic - Swing is here to stay. Pointing out the difference between the Swing libraries and the SwingX project, he writes:

Sun stopped funding SwingX, not Swing. SwingX is however an open source project and if people like it, should just keep on supporting it. Pardon my frankness: Sun for sure makes a lot of communication errors, it must improve the interface with the community, but too many people saw Java open sourcing as a "Santa Claus moment": Sun speding lot of money and delivering free software to people. It's not the way opensource works. If you like SwingX and use it, and if it's strategic to you, consider funding the developers, Jeanette and the others. It's the way opensource works: let's not forget that it's still a market thing

As for the JavaFX side of this discussion, Richard Bair talks about Sun's commitment to Java(FX) Enterprise Development. "There's been a lot of rumor recently about enterprise Java development and where its headed, and what Sun's commitment is, particularly with regards to JavaFX. Here I talk about some of these issues. Questions welcome!"

Finally, James Gosling himself notes that We've been cranking! "Just in case you hadn't noticed, in the waves of election-mania, Sun has been cranking out a pile of great software releases recently."

In Java Today,The Aquarium passes along a release announcement and an event listing: "the latest release of the Seam Framework (2.1) now formally Supports GlassFish. Dan Allen will give aWebinaron November 20th on the topic (you may want to add it to your calendar), but another member of the Seam community, Jay, has written a nice note showing more examples."

Please join Sun's Arseniy Kuznetsov, director of NetBeans Engineering, Mark Dey (NetBeans 6.5 Release Boss), and John Jullion (NetBeans Web Tier Mgr) for a one hour technical call Wednesday, November 12th at 0800am Pacific; 11am US East Coast; 5pm Europe. There will be 30 min of slides and 30 min Q&A...we may go longer for the Q&A. The topic will be "Web Tier Programming in NetBeans 6.5 and Beyond". We'll look at some of the new and cool functionality in NetBeans 6.5, talk about the Project Woodstock status, and look at the future direction of web development in NetBeans. Call-in information and advance registration are available on the event's Eventbrite page.

In TheServerSide's latest technical article, Bahar Limaye introduces the concept of Intercepting JNDI Filters. "Suppose you have an existing J2EE application with EJB's, RMI objects, JMS destinations and other objects bound into a JNDI registry. During the course of the project schedule, you need to make significant changes to the underlying architecture, re-define business processes and/or need to identify transactional/performance problems. Without a proper framework in place, it can be difficult to make "non-intrusive" changes to an existing system without rippling side effects. This article presents a simple filtering framework to "intercept" JNDI operations and objects in a non-intrusive way (without code changes or the overhead of AOP systems). You can "peek-into the JNDI subsystem" and fully control the behavior of an application."

This week's Spotlightis on the Election Ballot, which is now available for registered Java Community Process members to vote in the JCP 2008 Election. This year, there are two seats open on the SE/EE Executive Committee, and two seats available for the ME Executive Committee. Candidates for the SE/EE EC are Intel Corp., Werner Kiel, Matthew McCullough, and Shashank Tiwari. On the ME EC, the candidates are Aplix Corporation, Sean Sheedy, and Sony Ericsson Mobile Communications AB. Each JCP member has two votes for each committee, which can be cast for two candidates, or for the same candidate twice (the member can also abstain from voting on either EC altogether). Balloting ends Monday, November 17.

In today's Forums,vladbalan asks How does an explicit lock() call prevent dirty reads in JPA?"I'm trying to understand the behaviour of the EntityManager.lock() call. The Sun documentation ( on this is a bit confusing for me and i will explain why. It says that if T1 calls EntityManager.lock() on an entity, then T2 couldn't make a dirty read. Also i read here ( that " The lock() API acquires an optimistic lock, not a pessimistic lock. It means that the version will be checked, or updated on commit, it does not matter when it is called in the transaction, as the check occurs on commit." So it does not matter when the lock call is made. Ok, now let's imagine the following typical scenario of the dirty read in a time-point follow-up..."

onacit wonders if it's possible to do JAXB without Annotations? "Is there any way to work with JAXB without annotations? I mean with some 'bind.xml' or somethin'... I'm working on some projects which each has to build out for both jdk1.1(client) and latest(server). I usually design with PURE Pojos (s1.3/t1.1) and build another artifact for jaxb annotations." 

If you're interested in doing someone else's homework for them,blazinginferno plays the pity card in Java assignment help. "Hi there, I have an assignment due in a couple of days and I need some help. I don't have time to read a Java books. Plus, my teacher is useless as he can't explain anything...and the TAs are worst. My error is in line 145 (scroll down) saying "illegal start of expression". I didn't have this error before I added the movement command. Any help is greatly appreciated."

Current and upcoming Java Events :


Happy Endings Blog

Posted by kfarnham Nov 7, 2008

Celebrating the GlassFish v3 Prelude release

The bloggers are digging deep into the release of GlassFish v3 Prelude, a major release that adopts and OSGi-based lightweight and extensible core, much better support for scripting languages, Update Center 2.0, and more. We figured that since GFv3P is dominating the blogs, we'd just give the whole section over to the topic for the day.

Today's Weblogsbegin with Vivek Pandey's look at Dynamic Languages support in GlassFish v3 Prelude. "By now most of you might already know that GlassFish v3 Prelude is released! GlassFish v3 Prelude brings not only JavaEE support but also brings in support for Dynamic Languages based platforms, such as Rails, Grails and also tested to work for Scala/Lift, PHP (Quecus, Java-PHP bridge)."

GlassFish v3 Prelude OSGi support: Is it really true? The doubting Ludovic Champenois asks, "are you sure GlassFish v3 Prelude is OSGi compliant? Can it run on top of Eclipse Equinox? Prove it..."

Finally, Bhakti Mehta has a guide to Working with Metro on Glassfish v3 Prelude. "GlassFish Enterprise Server v3 Prelude is ideal for deploying rich Internet applications backed by Java or dynamic languages such as JRuby. This blog shows how to work with Metro on Glassfish v3 Prelude."

Of course, the "prelude" in the name refers to the fact that this GlassFish release represents the project setting the stage for the full v3 release, which will implement the Java EE 6 spec. On that subject, we note in the Java Today section that there are about two weeks left in the Early Draft Review period forJSR 316, the spec for Java EE 6. Major changes in EE 6 include profiles to define subsets of the EE spec for certain application types (such as a "Web Profile"), greater extensibility, the removal of obsolete or superseded APIs, support for SOA development, and the inclusion of a number of new or updated JSRs. The early draft review for JSR 316 closes on Saturday, November 22.

Ed Ort has posted a new SDN article, on GlassFish and MySQL, Part 1: A Perfect Combination for Web Applications. "The reasons that so many people download and use MySQL and GlassFish are compelling. In addition to being open source, MySQL and GlassFish are fast, reliable, and easy to use. Though attractive individually, MySQL and GlassFish when used together provide an excellent solution for quickly developing and deploying web applications that are not only secure and reliable, but also scale to meet increasing demand and are highly responsive to user requests."

Two months after discontinuing support for the Substance NetBeans module, Kirill Grouchnikov has announced that John C. Turnbull has agreed to take over the project. "John is now the official owner of the project, and all decisions regarding this project will be at his sole discretion. The core Substance library (and other plugins) will continue to be developed by me, and John will have my full cooperation on evolving the external and internal APIs to facilitate the ongoing development of Substance NetBeans module."

With GlassFish v3 Prelude out, the team is thanking everyone who helped. In today's Forums, Judy Tang thanks participants in the community acceptance program, with the post, Re: Announcing FishCAT, a community Beta program -- results and thank you card to FishCAT members ! "With GlassFish v3 Prelude released, we would like to update this thread with great FishCAT v1resultspublished in Judy's blog and a special thank you card to FishCAT members! We look forward to have more community members join FishCAT program, to improve GlassFish quality together with us."

skells seeks feedback on a GlassFish plugin, in producing javadoc from schema documentation - review requested. "I have developed a plugin to allow additional information to be extracted form the schema and presented as javadoc in the generated code. The code is a little rough and ready, at the moment, and I have had a few problems with the navigation of the object model, but it is pretty much functionally complete for the schemas that I am using. It documents the global element, getters and setters, anonomous inner classes and enumeration types. I would welcome some review of this, and for it to be tested on some other schemas, as the ones used so far are all ones that I have developed, and as such have my style and convensions. I would be happy to contribute this to the extensions, or for inclusion into te base xjc, but for the moment I would appriciate some review of the code and for some other users to comment on the effectiveness of the implementation."

Li Shen asks the GlassFish community if there's Any plan to support the latest Spring version? "Looks like the spring extension ( can't work with Spring 2.5, due to that certain Spring classes have been changed. Do you plan to upgrade the spring extension to support spring 2.5 as well as the upcoming Spring 3.0 in the near future? I definitely hope to use it in my project if you could do the upgrade."

Finally, Paul Sandoz explains the relationship between REST and JSON in Re: JSON Web Services. "JSON and REST are not the same. [...] The relationship between JSON and RESTful Web applications is as follows: Resources, identified by URLs, produce and consume representations when a client makes a request using an HTTP method. The representations are identified by a media type, which describes what the representation is. Such a representation may be a JSON document and might be identified by the media type "application/json". JSON is just one of many data formats you may choose to use in your Web application. Hope that helps."

Following up on the wide-ranging discussion of the future of the SwingX project and of Swing itself, the latest Poll asks "What should be the primary focus of future Swing development?" Cast your vote on the front page, then visit the results page for current tallies and discussion.

Current and upcoming Java Events :


Swing Swing Blog

Posted by kfarnham Nov 6, 2008

Does Swing have a future outside of JavaFX?

The quiet storm that's been building since last week's post that Sun is no longer funding the Swing X project comes to a head today, as two of the most prominent voices in Java GUI-dom speak up.

In his blog Sun setting down on the core Swing (cross-posted with a comments section to Pushing Pixels), Kirill Grouchnikov says that "core Swing is in the process of being retired as a legacy UI technology inside Sun, and last week has marked another sad (yet expected) milestone - stopping the funding of SwingX project."

Kirill cites as a turning point the January 2007 announcementthat Sun was dropping SwingX's painter layer. Kirill says "this has effectively destroyed the trust of external contributors, who never came back, even after Sun developers have retired themselves from being involved in the project." Worse, he says, is that the Sun engineers then pulled out of SwingX to focus on JavaFX, with a further impact on Swing:

I don't know what the future holds for JavaFX. Sun is heavily betting on it, and nobody wants to have their Nomad moment forever archived on the Internet. All i know is that JavaFX has effectively halted all core Swing development. Over the last 18 months, we have seen significant architectural initiatives (JSR 295 and JSR 296) changing leads and frozen. All client-facing improvements in Java2D, AWT and Swing in Java 6 Update 10 are completely driven by the requirements of JavaFX.

So, there's one reaction: Kirill, who knows more than a little about working with Swing, sees it being reduced to maintenance mode with no purpose other than to serve as JavaFX's GUI library.

Josh Marinacci, who also gets to claim a spot as a Swing expert says the rush to gloom (the mood, not the Photoshop filter) is premature. In his forum followup, he says that SwingX and SwingLabs continue on, and that Swing developers will benefit from recent changes in Java SE 6 Update 10 and ahead in Java 7.

As a life long client Java developer I have never been happier with the current state of the Java stack. Client Java applications are becoming faster, more reliable, and easier to develop. And this is true for both Swing and JavaFX applications. Stay tuned for the 1.0 release of JavaFX. I think you will be happy when you see what we've been working on. It's an exciting time to be a GUI app developer on the Java platform.

For those who want to participate in the ongoing discussion, please note that the discussion has forked into two largely identical threads -- 1 and 2 -- possibly as a result of the recent re-connection of the mailing-list-to-Jive-forums gateway. Apologies for the inconvenience.

Also in today's Forums, Ludovic Champenois promotes a new release in New version of Eclipse plugin for Glassfish v3 Prelude published (v1.0.14). "Version 1.0.14 of the GlassFish plugin for eclipse was published today. Here is a link to the release notes which lists the bug fixes that are included: Online documentation, tutorial and installation guide is at: Important changes have been done to better support GlassFish v3 prelude, and optimal redeployment of web applications."

Shai Almog explains LWUIT's design philosophy in Re: Why make so difficult to port J2me component? "MIDP is different from CDC and SE. We tried to create a more unified and sensible layer which allows porting to all platforms (and future platforms) rather than target MIDP developers only."

In our Feature Article, Francesco Azzola offers an interesting introduction to JBI in Sending Messages Using JBI Technology. "Java Business Integration (JBI) offers a programming model build on assembling a group of components that can be plugged in to a collaborative system. In this article, Francesco Azzola demonstrates basic JBI development and deployment by creating an app that receives requests and sends SMS messages."

In Java Today,The Aquarium passes along an announcement that the WebBeans Public Draft is Now Available. "Gavin, the expert lead for the JSR 299 Expert Group, has announced the First Public Draft of WebBeans (Download Page). You may also want to pencil in November 20th, when Dan Allen (of Seam in Action fame) is scheduled to present about Seam, WebBeans and GlassFish at TheAquarium Channel."

AppFuse founder Matt Raible has posted a brief article on Javalobby explaining lessons learned while Moving from Spring's XML to Annotations in AppFuse. "Last night, I did a spike on AppFuse to change XML to Spring annotations (@Repository, @Service and @Autowired) in its service and data modules. While I was able to accomplish everything in a few hours (including converting tests), I did run into a couple issues. "

A new SDN Enterprise Tech Tip from Jakub Podlesak explains Configuring JSON for RESTful Web Services in Jersey 1.0. "In an earlier Tech Tip, Implementing RESTful Web Services in Java, Paul Sandoz and I introduced RESTful Web Services, JAX-RS, and Jersey, and showed how to write RESTful web services in Java that conform to the JAX-RS specification. In this tip you will learn how to configure data inJSON (JavaScript Object Notation) using Jersey 1.0. [...] You will build a Jersey-based web application that provides information about printer status. The application returns the information in JSON format."

Finally, Jean-Francois Arcand discusses Updating Grizzly version in GlassFish v3 in today's Weblogs. He writes, "Grizzly releases are always decided by the community and sometimes a bug fixed in Grizzly may takes couple of weeks before it get integrated into GlassFish. If you need to update Grizzly in GlassFish, read on."

Ahmed Hashim wonders about the details of JSR 286 Implementation and IPC. "JSR286 or Portal 2.0 is the next step in Portal development. It takes long time to get a step in this area; although the commercials solutions like Oracle Portal and Microsoft Sharepoint Portal are far ahead from the standards and open source solutions. The questions is, did any vendor implement JSR286 100% including IPC "Interportlet communication" with JSF & AJAX Integration?"

Current and upcoming Java Events :


Move Along Blog

Posted by kfarnham Nov 5, 2008

Time again to cast ballots

As promised yesterday, the Election Ballot is now available for registered Java Community Process members to vote in the JCP 2008 Election. Candidates for the SE/EE EC are Intel Corp., Werner Kiel, Matthew McCullough, and Shashank Tiwari. On the ME EC, the candidates are Aplix Corporation, Sean Sheedy, and Sony Ericsson Mobile Communications AB.

It's interesting to see so many individuals running in this year's elections: 3 out of 4 candidates for the SE/EE seat, and 1 of 3 for the ME seats. There's been a trend towards corporate and organizational membership on the EC's, so we'll see if this year's results turn that trend or maintain it.

Balloting ends November 17.

Also in Java Today, the latest edition, issue 183, of the JavaTools Community Newsletter is out, with tool-related news from around the web, updates from the Dead Code Detector and JFeature tools, a list of new projects in the community, a graduation from the incubator (Maven-incremental-build), and a Tool Tip on using Google to find code.

In order to celebrate the release of NetBeans 6.5 the NetBeans User Group Munich (NUGM) will hold the first Munich NetBeans Demo Camp on November 18th. "The camp will focus on NetBeans as a Rich Client Platform. Companies and individuals are invited to showcase their products and share their experience. As special guests members of the NetBeans Dream Team and the NetBeans Team in Prague will show the latest platform features in NetBeans 6.5. Join your peers for an event packed with information and cool demos." Invited speakers include Geertjan Wielenga, Anton Epple, Aljoscha Rittner, Tanja Drüke, and Sven Reimers.

Today's Weblogsstart with R


It Ends Tonight Blog

Posted by kfarnham Nov 4, 2008

Election time is upon us. For the JCP. What, were you thinking of something else?

Today is the first day of balloting in the 2008 Java Community Process elections for the open EC seats on the JCP. It's not on the front page because as of 10 AM Eastern, the Election Ballot page still says:

The election process has not yet started. Please come back on November 4, 2008 to participate.

So, we'll keep an eye on that, as balloting is only open for two weeks, until November 17. Besides, those of you in the US didn't want to have to queue up to participate in two elections in one day, did you?

The Java Todaysection begins with an item from the depths of the JDNC project: Matt Nathan's ScalableIcon Overview, offering a conceptual introduction to the ScalableIcon interface in the org.jdesktop.swingx.icon package. As the existing Icon is defined as being fixed-size, Matt writes, "theScalableIcon interface and its accompanying APIs are designed to extend this definition to essentially remove the 'fixed size' bit and as such increase the number of use-cases that the icon can be applied to. Hopefully by the end of this document you will be in a position where you wonder how you ever got along without scalable icons (ok, well maybe not but they should come in useful sometimes) and should be able to write your own."

Some say Enterprise JavaBeans earned its reputation for complexity one burned out programmer at a time. But developers today have begun to notice that EJB 3 is an entirely different animal. Convention over configuration, annotations, dependency injection, and aspect orientation make modern EJBs a lean alternative to XML-laden and JAR-heavy frameworks. In the articleEJB 3: From legacy technology to secret weapon, Adam Bien (a Java Champion andNetBeans Dream Team member) explains how EJB 3's new component model and persistence handling help streamline enterprise development -- and even work well for small and midrange applications.

In a Mobility Tech Tip from the SDN, Asynchronous Communications with Java ME and SIP: Part 2, Bruce Hopkins uses a Session Initiation Protocol (SIP) proxy and the REGISTER method type to provide a simple, yet scalable solution for sending messages asynchronously from one application to the other, when one SIP device is behind a firewall.

Announcements pack today's Forums, starting with Eduardo Pelegri-Llopart's Online Presentations around GlassFish v3 Prelude on Nov 6th (Thursday). "I want to invite you to a Webinar Day this Thursday (Nov 6th) focused on the GlassFish v3 Prelude release. [...] Presentations start at 8am US Pacific and run until 5pm US Pacific. I will do a GF overview at 8 and will repeat it at 1; the bulk of the day are technical presentations from senior engineers on most of the areas included in GFv3 Prelude. Most of the areas are presented by Sun engineers, but others, most notably EclipseLink, are not. We will also have some presentations from external companies already using GlassFish v3 Prelude. All presentations will be recorded and the slides and the recordings will be available later."

For those who missed it elsewhere, Marek Potociar passes on the announcement [ANN] Metro 1.1.4 is released. "The Metro team is happy to announce the availability of Metro 1.1.4. As usual, if you have any thoughts or comments, please post them to or forum. For bug reports and feature enhancement requests, please use IssueTracker."

deronj announces that The Wonderland 0.5 App Base docs are now available for community review. "Here are some documents which describe the Wonderland 0.5 App Base. The App Base is a Wonderland module which supports shared applications within Wonderland. Both share-aware apps (like the whiteboard) and conventional apps (like X11 apps) are supported by the App Base. A major design goal has been to make the App Base very extensible so as to accommodate new types of share-aware apps (both 2D and 3D) as well as new types of conventional apps (such as VNC and RDP) in the future."

Finally, ppxe310 passes along a JavaHelp solution in Re: java 1.6.0 : can't access data over http with DefaultSearchEngine. "I encountered the same problem and just resolved it. In JavaHelpTM 2.0 System User's Guide: The master helpset can be an actual, functioning helpset or it can be empty (dataless). A dataless master helpset defines a set of views that do not contain data (there is no <data> tag specified for the views). Thedataless master helpset serves as a container into which subhelpsets can be merged. You might use a dataless master to ensure that a set of views is shown in the merged helpset. So when subsets are merged together, the views in master helpset always do not contain data. The resolved method is to remove data tag from the SearchView element in master helpset."

In today's Weblogs, John O'Conner offers guidance for Updating Jersey Libraries in NetBeans 6.1. "If you're already using the NetBeans 6.5 release candidate, you also have the Jersey 1.0 library. The truth is, however, that we can't all adopt pre-release, beta software. If you fall into the latter group and need to continue using NetBeans 6.1, you may want to update your Jersey library to get the final, 1.0 version. In this blog entry, I'll show you how to update your Jersey libraries in NetBeans 6.1."

Finally, Sebastien Dionne offers a New logging formatter for Grizzly, with the explanation, "I created a new logging formatter from Grizzly, because when we were debugging a test we weren't able to trace in the log the event because the default formatter in java.util.logging doesn't print the Thread that logged the event."

Current and upcoming Java Events :


Dirty Little Secret Blog

Posted by kfarnham Nov 3, 2008

OpenJDK 6 and Java SE 6 Update 10 aren't the same thing

In case people still aren't clear on the status of the various JDKs... OpenJDK is the GPL-with-Classpath-exception JDK project, but it's not the same thing as Java SE 6 as released by Sun. OpenJDK debuted with a codebase that was essentially an in-the-works Java 7. Since OpenJDK's code base didn't correspond with any specification-defined version of Java, the OpenJDK 6 project kicked off as a back-port of the OpenJDK's codebase, porting the in-the-works Java 7 code back to the Java 6 spec.

Everyone with me so far? Because you've got this separate effort to improve the Java environment with a new plug-in and better deployment tools, Java SE 6 Update 10. And the key word is separate. That's a different project, with a different history and a different codebase. And getting its features into OpenJDK looks like it'll track for OpenJDK 7, not the back-port to 6.

Joesph D. Darcy explains the situation in his blog, OpenJDK 6 and 6u10 features:

"OpenJDK 6 build 12 contained ports of bug fixes from a number of 6u10 component areas (corba, jaxp, jaxws, langtools). Most changes from the core jdk component area of 6u10 were not ported. The porting effort that took place of a relatively small number of bugs to a subset of the full OpenJDK code base was still a sizeable effort. The full set of changes made to the core jdk in 6u10 is many times larger with a proportionally larger porting cost. We at Sun do not plan to do a wholesale port of those 6u10 features from the core jdk to OpenJDK 6. However, over the coming months we will be porting those 6u10 features to OpenJDK 7 and we would welcome community assistance in backporting appropriate features from OpenJDK 7 to OpenJDK 6."

Also in Java Today, Metro 1.4, the latest version of GlassFish's web service stack has been released. This version contains WSIT 1.4, JAX-WX RI 2.1.5, and JAXB RI 2.1.7. Jitendra Kotmraju highlights some of the JAX-WS changesin his blog, including the use of the woodstox StAX parser by default.

The 2008 Nonprofit Software Development Summit will be the second annual convening of people and organizations developing software tools, web applications and other technology to support social justice causes. The Summit will take place at Preservation Park in Oakland, California, from November 17th to 19th, 2008. Additional code sprints and collaborations will scheduled on the 2 days following the event.

In today's Weblogs, Kohsuke Kawaguchi shows off Using Metro to talk to Amazon EC2. "Amazon EC2 has a SOAP web service, and I wanted to talk to EC2 from Hudson, so I decided to use Metro for this. The end result is the JAX-WS commons EC2 module, which is a library you can put in your classpath with Metro 1.4 when you need to talk to EC2."

Meanwhile, John Ferguson Smart puts Kohsuke's project, Hudson, to work in Smart Managing automated build dependencies with Maven and Hudson. "One of the tricky parts of setting up a Continuous Integration build server is managing dependencies between build jobs. Many organisations have projects made up of tens or hundreds of different, interrelated modules, with complex dependencies between them."

Finally, Jim Driscoll discusses Writing a simple Composite Component with JSF 2.0. "One of the pain points for JSF has always been the complexity that you face in creating components. In JSF 2.0, creating a new component that's made up of existing components is a snap. Here's how."

This week's Spotlightis on GlassFish v3 Prelude, a major release en route to GlassFish v3, which will implement the in-the-works Java EE 6 (JSR 316). "GlassFish v3 Prelude is a lightweight Web 2.0 development and deployment platform built on a modular OSGi-based architecture. Developers can benefit from a dynamically extensible and embeddable platform with support for existing Java Web technologies, JRuby, and Groovy." The Aquarium Online will be hosting a series of GlassFish v3 Preulde seminars on Thursday, November 6.

Today's all-ME Forums start with a question about video in Blu-Ray Disc Java, withmkaes asking about Drip Feedplayer positioning. "I have a question regarding the drip feed player in BDJ. Currently I am struggling where this drip feed video will be located in terms of plane layering. I found some notes in the spec that a drip feed can be displayed by the background, but that would mean that it is always behind the primary video. Or is it also possible to display a drip feed in the secondary video plane so that it will be always on top of the primary video?"

chin153 has an LWUIT and Nokia 6131 issue. "I created a sample application in Netbeans 6.1 and Noka 6131 NFC phones. The problem is when I place Slide animation to move from one form to another the transition is slow. Also the transition is not smooth. It halts at half of the first form and half of the second form. Can some body help me how to make the transition smooth and faster? Also, I would like to regain the Nokia default background in my Midlet which was seen while using the original LCDUI packages, but now I get white screen as background instead of default Blue background of Nokia."

Finally, Shai Almog says that bidirectional text is a DIY thing on LWUIT, as explained in Re: I18N. "There is information about i18n and localization in the developer guide. Bidi is not supported at the moment so you will have to right align manually and some components don't support right alignment. You will need to use the system font for everything which has bidi issues on some devices (such as Sony Ericsson), bitmap font won't work."

Current and upcoming Java Events :

Filter Blog

By date: