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.

Time Will Come Blog

Posted by kfarnham Oct 31, 2008

On to GlassFish v3

OK, let's review. The plan for GlassFish v3 is to move to an modular and extensible platform, supporting OSGi, with support for dynamic languages and Java EE 6.

That's a tall order, so to break things down into more manageable chunks, the team announced earlier this year that they would begin with a Prelude to GlassFixh v3, whose contents would be limited to the big transitional pieces: the OSGi-based lightweight and extensible core, the web and scripting container, an admin console and an update center. The EE 6 part can wait... after all, the JSR to define EE 6 is still being worked on.

But GlassFish will be ready when EE 6 is.

The Aquariumpasses along the announcement GlassFish v3 Prelude Now Available; Webinar on Nov 6th. "Earlier today Paul Announced the availability of GFv3 Prelude ([1], [2]). Work conflicts didn't let me host the usual webinar today and we have the US elections early next week, so we have delayed the webinar until next Thursday, Nov 6th. Since there is a lot of new material in GF v3 Prelude, instead of our usual format we are arranging a day of mini-webinars, each 10 minutes. We will broadcast through TheAquarium Online, with recordings to be made available afterwards."

In light of this announcement, our new Poll asks "Have you tried out GlassFish v3 Prelude?" Cast your vote on the front page, then visit the results page for current tallies and discussion.

Also in Java Today, NetBeans Dream Team member Toni Epple has posted pictures from NetBeans Days in Gdansk and Poznan, noting that "these events were organized by the local JUGs, which is really great! So, if the world tour doesn't come to your country or city next year (like in Germany) just follow the example of these two events". In a related note, the NetBeans Dream Team pagehas been updated to feature more up-to-date information.

the Database Driven Jasper Report project (dbdjasperreport) is developed using Groovy, Grails, and Jasper Reports. The project describes itself as "an on-demand web reporting application that could serve as a central report repository and gives an organization the ability to have multiple environment, provided you have a Development, Test and Production web server environment. dbdjasperreport is designed to integrate with any web application."

Today's Weblogsbegin with Simon Morris' latest commentary blog, Shocking Ideas: Coding Should Actually Be Fun!! "As I understand it enrollment levels for programming courses at colleges and universities have taken a nose dive. Computer programming, not long ago one of the most over-subscribed subjects, is now struggling to compete. Is the industry itself partially to blame?"

In Netbeans 6.5 is at your door step, take a look at shining new features, Masoud Kalali writes, "NetBeans 6.5 is new release of first class multi language, platform IDE. NetBeans 6.5 release is mostly targets Scripting languages like PHP, Ruby, Groovy, JavaScript (AJAX) and a lot of other enhancement in the platform and IDE."

Finally, Carol McDonald shares a session on Dojo REST Comet. "Yesterday I gave a talk on Dojo REST and Comet at the Northern Virginia JUG. You can download the slides and sample code. "

In today's Forums,mollekas asks How to load in properties just once in J2EE? "I am loading in some information which only should be loaded once and hereafter resused across many stateless session calls. How do I do that in J2EE without using the keyword static and the use of Singletons?"

pstefan complains that PhoneME Feature on WM5 can't connect to the network. "I am using the latest binary for Windows Mobile 5 of PhoneME Feature from I have found a strange behaviour. My j2me Midlet connects to a server over a tcp socket connection I have a Motorola MC75 device for testing purposes which has WLAN, HSDPA/UMTS, ... integrated. I can't connect my midlet to the server, it always writes "Connecting..." and never get's connected. I do not have this behaviour only in my midlet. The MVMManager has the same problem. I can't install a midlet from the web. It never get's a connection and it always fails with an error that no midlet suite can be found. "

Finally, i30817 speculates on causes of Swing's seeming stagnation in Re: [FYI] Sun stopped funding of SwingX. "I think sun regrets ever releasing swing as a core library. The obsession with never breaking backwards compatibility is really bizarre for me, and would be completely unneeded if everyone was forced to bundle their own swing version. Now a days it wouldn't even be too much. Swing is what 15mb and only because it's kinda bloated right?"

Current and upcoming Java Events :


Someday Right Now Blog

Posted by kfarnham Oct 30, 2008

Clinging to Java SE 5?

Today's feature article takes a somewhat roundabout way to get pixels from OpenGL (specifically JOGL) over to a Swing GUI. Rather than using the provided AWT or Swing components, it renders its pixels to an OpenGL pbuffer, and then copies those pixels into aGraphics2D. The authors' benchmarks show the performance hit isn't bad, and I think it's an interesting thing to study because there's an underlying common problem: when you use frameworks that weren't built to work with one another, you have to find some lingua franca for data exchange between them. In graphics, that often means you need to be able to render into some kind of easily-expressed pixel format (say, 32-bit ARGB) that can then be copied from one framework's buffer to the other. I did the same thing a few years back getting pixels from a QuickTime for Java video capture buffer into a Graphics2D, and anyone working with audio might see a commonality with decompressing to PCM and copying over samples. In server-side frameworks, maybe you're just exchanging Strings or XML documents (or POJOs, if everything's in the same VM, ala Seam). But there's an underlying pattern here, and using pbuffers as an OpenGL-to-Java2D bridge may have other useful applications.

That said, it's kind of interesting that the authors acknowledge in their conclusion that the technique isn't really necessary if you have Java 6, which allows hardware-accelerated JOGL spaces to co-exist nicely with Swing. In fact, that may be optimal, considering that the pbuffer approach requires you to determine at runtime if the current configuration can even use pbuffers. So why not just use Java 6? Seemingly, a lot of people can't or won't. Setting aside the situation on the Mac, where Java 6 is 64-bit Intel only, getting a newer version on the end user's computer may be a challenge. 6u10 will do much to improve this with its incremental downloading and performance improvements, but a year after Java 6's release, we wouldn't be talking about this if getting new versions of Java out in the field weren't a long-standing problem.

Is the problem of getting users to upgrade their version of Java getting any easier? Or are there too few people deploying applets, JNLPs, and double-clickables to even have an idea of where we stand on this?

Getting back to our Feature Article, it is a treat to delve back into JOGL, in Integrating GLPbuffer and Java Graphics2D. In bringing a mathematical visualization app to Java, Joshua A. Davis and Thaddeus Keenan Simons found that using OpenGL, via JOGL, offers huge benefits for 3D rendering. However, they wanted to make sure that the JOGL components would coexist with the rest of the Java GUI. In this article, they show how they integrated OpenGL pbuffers into ordinary Graphics2D rendering contexts to achieve a balance.

In Java Today, the second Release Candidate of NetBeans IDE 6.5 is now available for download. The release is also multilingual - downloads are available in Japanese, Simplified Chinese, and Brazilian Portuguese. The focus of NetBeans IDE 6.5 is simplified and rapid development of web, enterprise, desktop, and mobile applications with PHP, JavaScript, Java, C/C++ , Ruby, and Groovy. New features for 6.5 include a robust IDE for PHP, JavaScript debugging for Firefox and IE, and support for Groovy and Grails. This release also offers a number of enhancements for Java, Ruby and Rails, and C/C++ development. Java feature highlights include: built-in support for Hibernate, Eclipse project import, and compile on save. The Release Candidate improves on the support offered in NetBeans 6.5 Beta. The final NetBeans IDE 6.5 release is planned for November 2008.

The Javapedia blog(not to be confused with's own JavaPedia) has posted a detailed guide to Debugging Java Code in the CVM. "CVM supports the JVMDI, so you can connect a JPDA debugger to it without involving a separate debug proxy of the type used by KVM. However, before you can start debugging, you need to do two things: 1. Build the CVM with the CVM_DEBUG and CVM_JVMDI options to the make command set to true; 2. Build the library libjdwp, which contains the native code that implements the Java Debug Wire Protocol (JDWP). This protocol allows debuggers to connect to the VM over a socket or using shared memory."

JavaFX guru James Weaver has posted some tips for Getting Ready for the Imminent JavaFX SDK 1.0 Release. "As you may know, the OpenJFX Compiler project has been making improvements to the JavaFX language out in the open, so I'd like to get you up to speed on these in preparation for when the entire JavaFX SDK 1.0 is released yet this fall. Today I'll discuss some of these language changes." He covers the def keyword that defines constants, var's replacement ofattribute for declaring instance variables, and a few small points involving println and return values.

Today's Weblogsbegins with A little surreality to brighten your day from Tim Boudreau. "Since I'm back to working in development full-time, I've been setting up a fine little desktop machine. In the process I ran across one of the weirdest bits of software I ever wrote, now available to you too."

Jean-Francois Arcand kicks off a new tips series in Tricks and Tips with NIO.2/AIO part 0: A new beginning. "In this new installment series of tricks in tips, I will start sharing my observations with the upcoming NIO.2 (Asynchronous I/O) support in JDK 7 (jsr 203). The idea is simple: I've already added some support inside the Grizzly Framework, and will share what I've learned/measured. Everything is new, from the JDK to upcoming Grizzly 1.9.0 AIO support so it is time to share again!"

Finally, in Pivot Faces the "One Million Records" Challenge, Greg Brown is "Accepting Richard Monson-Haefel's "One Million Records" challenge on behalf of the Pivot platform."

In today's Forums,jsl123 would like to keep track of resource usage automatically, in Monitor active connections in a JDBC pool over time - possible?. "Hi, is there an (easy) way to monitor the number of active connections in a database pool over time. I'm often in a situation where i've run out of available connections in the pool. I've tried increasing the max number but without success. So would like to monitor them over time to see if i can spot any pattern and work out what is either using them all, or not freeing them up."

Shai Almog explains how to live without Thread.stop(), in Re: Threads In LWUIT. "In Java ME there is no thread.stop method and that method is deprecated in Java SE. This is unrelated to LWUIT, you can turn on a flag in your code which is what we (and everyone else) do when we provide a cancelable task."

Continuing yesterday's highlighted discussion, Re: Can the Plug-in compete?, cowwoc talks about community involvement: "marvinpwarble, I agree with you on many levels. We need a client-side community effort that documents the issues, prioritizes them, and begins addressing them one by one. I agree with you wholeheartedly that "If I have to write my own plug-in in order for it to be competive, than Sun really isn't doing me any favors." People have been using open-source as an excuse to avoid fixing real problems. I believe there are two reasons nothing has been done yet..."

Finally, Ove Nordstr

Can the Java Plug-In compete?

It's a strange day for Desktop Java developers when AjaxWorld is publishing an article about using Swing for your client-side technology, while the Java sites are asking whether the Java Plug-In is even viable.

For the Plug-In story, we'll begin with Marvin Warble's editorial, "Can the Plug-In Compete", which he posted both as a Javalobby editorial and as the beginning of a thread on the forums:

I'm not the first person to ask this question, nor will I be the last. It is unbelievable to me that the company that invented the RIA over a decade ago has made little or no progress in this field and presents absolutely no challenge to inferior technologies that came later. JavaScript was named "Java" script deceptively to give it better visibility in the marketplace, but given its dominance in the RIA market, you'd never believe it.

Having walked away from the ever-brittle Ajax market to develop his own Java-based RIA product, Marvin reports that many developers reject it out-of-hand because it depends on the Java plug-in:

This has been a major disappointment to say the least. I knew that applets had developed a stigma over the years, but I didn't realize how pronounced the distaste for the plug-in had become. The negativity and skepticism within the Java community itself is so overwhelming that any hope for wide acceptance of the plug-in seems impossible. The funny thing is that all the developers I have talked with would like the plug-in to become widely accepted, but in order for it to become widely accepted, it would have to be used, however, most website developers are hesitant to use it, because, well, it's not widely accepted.

So how does the plug-in gain traction? In a follow-up post, he says that a scatter-shot appeal to hobbyists and other amateurs won't make the Java Plug-In viable:

Here's the problem - if I can't use Sun's technology to compete in the real world, than I'm forced to use one of those other guy's (MS or Adobe) products. That's just the reality of the situation. Not all of us are hobbyists. Some of us are actually trying to make a living in this business. And to do that we need to be able to compete with those other guys. Is Sun just in it to give hobbyists new toys to tinker with or are they actually trying to compete? If they are interested in competing, which I'm assuming they are since they are a publicly traded company and they have invested the time and money to rewrite the plugin and create JavaFx, then they need to provide the users of their products the means to also compete. Otherwise, in order to survive, we'll be forced to use a product that will allow us to compete. I want to use Java to develop RIA solutions. I don't want to use JavaScript or Flex or Silverlight.

So how about you? What would convince you that you could deploy a business application that depended on the Java Plug-In?

Ironically, we're calling attention to this discussion on the same day that our Java Today section also has an article from AjaxWorld (of all places!) about Developing Rich Client Applications Using Swing, in which Mauro Carniel makes the case for Swing (in an applet or as a Web Start-deployed application) as the front end to a multi-tier enterprise application. He lays out the needed data binding and data retrieval tiers needed to connect an enterprise backend to a Swing GUI, and discusses many Swing-based sets of graphic components, including JGoodies, JIDE, OpenSwing, and more. A promised follow-up article will look at IDE support for Swing client-side development.

Also in Java Today... Elliotte Rusty Harold thought he new the well-worn java.lang.Math class really well. "Imagine my surprise, then, when I recently happened to be reading its Javadoc for possibly the first time in half a decade and realized that the class had almost doubled in size with 20 new methods I'd never heard of. Obviously it was time to take another look. Java 5 added 10 new methods to java.lang.Math and Java 6 added another 10." In Java's New Math, Part 1: Real Numbers, Elliotte focuses on "the more purely mathematical functions provided, such as log10and cosh."

The SDN interviews Joshua Bloch about the second edition of Effective Java in More Effective Java With Google's Joshua Bloch. In it, he talks about the folly of premature optimization, writing your own libraries instead of using what's already out there, strange things in Java and undesirable side-effects of signed bytes and of autoboxing, Java's complexity budget, the future of Java, and more.

Back in the Forums,haihovu has a practical question about applets in JApplet instantiation outside of EDT. "Hi all, I have recently been stuck with a problem with one of my application which is an applet. The problem was encountered when I attempted to use the Substance look and feel (, whose author is very adamant about adhering to Swing's rule of creating components inside EDT (event dispatching thread) only, and will throw exceptions if this rule is violated."

Finally, BD-J developer elbob is challenged by Changing Titles and Catch MainMenu call. "I'm using several titles for my BD-J app to show something like "Menu" on the player display when I'n in the Main Menu and show time info when playing clips. Also I can then easily use the Play button in my menu title which is interactive. It seems to be very important to stop a running player before switching to a playlist with autostart! If it is not stopped WinDVD crashes. (haven't tested on other players) I can control everything nicely by receiving ServiceContextEvents. When I get a PresentationTerminatedEvent I just stop my player. The problem starts when I try to access my Menu or a Title via Title search or Disc Menu Button. This makes the player crash again because I don't get the terminated event. Is there a way to receive the DiscMenu call so I can react to it?"

In today's Weblogs, Carla Mott covers GlassFish V3 logging changes. "Logging in GlassFish V3 has undergone some changes to leverage the logging utility in JDK. This blogs reviews where we are with those changes in Prelude and how to use what is there."

Masoud Kalali keeps it concise with a One pager review of GlassFish version 3 features. "If you are looking for a simple one page overview of GlassFish version 3 this entry is for you."

Finally, Terrence Barr offers an ME perspective on new client-side SE technologies in Java SE 6 update 10 released. "Admittedly, at first sight this has little to do with mobile and embedded Java - but bear with me.Java SE 6 update 10 is big news because it essentially recalibrates the Java runtime and desktop Java."

Current and upcoming Java Events :


Something New Blog

Posted by kfarnham Oct 28, 2008

Getting psyched for NIO.2

We covered JSR 203, "More New I/O APIs for the Java Platform (NIO.2)" a few months back, in the form of Elliotte Rusty Harold's extensive preview. What's surprising is reading that there's still more useful stuff coming in NIO.2 beyond the established coolness of file attributes and reliable copy and move methods.

Over on Javalobby, Alex Miller looks ahead to JSR 203's new File I/O APIs with Some JSR 203 Examples and Some More JSR 203 Examples.

"My examples for JSR 203 were focused on the basics but I was really just skimming the surface of a pretty large set of classes. I've had some follow up discussions with Alan Bateman, the spec lead for JSR 203, since my post this week and he called out a list of features that may also be of interest if you want to go deeper. It seemed like a great list so I'm reposting here with his permission."

Some of the highlights in Alex's list that I hadn't noticed include MIME type awareness, a DELETE_ON_CLOSEfile-opening behavior, and a concurrency-friendlyAsynchronousFileChannel. Have a look and see if there's functionality you'd like to have in your application...

Also in Java Today, Jean Francois Poilpret is closing in on a 1.0 release of the DesignGridLayout project, but wonders aloud if it should hold for a few weeks in order to include more fixes and features. In DesignGridLayout: final 1.0 soon released! Or not?, he asks "So I ask the question here [...] what do you, DesignGridLayout users, prefer? Version 1.0 in about one week, all current issues open solved only in later versions? [Or] version 1.0 with more issues closed (which ones?), but released later (between mid November and end December, depending on which issues to solve)."

The Aquariumannounces a Special GlassFish v3 Prelude Webinar on November 6th: "We will broadcast via TheAquarium Online and we are exploring doing several mini-talks centered in the different topics in GlassFish v3 Prelude. Stay tuned for more details."

The latest Java Mobility Podcast is Java Mobility Podcast 60: Heart Patient Monitoring. The third in a series of podcasts from the Brazilian Month of Java, Edilson Prudencio, a researcher with Dr Jo


Box Blog

Posted by kfarnham Oct 27, 2008

Controlling stuff (or not) with Java

Has the coolness of web programming trumped the appeal of interfacing with physical devices? When a lot of us were young, the most fascinating kind of programming was hooking up sensors or motors to an Apple II's paddle control and writing programs that actually interacted with the real world.

This kind of thing seems to be rare in Java. It does exist, as proven by the SunSPOTand the Java-powered TrckBot, but while the Java platform offers more APIs than you can count for working the virtual world of the web, there doesn't seem to beanything in Core Java that can expose your application to the real world.

In the forums, jasonbe asked about programming peripherals in Java, and the first response was "don't use Java". In the follow-up, Re: Learning to program with peripherals jasonbewrites:

Java is what they are teaching in school at my level - and what I have to learn. So, if by a chance that is odd or favorable, anyone knows of any example public domain program code - for peripherals with potentiometers and/or buttons, that I can search through to try and find variables that were declared and defined by the peripheral, this would still be helpful. The simpler the code, the better. Based on your response, I don't expect anyone to point these variables out to me. However, this would be helpful. And someone at school might be able to point these variables out if the code was provided. I was thinking that this post might belong under Global Education and Learning because it address the needs of students with different learning styles.

Someone with a better idea of how to interface to arbitrary peripherals -- those not abstracted away by Java as "mass storage" or "input device" or something else -- might want to describe just what's out there and how you'd access it from Java, if you even can. There are thousands, if not millions, of crazy USB devices that could be fascinating to interact with, but the Java USB API remains non-Core and very spottily implemented.

High-school age programmers probably don't want to write financial applications or transactional databases... but they might be interested in making devices see, hear, spin, roll, lift, and/or just blow up. Can they use Java for that? Should they?

Also in today's Forums, Chen Fishbein discusses how to handle media and overlaid menus in LWUIT in Re: Menu Got Obscured by MediaComponent. "Media is usually painted in a different layer(in most cases in native), therefore when you use the MediaComponent you should be aware of that. You have 2 options: 1)don't use a Menu when you show a MediaComponentm 2)make the Video not visible when the Menu is popped up."

alxxx asks how to get device iD? "how can i get the device id with j2me(midp 2.0)? If it's impossible,then please tell me if there is another way to find something different for all mobile phones."

rexguo revives a long-dormant thread about JNI's difficulties, Re: JNI Improvements, by offering an alternative. "Try JNA: JNA provides Java programs easy access to native shared libraries (DLLs on Windows) without writing anything but Java code


Sugar, We're Goin' Down Blog

Posted by kfarnham Oct 24, 2008

Will a troubled economy ding us techies?

I'm sure a lot of us are paying more and more attention to economic and financial news over the last few months... I just re-subscribed to BusinessWeek after a long time away, feeling that the sudden on-rush of the credit crisis had taken me by surprise, certainly the kind of thing you don't want happening when you're trying to buy a house (and sell another).

But still, there's a sense that this is someone else's problem. We techies went through our apocalypse back in the dot-bomb years earlier in the decade. We've had our crunches of downsizing, unemployment, and clinging to gigs we don't like, just to keep going. The excesses of the 90's are well and truly burned off, and we're the survivors. As a Fortune article called The view from Silicon Valley quips, "even the most vapid online pet-food delivery business looks benign next to arcane financial instruments designed to line the pockets of investment bankers."

Yet, are we in Silicon Valley, Bangalore, Buckhead, or wherever immune from Wall Street's fiasco? It's hard not to keep a wary eye on stories like Sun's pre-announcement of a big quarterly loss, while other reports say that some tech firms are still flying high as others batten down the hatches, asking "so which is it? Is tech falling apart or not?"

This is the background behind the latest Poll, which asks "How concerned are you that a worsening global economy will affect your job?" Cast your vote on the front page, then visit the results page for current tallies and discussion.

And hang on tight. Nobody seems to know where this is going yet.

In Java Today, the jLab environmentextends the potential of Java for scientific computing. Initially, it provided a Matlab/Scilab like scripting language (j-script engine) that is executed by an interpreter implemented in the Java language. However, the j-script engine is interpretable and thus it is rather slow. Also, Java toolbox code is not directly accessible, but instead it requires a specific external function interface. In order to overcome these shortcomings, the current version of jLab is based on the Groovy programming language. The Groovy agile scripting language for the Java platform is both very flexible and powerful. The Groovy 1.6 runtime is based on an efficient call-site caching mechanism that allows much faster execution. By building on this mechanism jLab is close and sometimes even outperforms Matlab in mathematical scripting benchmarks.

"BlueJ is an integrated development environment (IDE) specifically designed for teaching students object-oriented programming using the Java programming language. Although BlueJ covers the introductory phase of learning to program, the NetBeans IDE offers powerful tools for professional developers. Taking the inevitable step from one into the other has been a difficult barrier for students -- until now." In the SDN article Getting Started With the NetBeans IDE BlueJ Plugin, Dana Nourie shows you how to load, edit, and create projects, and to create a GUI via drag-and-drop.

Javalobby has posted an essay by Manik Surtani considering Caching, Parallelism and Scalability. "Since about 2005, Moore's Law has stopped being relevant. Today, Amdahl's Law - coined by Gene Amdahl - is far more applicable. This law has to do with the fact that by throwing more processors to work on a problem, you don't get the expected overall throughput calculated by adding the individual throughputs of each processor. [...] You need to be conscious of the fact that workloads will be distributed and your software would need to be written specifically to take advantage of this parallelism. If your software wasn't written with parallelism in mind in the first place, portions may have to be rewritten."

Today's Forums begin with a thread about new coolness from SwingX, as cadraigasks about a JXXTreeTable - roadmap?. "I've just been playing around with the JXXTreeTable in Kleopatras (Jeannettes?) incubator and it's awesome. I was just wondering if and what the plan was concerning continuing development and moving it into the main swingx branch. e.g. timescales etc."

Chris Desmarais needs Help with scripting install (need to avoid license popup). "I'm working on a script to configure some servers. Installing glassfish is going to take place about 20 minutes into the script, so its hurting my script that my scripts hangs until the user accepts the license agreement manually. I really would like to remove user interaction from my installation scripts, the script under ideal circumstances is going to take about 4 hours. Is there some way for me to automate the acceptance of the license agreement when I runjava -Xmx256m -jar filename.jar?"

bozimmerman passes along hard-won knowledge in JMS In Web Services -- lessons learned. "I've had to undergo a process of adapting a web app written for another jms implementation to glassfish. As we were planning to cluster our brokers, I did all my work with glassfish jms set to REMOTE, though LOCAL has the same issues discussed below. I ran the imqbrokerd on another machine. Here are the lessons I learned that most (not all) the internet docs and articles I read neglected to tell me:"

Finally, ipodee would like to avoid a Entity reference Conversion to Special Character "Does anyone know how to diable the auto conversion of entity reference by SAXParser? For example, when I feed source xml file with entity reference like "& lt;" to SAXParser.parse(...), it's converted to < character in the target xml. I don't want this happen, how can I do it?"

In today's Weblogs, Jean-Francois Arcand discusses Atomosphere in Applying Asynchronous Web: The slides enter the Atmosphere.... "This week I was in the Bay area to present at the California' Silicon Valley JUG. A significant set of peoples showed up to listen to the Canadian invasion..."

Arun Gupta's tips series hits entry number 50 with TOTD #50: Mojarra 2.0 EDR2 is now available - Try them with GlassFish v3 and NetBeans 6.5. "Yaaay, 50th tip!! The previous 49 tips are available here. Mojarra EDR2 is now available - download binary and/or source bundle! GlassFish v2 UR2 ships with Mojarra 1.2.0_04 and v3 prelude comes with 1.2.0_10. The Mojarra binaries in both v2 and v3 can be easily replaced by the new ones as described in Release Notes."

Current and upcoming Java Events :

Getting thread pools right... really right

Have you ever noticed that a lot of people who present the idea of pools in the abstract -- whether for database connections, threads, whatever -- seem to implicitly assume that the demand for the pooled resource will never exceed the number of available resources? In other words, the first time someone explains this to you, they show you why it works when two or three database connections are needed at the same time, but they're not as eager to think through what happens when all 50 connections are in use, and request number 51 comes in.

What do you do when this happens? Do you throw a "try again later" kind of exception? Do you block the caller (and blithely assume the caller can stand being blocked without ill effect on the rest of the system)? Do you work out some means of letting the caller decide what to do?

In our Feature Article, Amir Kirsh takes on this problem for thread pools in Creating a NotifyingBlockingThreadPoolExecutor:

Recently, my colleague Yaneeve Shekel had the need for a thread pool that would work on several tasks in parallel but would wait to add new tasks until a free thread was there to handle them. This is really not something bizarre: in fact, this need is quite common. Yaneeve needed it to analyze a huge directory with a very long list of files, where there was no point in piling on more and moreFileAnalyzeTask instances without a free thread to handle them. The analyze operation takes some time, while the speed in which we can pile files for analysis is much higher. Thus, not controlling for thread availability for the task would create a huge queue with a possible memory problem, and for no benefit.

Concluding that what he needs is aThreadPoolExecutor that blocks when the queue is full, he finds that Java does not provide this functionality out of the box, and the simplistic means of performing it aren't as straightforward as you might think. Acknowledging one implementation provided by Brian Goetz in a forum reply and again in his bookJava Concurrency in Practice, Amir shows off a different approach and the thinking behind it.

In Java Today, the NetBeans IDE 6.5 Release Candidate is now available for download. New features in 6.5 include PHP support, improved JavaScript support, more database features (SQL history, SQL completion, results viewing, and editing improvements), support for Nimbus in the GUI builder, single test method support for JUnit, and a redesign of the debugger's Step Into features. It also integrates with new versions of key technologies, like GlassFish Enterprise Server v3 Prelude. Also, check out the features from the first two days of the NetBeans 10th Birthday Celebration.

In an article adapted from a presentation at Sun Tech Days in Sydney, Chuk-Munn Lee of Sun Microsystems Troubleshoots Java SE 6 Deployment. The article explores ways to troubleshoot running Java applications, with a focus on Java SE 6, covering memory management, command-line and visual tools, common problems and their causes, and more.

Sun is sponsoring a contest for independent developers and students working with Project Darkstar, the Java-based MMO gaming back-end engine. The Project Darkstar Developer Challenge is looking for the best applications and utilities for Project Darkstar and 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 Weblogs, John Ferguson Smart considers approaches for Software development in troubled times. "Nowadays, more than ever, developers need to be productive. Ultra-productive. Organizations need to optimize the added value they get out of their development projects, and should be actively looking for ways to do it."

In Enabling performance feature in jMaki, Carla Mott writes that "jMaki 1.8.0 release contains performance enhancements which help improve page load times."

Finally, in ASM and invokedynamic, R


Grand Theft Autumn Blog

Posted by kfarnham Oct 22, 2008

Spam and elections, unrelated

A few random items to bring to your attention. First, we've had spammers trying to hit different parts of the site: article comments, weblog comments, forums, etc. It's something we've been dealing with for years, and our response is the same: we immediately delete the user and all their posts, then send an e-mail to the address they registered with telling them that their account and posts are gone. Yes, it's a manual process, but the conglomeration of multiple content systems -- Movable Type for blogs, Jive for forums, O'Reilly's CMS for articles -- resists a one-size-fits-all system for automated spam blocking.

I catch a fair amount of the comment spam as I put the page together in the morning (I have an RSS feed of all forum posts, plus I get e-mail every time a blog of mine or an article I've edited gets a comment), but there still may be stuff I miss. So, we've created a new e-mail alias,     , for sending us reports of spam anywhere on the site. It's linked in the left nav for some of the content pages, and we'll be adding it as a link to forums and projects in the next few days. If you see spam, please just send an e-mail with the relevant URL, and we'll blow away the user. Thanks.

On a more positive note, we've moved on to the next phase of the JCP elections, following the posting of the ratification results for the 2008 JCP Elections. All SE/EE seats (Ericsson, SpringSource, and SAP) and ME seats (Nokia, Philips, and IBM) were ratified by the 21.1% of the eligible voters who participated in this round.

The open nominations period for elected seats -- one on the SE/EE executive committee and two for ME -- is now underway. Individual members of the JCP can nominate themselves, and corporate members can select a representative. Open nominations close on October 31, with balloting beginning on November 4.

In the last few years, there's been a clear trend away from individual membership on the ECs in favor of corporate and organizational membership. As you can see from the current membership, there are only two individuals on the SE/EE EC, and one on ME. Of course, this is what the community has chosen over the last few years so it's neither good nor bad... it's just an interesting trend and it bears watching to see if it continues.

Also in Java Today, Project Fuji, the open enterprise service bus, has released Milestone 2, highlighted by enhanced support for enterprise integration patterns, improved tooling, more distribution options, more service type, and much more. A summary of Fuji news from The Aquarium announces a screencastshowing off Milestone 2, and a live meeting and webcast in the OpenESB Innovation Series meeting to be held today (Wednesday, October 22) at 9AM PT (1600 UTC).

With JSR 314(JavaServer Faces 2.0) having completed its second early draft review, the Mojarra project has released a reference implementation of JSF 2.0 EDR2, available either as a download or via the Update Center in GlassFish Application Serverv3. Jim Driscoll's blog has a summary of the release and a call for feedback, both on the API and Mojarra's implementation.

Today's Weblogsstart with Felipe Gaucho's announcement that he's Speaking at Devoxx 2008. "All the extra effort of including daily extra hours and weekends of self education brought me the acceptance of three short presentations during Devoxx 2008, on December at Antwerp."

Hans Hrasna takes a look at MEP - A Cool, New Mobile Platform for the Enterprise and your Phone. "Mobile Enterprise Platform (MEP) is the new platform to which aims to make it fast and easy to develop secure, online/offline access to any data from your Java ME mobile device. It also includes cool features like client side data encryption, data fading/wiping, and OTA provisioning. And you can download it for free and start your mobile project today!"

Finally, Ed Burns considers how to play through the JSF 2.0 Endgame. "I describe a process used to reduce the number of unknown unknowns remaining in the development for JSF 2.0."

In today's Forums,chris_delahunt explains the implementation and costs of pessimistic locking, in Re: TopLink Essentials performance in GF v2b58 when using pessimistic locking. "From my understanding, pessimistic locks are done through transactions so that they are released if the transaction commits/rolls back. Since Reads are now done through the transaction rather than the shared read connections, the transaction is marked as started early (from TopLink essentials point of view, not a JTA one), and so the shared cache is not used. This avoids problems where say a native update query was done in the transaction making data in the shared cache unreliable. There is no mechanism to keep track of what was done through the transaction, so once it is marked as started, the shared cache isn't used for reads."

sandeep_mandori seeks event-handling help in JList SelectionEvent Problem (On mouse press it works twice). "I have a strange problem in my swing application. Problem arises when i call a selection listener on a jlist. What i am doing is: I am calling a database method from my selection event block and in db side I am firing a query in the database; after that I display all the data on my JTable Object. But there is ambiguity in the behavior of the JList's Selection event. When i select an element in JList by the Keyboards UP and Down arrow button then code working fine that means query executed once.....But when i select an element from mouse then my query executed i can handle that situation in the JList's selectionEvent."

tjwolf wonders about JDIC - is it still maintained? The webstart demo doesn't work in Linux. "I was trying to catch up on the browser component of JDIC and was trying to run the webstart demo at: The browser window pops up, but you can't really go anywhere - not surprising because the Java console shows the error below. Does someone know whether the latest (I see version 0.9.5) will work on Linux (Fedora, Ubuntu?), Windows (XP and Vista?), and Solaris as the short file description suggests?"

Current and upcoming Java Events :

More like two years ahead, now that they've got Java-powered TVs

So here's an interesting bit of news about a project delivering the goods. You might remember a few months ago (was it last year?) when the Open Cable Alliance set up the OpenCable project as a home for resources related to the OpenCable Application Platform (OCAP) initiative, marketed under the name "tru2way", whose goal is simply the elimination of the cable box. With a standard network terminal for digital cable services, common among all cable providers, you can ditch the box and integrate the digital media services and interactivity right into the TV.

The other day, I was browsing Broadband Reports (né DSL Reports), and noticed the story Comcast, Panasonic Offer Tru2Way Sets, based around the news release Panasonic Announces Arrival of First Tru2way(TM) HDTVs at Retail:

Panasonic, the consumer electronics industry leader in the development and application of tru2way technology, and Comcast Corporation, the nation's leading provider of entertainment, information and communications today announced the arrival of the first tru2way VIERA HDTVs at Abt Electronics in Glenview, IL and officially declared the tru2way platform active in Chicago and Denver.

Tru2way technology is being used to create a common software platform that will enable cable companies, consumer electronics companies, content developers, network programmers and others to extend interactivity to the TV set and other kinds of devices. The new Panasonic VIERA HDTVs are built with tru2way technology inside, enabling consumers to access two-way digital cable programming, like video on demand, without a cable operator-supplied set-top box. Panasonic and Comcast have worked together to lead the development and deployment of tru2way technology and related products which are based upon specifications developed by CableLabs(R), the industry's research and development arm.

The Broadband Reports story and comments section is a little more skeptical about the promised death of the cable box, though the story does note that Sony signed on to tru2way/OCAP over the summer, meaning more Java-powered TVs are on the way.

In another Mobile and Embedded Community item spotlighted in theJava Today section, the Centre for Mobile Education and Research is pleased to announce the early access to an academic kit for integrating mobile devices into the Computer Science (CS) curriculum. This academic kit has been created to facilitate the integration of mobile devices into CS and engineering courses for universities and colleges worldwide. The kit takes a mobile approach to teaching CS topics with a focus on Java ME and BlackBerry application development. The academic kit contains 20 weeks worth of teaching material including lesson slides, labs, tutorials, quizzes and assignments.

The SDN has posted a transcript of the recent Ask The Experts session on OpenSSO. "The OpenSSO projectis designed to provide an open and extensible identity services infrastructure that simplifies the deployment of transparent single sign-on (SSO) as a security component in a network environment. The project is the open source counterpart of OpenSSO Enterprise 8.0 (formerly Sun Access Manager), Sun's premier access management, identity federation, and web services solution. In this session, Rajeev Angal, Aravindan Ranganathan, Dilli Dorai, and Qingwen Cheng -- four members of Sun's access and federation management team -- answered a variety of questions about OpenSSO."

In today's Weblogs, Ed Burns looks for feedback on how people extend JavaServer Faces: "In order to solve issue [121-JarOrdering], EG member Alexander Smirnov from Exadel suggested we research the current practice of how JSF extension points are used. I took his idea and decided to create a wiki page to collect feedback from the community."

Fabrizio Giudici invites you to Celebrate NetBeans' 10th birthday with JUG Genova (NetBeans Demo Camp). "I think you already know that in these days we're celebrating NetBeans' 10th birthday. JUG Genova will have a special NetBeans Demo Camp on November 25, don't miss it!"

Finally, John O'Conner has been busy Annotating the JAX-RS 1.0 Spec: Chapters 1 and 2. "I spent part of the weekend reading the JAX-RS 1.0 Specification. With a wife, 5 kids, a dog, and a needy mother-in-law, I'm pretty busy. AYSO soccer, youth football games, and family outings take most of weekend time, but Sunday nights are my time. Ahh, time to relax you might think. But no...I spent most of the time reading a technical spec."

In today's Forums,mattnathan explains where his SwingX stuff is after a big cleanup, in Re: Finally cleaned incubator area (mattnathan) + Demos. "If you check out the source via CVS it's in the src/mattnathan directory (see here for checkout details). I provide a IntelliJ IDEA project file which should be up to date, if you're using another IDE then the project dependencies for API and All modules are in www/documentation/mattnathan/images/ and are both linked in my first post."

Fabian Ritzmann clarifies the status of WSIT in Metro, in Re: Using spring-ws with metro components. "WSIT support is still there: It is a little tricky (and not well documented) to create a web service from WSDL including policies but that is possible nevertheless."

Finally, sm157516 lays out the options for Creating Connectionpool with hsqldb. "JDBC Connection pool can be created in glassfish in 3 ways - Admin console (http://localhost:4848) - Admin CLI (asadmin create-jdbc-connection-pool /create-jdbc-resource commands) - asadmin add-resources command using a sun-resources.xml file with the properties specified. Please refer the documentation for the above. "

Current and upcoming Java Events :

REST versus SOAP, must there only be one?

Almost as spirited as the battle over closures is the debate over web service architectures: SOAP versus REST. If anything, it sounds fairly one-sided: the REST side blogs a lot, yet you don't see as much blogging from the SOAP side. Maybe they're too busy developing new web services to engage their critics? I don't have a stake in this fight, so I'm staying out.

Java also isn't playing favorites, a point clarified by Arun Gupta in his blog SOAP and REST - both equally important to Sun, who writes:

"Sun moving away from SOAP to embrace REST" is the misleading title of an article recently published in SD Times. The article provides a good introduction to JAX-RS and Jersey. But I really wonder what motivated the author of this article to use this title. This blog, hopefully, provides a better context.

And with the REST/SOAP rivalry in mind, the latest Poll asks "Which web service messaging approach do you prefer?" Cast your vote on the front page, then check the results page for current tallies and discussion.

Continuing the REST versus SOAP topic in today's Weblogs, Cay Horstmann reports being Restless about REST. "When I read the REST tutorials, it all seemed so simple. But now I am designing my first set of REST queries, and I have lots of queries on how to be RESTful."

On a topic, Sonya Barry has posted another project audit update. "By the numbers - what I've done with older projects in the general, edu-gelc, linux, and mobile and embedded communities."

In Java Today, Eduardo Pelegri-Llopart has a wrap-up of last Thursday's GlassFish event, in his Report on Special Webinar in Spanish. "This last Thursday I hosted a Special Webinar for the Spanish-speaking community. The webinar home page (spanish,english) has links to the presentation (SlideShare, PDF) and to the recording. The presentation went very well and there was interest from the audience in making it a regular event. Future events will also be hosted at TheAquarium Online and we will announce it here, at JavaHispano and at other sites."

NetBeans is turning 10! Starting Monday, October 20, join us for a week-long retrospective on the projects and people who have made NetBeans a success. The celebration will kick-off with a community-inspired "Decathlon" -- ten interactive activities that let NetBeans users show and share what the NetBeans project means to them -- and other unique content highlighting the evolution of the NetBeans project.

The JSR 298 (Telematics API for Java ME) expert group has made the final release of the spec available for download. One of the most domain-specific of the current JSRs, 298 "is designed to provide a standard API set to control car devices and diagnose status of the car on the current and the next generation of embedded devices. The primary goal of this JSR is to define service-oriented API set providing standardized interface to Telematics service applications. In the end, the API which is for car device control and diagnosis aims for collecting information of car status and controlling the car devices to support telematics services."

This week's Spotlightis on the newly-released Java ME Platform SDK, a "state-of-the-art toolbox for developing mobile applications. It integrates CLDC, CDC and Blu-ray Disc Java (BD-J) technology into one SDK. Java ME SDK 3.0 is the successor to the popular Java Wireless Toolkit 2.5.2 and Java Toolkit 1.0 for CDC. It provides device emulation, a standalone development environment and a set of utilities for rapid development of Java ME applications."

In today's Forums,nanom reprises a popular question about JDK 7 Playing Video Support. "Hi, I've read around that JDK7 will include JMC (upgrade/update of the old JMF). I've downloaded the early release of the JDK7 and couldn't find anything related to playing video. Is this functionality included in JDK7? Where?"

The documentation for the upcoming version of GlassFish continues to take shape, with a call for feedback in Paul Davies'Review Request: Add-On Component Development Guide. "The Sun GlassFish Enterprise Server v3 Prelude Add-On Component Development Guide is now available for review from its doc comment wiki page. Please review this document and provide your feedback on the doc comment wiki page by end of day Wednesday October 22, 2008."

Shai Almog nails down the cause of a runtime exception in Re: NullPointerException in TextArea. "Hi, this occurs when setting text from a separate thread. Make sure you always invoke setText and the related methods from the EDT otherwise you might trigger this race condition."

BD-J developer joshw asks about the practicality ofPIP positioning scaling. "Is it possible to pro grammatically move and scale the PIP video? I can accomplish that for the main video via the AWTVideoSizeControl, is there a similar control for the PIP? I tried PipControl.getControlComponent() and use the setLocation method, but the component returned by getControlComponent() is null."

Current and upcoming Java Events :


Editor's blog for Friday Blog

Posted by kfarnham Oct 17, 2008

In Java Today, Alex Miller notesa post to the JSR 277 EG observer mailling list that Stanley Ho is stepping down as the spec lead of the Java Module System JSR, an announcement that coincides with Stanley's move from Sun to RIM.Alex Buckley will be taking over as the spec lead, and Stanley's announcement says the two have been working together to ensure a smooth transition.

Ayman Elgharabawy has posted an article introducing NetBeans plugins for the ZK Ajax framework. "I just add some of video flash demo of what i have done with netbeans and i hope it will be usefull and i am looking for your comments." You can download a zip of the plugins from Ayman's site.

I picked five items from today's Forums for the front page... there was just too much good stuff to leave stuff out. We begin with terrencebarr's licensing clarification in Re: License agreement and obfuscation. "LWUIT is no different in that respect than other open source projects licensed under GPLv2 with the classpath exception. If you have general questions about developing with GPL and classpath you can read up on the topic here here:"

LWUIT user lowi has a question about Customizing the title bar. "I would like to have a more elaborate title bar, such as a label on the left side, and a button on the right side. The most obvious solution to me seems to replace the title component of the form class with a Container having a BorderLayout. This works well on my local build, but my final application doesn't have the same size when I use my custom build instead of the binary drop 20080814."

demonduck offers a pointed allegory called Fortran, Pascal, Smalltalk and Java sitting in a vacant lot..., which begins, "Fortran, Pascal, Smalltalk and Java are sitting around a guttering fire in a vacant lot strewn with cyber-debris from bygone eras. Pascal says wistfully, "I could have been somebody -- I could have been a contender. P-code geez, what was I thinking?""

Continuing the week's most contentious thread,swpalmer questions the 64-bit obsession in Re: Java WebStart (JNLP), JavaFX on 64-bit machines. "You're right. 64-bit isn't generally "out there" - it's mainly a server thing I guess, though my company isn't running 64-bit servers. All the new Macs are 64-bit, but they have other issues when it comes to Java support... Java 6 on Mac is ONLY 64-bit :-) . I think Sun didn't screw up the priorities - this time."

robilad posts a fact check as a followup in Re: Java WebStart (JNLP), JavaFX on 64-bit machines. "OpenJDK 6 is based on OpenJDK 7. See for its history. JDK 6 is not based on OpenJDK 6 - the code for JDK 6 has been branched off before OpenJDK 7, from which OpenJDK 6 was branched off."

In today's Weblogs, Kohsuke Kawaguchi talks about overlooked members of the Hudson community in Get together at Appresso. "On Wednesday, I visited a company where one of the Japanese Hudson committers work for: Appresso. We had a little get-together of about 15 people with several lightning talks, and then we all headed for a pub for drinks."

Arun Gupta previews his upcoming talk in "Using Comet to Create a Two-Player Web Game" @ Ajax World. "Jim and I are speaking at Ajax World next week on Using Comet to Create a Two-Player Web Game. The session walks through the process of creating a Tic Tac Toe game that can be played over the Internet using Ajax and Comet."

Finally, John O'Conner passes along word that JAX-RS and Jersey 1.0 are available. "Old is new again. Using HTTP's basic vocabulary (GET, POST, PUT, DELETE) to define web services seems to be the big thing now. So JAX-RS and the Jersey implementation seem like reasonable sources for blog topics.JAX-RS is the Java API..."

Current and upcoming Java Events :


Out of Touch Blog

Posted by kfarnham Oct 16, 2008

Thursday events we almost missed

Sometimes, you don't know about cool events until they're almost here. Our Events Listdoes a good job of tracking conferences and JUG events a few months out (event organizers, please keep submitting events to be part of the listings), but sometimes the quickly-arranged online events sneak up on me fast.

To wit, I want to get out this blog quickly, as some of the events are now just a couple hours away.

The first item comes from the Java Today section. Today at 11:15am PT (18:15 GMT), John Rose, one of the leaders for the recent JVM Language Summit will talk on Many Languages, One Machine. John will be presenting from Santa Clara, but will be broadcast simultaneously through TheAquarium Online.

Then we have a forum post about an event that immediately follows John's webinar. As the Forum post Special Webinar in Spanish on GF v3 Prelude and Overall GF story - Thursday 1pm PT points out, "Eduardo Pelegri-Llopart will host a special online webinar on the GF v3 Prelude launch and an overview of GF-related offerings. This webinar will be in SPANISH and OPEN to anybody You can attend - Online via By concall at Toll Free: (866) 545-5227 Int'l Access: (215) 446-3648 (caller paid) Access Code: 3535518"

So there you have it, a pair of online webinars, both available via The Aquarium's channel. If either of these events interest you, hopefully you'll see the front page or this blog in time to attend.

Also in Java Today, NetBeans Dream Team Member Toni Epple has posted a slide show and blog about his participation (along with Sun's David Stuple and Geertjan Wielenga) in NetBeans Platform Certified Training Würzburg. "There were two days packed with presentations and a workshop. Students were really eager to get started coding, and it was fun to see them starting NetBeans whenever David or Geertjan did a demo during their presentations."

Are you a Programmer who develops Java desktop and Java web applications using the NetBeans IDE? If so, this is your chance to get involved in the creation of the Sun Certified Specialist NetBeans IDE Beta Certification Exam! Help us "test the test" and earn credit towards official certification! The beta exam is FREE and available WORLDWIDE at any Authorized Prometric Testing Center. The Beta dates are October 15 through November 5.

Today's Weblogsbegin with John Reynolds offering the comparison Chickens and Eggs - Methodology and Tools. "Which came first? Object Oriented Methodology or Object Oriented Languages? From where I was standing at the time I'd have to say Object Oriented Methodology."

Arun Gupta follows up yesterday's JSF tip with TOTD #48: Converting a JSF 1.2 application to JSF 2.0 - Facelets and Ajax. "TOTD #47 showed how to deploy a JSF 1.2 application (using Facelets and Ajax/JSF Extensions) on Mojarra 2.0-enabled GlassFish. In this blog we'll use new features added in JSF 2.0 to simplify our application."

Greg Brown passes along release news in Pivot 1.0 Released. "Announcing the release of Pivot 1.0, an open-source framework for building rich internet (RIA) applications in Java."

In today's Forums, we return to the contentious topic of the last few days, Re: Java WebStart (JNLP), JavaFX on 64-bit machines, andlinuxhippy's rhetoric check: "After all, instead of spreading poison why don't you get your hands on the code? There's always work to do and I guess that would be more useful instead of crying arround how bad everything is. Maybe I sound a bit rude, sorry for that. The reason is I've read posts like yours ... well ... I guess since I started java development in 1998. Exactly the same, just the topic was different. If Sun won't do that, Java will die, Java is missing these and that and its Sun's fault, If I would have been Sun I would have done.... Looking back to 2000 the only thing I can see is that Sun did really well, and most things got a lot better since then."

Shai Almog explains an LWUIT detail in Re: How to load animated gif at run time. "This is not supported by some devices which is why we offer our animation support (via the resource editor). You will need to use the MMAPI and the MediaComponent to "Play" an animated gif which might not work for all devices."

Current and upcoming Java Events :


Starting All Over Again Blog

Posted by kfarnham Oct 15, 2008

A new day for ME development tools

The old Wireless Toolkit (WTK) has long been the bread-and-butter development tool for a lot of Java ME developers, but that doesn't mean it doesn't have its problems. Five years ago, before I was even working on, I blogged my disgust that WTK had so much native code that it was impractical to port to platforms other than Windows, a cruel irony for the "write once, run anywhere" platform.

Really, though, that was only part of WTK's problems. Not only was it locked into one development platform, it was also locked into one deployment platform. As Mobile & Embedded community co-lead Terrence Barr explains:

Its internal architecture had grown complex over the years and it was hard to add entirely new functionality or port the WTK to different desktop platforms such as Linux, Solaris, and Mac OS. Also, WTK originally focused MIDP/CLDC development and so coders wanting to develop for other platforms such as CDC or Blu-ray had to use a different tool (the Sun Java Toolkit for CDC). Finally, the underlying Java ME emulation was based on the old KVM stack which was not designed to be high-performance and which also was not true to actual device implementations.

Terrence says that the time is due for a radical update, so Goodbye WTK, hello Java ME SDK!

The Java ME SDK is now available as an Early Access version for Windows XP and Vista (Linux and Mac users ... don't fret - stay tuned). The Java ME SDK is a complete redesign with all the goodness that made WTK so popular but with a new architecture underneath and a host of new features.


The Java ME SDK is a much improved tool all-around. It is based on the very capable Netbeans framework so it is more easily extensible and more portable than before. It incorporates all major Java ME platforms (mass-market mobile phones, smart phones, and Blu-ray) into a single tool. The Java ME emulation is now much accurate as phoneME (and it's commercial counterparts) is used in millions of devices today. The popular Lightweight UI Toolkit (LWUIT) is now pre-integrated into the Java ME SDK as an additional option for rich UI development. There is a bundled Windows Mobile Java ME stack that allows developers to deploy and test directly on Windows Mobile from the comfort of the SDK. And much more.

This sounds like a radical overhaul, and a much needed one. Of course, some of us won't know until our fretting ends with ports to non-Windows platforms, but it sounds like it's coming, so we can wait a little, especially to get such a thorough overhaul of the SDK.

What do you think? If you're already on WTK, are there features in the new SDK that appeal to you? Or, if the WTK's limitations have kept you from developing for ME, will the new SDK entice you to take a second look?

Also in today's Weblogs. Jean-Francois Arcand describes the new Atmosphere project in Entering the Atmosphere Framework: Comet for Everyone, Everywhere. "Introducing Atmosphere, a new framework for building portable Comet based applications. Yes, portable, which means it can run on Tomcat, Jetty, GlassFish or any web server that support Servlet 2.5 ... and without the needs to learn all those private APIs floating around...."

Arun Gupta shares another great tip in TOTD #47: Getting Started with Mojarra 2.0 nightly on GlassFish v2. "Java Server Faces 2.0 specification (JSR 314, EDR2) and implementation (soon to be EDR2) are brewing. This blog shows how to get started with Mojarra- Sun's implementation of JSF."

In Java Today, the Thread Dump Analyzerproject has released version 2.0 of its JDK analysis tool. New features include the ability to skip broken thread dumps, custom thread categories, multiple selection of threads, handling of heap information from Sun JDK 1.6 dumps, extended help, initial internationalization work, support for SAP and HP JVM dumps, availability as a VisualVM plugin, and more. Further details are available on Ingo Rockel's Blog.

In a new audio interview from, David Strupl, Technical Lead for JavaFX in NetBeans IDE, talks about what developers can expect from upcoming support for JavaFX in the NetBeans 6.5.

Artima blogger Howard Lovatt says that in the multi-core era, what's needed is not closures but rather New Control Structures for Java. "Java has many traditional control structures, like if and for. There are also proposals, BGGA, JCA, and ARM, to add more. This post examines what new structures might be of interest and suggests that more traditional control structures would add little and instead parallel-functional structures would be more useful."

In today's Forums,mattnathan announces a SwingX cleanup in Finally cleaned incubator area (mattnathan) + Demos. "Well, it took me long enough but I've finally finished cleaning my incubator space (well as much as I'm willing to do anyway) so that it is more modular and I can easily add new projects and demo's to it. I've provided a dependency graph for both the API and All modules. To read it simply follow the lines, for example in the API modules JXClock, JXInspectionPane, JXSlider and JXTimeline all depend on ScalableIcons and ScalableIcons depends on JXEffectPanel, Core, JXComponent and ScalePolicy, it takes a little getting used to (well it did for me anyway ;))."

toto__laricot posts a Question regarding version numbers. "The Download section on does not mention any version number - there are no branches or tags in the subversion directory. Yet, the Maven repository refers to version 3.0.1. My question is: do the jars listed on the project's main page are the same that the one in the maven repository (version 3.0.1)? Are there any plans to tag the subversion tree?"

Fianlly, the debate over 64-bit support continues, andlilianne_blaze isn't happy about it, in the post Re: Java WebStart (JNLP), JavaFX on 64-bit machines. "If I were you I'd stop _everything_ I was doing and redirect _all_ resources to get it done ASAP and then sat down and thought really hard how all that lost trust could be regained. You lost lots of reputation, and some of us - Java developers - lost lots of reputation too by promoting a technology which in the eyes of our - and by extension yours - customers is clearly flawed as it doesn't support today's hardware."

Current and upcoming Java Events :

A fresh look at the long-lived Servlet API

So, how many of us write raw servlets? There's a massive number of Java developers working at a higher level, isolated from the servlet by presentation frameworks like JSP, JSF, and business logic frameworks like Struts and Spring. But outside of those writing the frameworks, are there still people actually getting the output stream from the servlet request and writing bytes on it?

I bet there are. I wrote my first web apps straight to the servlet API because in 1997, there weren't higher-level frameworks yet, but years later, when I was directed to convert a Swing app to a webapp, the decision was made to use raw servlets rather than any higher-level framework because we were ridiculously tight for space on our remote servers and couldn't afford to load a couple hundred classes from some new framework.

Chances are, there are a lot more people than you might think who work directly with the servlet API, which is why it's good news that a thoroughly revised servlet API, Servlet 3.0, coming in the form of JSR 315.

Deepa Sobhana offers an introduction to the version of servlets in the latest Feature Article,An Introduction To Servlet 3.0 .

Unlike some previous releases of the specification, which were just maintenance releases, the Servlet 3.0 specification is packed with lots of exciting features required for the new era of web development. In this article, we will investigate key features introduced in the new version of Java Servlets. It is worthwhile to note that the specification is still in a draft stage and therefore the technical details discussed in this article are subject to change.

In this article, you'll see what Servlet 3.0 has to offer in terms of ease-of-use and extensibility improvements, security enhancements, the API's embrace of annotations, and the ability to use POJOs for your servlets and filters (and whether that feature will make it to the final spec).

In Java Today,Jersey, the production-quality reference implementation for JSR 311 (Java API for RESTful web services), has shipped its 1.0 release. Jersey's extensible API allows for a number of enhancements beyond the scope of the original JSR, as it includes adds Spring integration and a REST client. It also integrates with GlassFish v2 and v3, NetBeans 6.5, and Maven 2.

Jean Francois Poilpret blogs about the challenges of resizing Swing components and what to do with extra vertical space, in DesignGridLayout: real-time resizing of JScrollPane. "I found out that there are only 2 categories of components that want extra height when it becomes available: any Component that is set as the view of a JScrollPane (in particular JTextArea, JTable, JList), and any JSlider using JSlider.VERTICAL policy. Besides these, I did not find any component that should grow height when its embedding dialog is resized. Based on these observations, I have implemented a simple internal mechanism into DesignGridLayout for distinguishing these 2 kinds of components."

A new Enterprise Tech Tip over at the SDN takes a look at Securing Attachments With Metro 1.3. "The WS-SecurityPolicy v1.2 specification from OASIS now includes an assertion for integrity and confidentiality protection of SwA (SOAP Messages with Attachments) attachments. This assertion is also a supported feature in Metro 1.3. In this tip, you will learn how to secure an SwA attachment using Metro 1.3 and NetBeans IDE 6.5 (currently available as a Beta release). The new features in the Metro 1.3 release are available in NetBeans IDE 6.5 through a web services plugin."

Today's featured posts from the Forums include a number of contentious threads, starting withterrencebarr's reply to the bang-enhanced Re: Would Sun support real developer platforms like Linux and Mac!! "Understand your frustration with the platform support situation - I'm also a Mac user and would love to have first-rate Mac support for mobile development. Please keep in mind that the Java ME SDK is an EA, designed to get it out into the hands of developers as fast as possible - that's a key reason it is limited to one platform right now. This ME SDK has a lot of goodies that fundamentally improve portability such as using the NetBeans platform as the application framework as well as using phoneME as the emulation platform - both are much more portable than the corresponding components in previous WTK versions. This is an indication where Sun is going."

i30817 offers gripes and workarounds in the followup Re: Will JFileChooser be fixed for Java7? "The gnome reader is outdated with the current one. I hope that they replace the current api with a wrapper of the native filechooser. It is really the only component that NEEDS to be implemented and is composite, so it makes sense to wrap it. On linux/gnome what is currently driving me crazy is folder selection. Did you know that selecting folders you need to be INSIDE the folder? Basically select the folder, click ok, and click ok AGAIN."

Finally, kirillcool questions the value of the "file a bug" mantra in Re: Java WebStart (JNLP), JavaFX on 64-bit machines. "And my point was on the usual "vote for the bugs because this is very important" mantra being repeated over and over again. If the words are not backed up by actions (by either fixing the bugs or marking them as closed with the above resolution), then the words are meaningless. And the more they are repeated, the less weight they are carrying."

Finally, in today's Weblogs, Sebastien Dionne introduces himself as a New committer for Grizzly framework. "I'm happy to be a new committer for Grizzly framework. I started using Grizzly since few months, and I mostly did demos using Grizzly. I did a Migration Guide for network applications using NIO. The article has been choose in the(GlassFish Awards Program)."

Neto Marin blogs about his mobile conference scheduler in New issues to CoSMo project and CoSM on Mobility podcast! "With all the source code available on SVN, it's time to create some issues. And also, I talked about CoSMo with Roger @ JustJava 2008."

Current and upcoming Java Events :


One on One Blog

Posted by kfarnham Oct 13, 2008

Freeing OpenJDK on OpenSolaris

Is it enough that OpenJDK is open-source? What about being able to build that source with FOSS tools? That's presumably necessary if you want a fully FOSS stack: your users aren't going to feel very "free" if they have to use non-free (or even paid) tools to build core components of the system, like Java. Surely I'm not the only person to balk at open source software that required me to buy Visual Studio or some other commercial product just to build the darn thing. Many years ago, I considered writing a JMF-to-RealPlayer bridge when Real announced they were open-sourcing some of their stuff, but bailed when I found that the Mac build of Real's stuff would require me to buy CodeWarrior.

So it's great news to hear that Christian Thalinger has managed to achieve (Free) OpenJDK on OpenSolaris: "Today I was able for the first time to build OpenJDK on OpenSolaris completely with free tools." He details a number of detail problems, such as having to use JamVM instead of CACAO, but still:

After some IcedTea build system changes (yet to commit), some JVMTI file copying (maybe this is a JamVM bug, see instructions at the end), a small OpenJDK patch and some time, I got: IcedTea is served: openjdk/control/build/solaris-i586."

Christian has also added an OpenSolaris section to the Building IcedTea with CACAO as VM on... wiki, so other OpenSolaris users can try for themselves.

Also in Java Today, Java ME Platform SDK 3.0 Early Access has been released. Java ME SDK 3.0 is the successor to the popular Java Wireless Toolkit 2.5.2 and Java Toolkit 1.0 for CDC, with the new version integrating CLDC, CDC and Blu-ray Disc Java (BD-J) technology into one SDK. The SDK "provides device emulation, a standalone development environment and a set of utilities for rapid development of Java ME applications." More information about the EA release is available in Tomas Brandalik's blog.

The latest edition, Issue 182, of the JavaTools Community Newsletter is out, with tool-related news from around the web, congratulations to the NetBeans Innovators Grant Contest winners, a list of new tools in the community, and a Tool Tip on sharing a virtual white board with Twiddla.

The latest Java Mobility Podcast is Java Mobility Podcast 59: CoSMo - Conference Scheduler for Mobile, the second in a series of podcasts from the Brazilian Month of Java, in which Neto Marin discusses CoSMo the conference scheduler for mobile devices.

This week's Spotlightannounces that registration is now open for the Mobile, Media, and Embedded Developer Days (M3DDs) conference, being held January 21-22, 2009 at the Sun Santa Clara Campus Auditorium. "This conference is devoted solely to the technologies of mobile, media, and embedded Java platforms and is a unique opportunity for content developers of intermediate and advanced skill levels, platform developers, and technical experts at product companies, device manufacturers, and service providers to get introduced to open source Java ME, the community, and to join in and collaborate." As co-organizer Roger Brinkley points out in his blog, $175 Early Bird Registration is now open and will be available through November 14. Roger's blog also contains an initial list of pre-selected technical sessions and lightning talks.

In today's WeblogsFabrizio Giudici, asks you to Suggest me a scripting language for blueMarine, Java compatible. "I need to add scripting support for blueMarine, also considering that other applications such as Adobe Lightroom support scripting. Scripting would be targeted to users, for instance to add simple rules to automate the workflow of photo management (the first things I'd like to implement are about metadata transformation). Now, the question: which language to use?"

Arun Gupta shares a helpful link in LOTD #10: Running GlassFish on Joyent Accelerator. "Joyent provides a cloud computing environment for all your needs. Beyond their typical reasons (scale on demand, pay for what you use, PHP/Rails/Python/Java pre-installed and ready to go, billions of page views and others), now there is another reason to use their cloud: the instructions to configure GlassFish on Joyent cloud are really clean and simple."

Finally, Rama Pulavarthi tries to clear up the JAX-WS API Version Mess with Maven. "There are different flavors of JAX-WS API based on the Maven repository you use, causing big confusion for the JAX-WS users. This blog talks about the workaround and direction for fixing the mess."

In today's Forums,muchhalsumeet is looking for a way to do HTTP Proxy through JAX-WS. "We are creating web service client which use some of the services from intranet and some from out side the intranet. To connect to outside services we need to use the HTTP Proxy. Please let us know how we can do this through JAX-WS. We can not use System Properties as to use the services from intranet we do not need to use the HTTP Proxy."

peters_ hopes to do dynamic principal to role mapping in GlassFish. "I'm developing an enterprise application using EJB. Therefore I've implemented a custom realm derived from The next step i stuck at is the user (or user group) to role mapping. The only way of defining this mapping which I know about is the DD of the EJB. But this is not enough flexible for me. Is there a way to map prinicapls to roles at runtime? E.g. by implementing a custom authorization module just like implementing the custom realm?"

alrocar hopes to Disable command menu items in an LWUIT app. "I need to enable/disable menu commands. I've implemented a MenuRenderer that 'ignores' my disabled commands, avoiding them to have the focus. But the better solution I think it was to ignore the action events on the menu command, for example, the mouse click event. Can you guide me to reach that behaviour on my menu commands?"

Finally, lt401vette vents a little in Re: Will JFileChooser be fixed for Java7? "Java with swing is a great platform to write applications from, almost. The FileChooser problem drives me nuts!! The lack of a decent file dialog is clearly the weakest point in trying to use Java for desktop applications, It is the one thing that there is no solution for. Every time I deploy an app the the terrible file dialog behavior reflects back on me and there is no solution. The awt FileChooser doesn't accept filters (at least on windows), can't multiple select and you can't even place it, it has to open in the top left of the screen. But at least once it is open it works on windows, but not so on Linux."

Current and upcoming Java Events :


The Engine Driver Blog

Posted by kfarnham Oct 10, 2008

Overhauling OpenJDK's FontManager

It's safe to say that you don't want to see comments like this, but probably do, all the time:

/* This is implemented only on windows and is called from code that
* executes only on windows. This isn't pretty but its not a precedent
* in this file. This very probably should be cleaned up at some point.

That's actually from OpenJDK'sFontManager, and in a very interesting blog, Roman Kennke describes the contents of class as being more or less a total mess:

In the current OpenJDK code, this class is huge kitchen sink for all kinds of things that have no other place (or so it seems): it's a final class with all static methods, with platform independent font code, utility functions, platform dependend code (windows and solaris mixed), fontconfig code, all nicely packaged in one big class. To make it even worse, there's a bunch of similar font related methods in SunGraphicsEnvironment.

What's different from the usual case -- where we leave junky code in place because it seems to work and we have management jumping on our backs for new features and not cleanups of the old code -- is that Roman and his colleagues went in and cleaned it all up, as described in The Big FontManager Refactoring. They reducedFontManager to an interface, provided platform-specific implementations, created a factory to hand out a suitable manager for the current platform, and doled out the other important parts to sensible helper classes. Roman writes:

The scope of this change is quite huge, I don't envy the guy who eventually will have to review it :-/ OTOH, I really would like to get this into OpenJDK as soon as possible, because maintaining this big change and keeping in sync with upstream is a nightmare. When everything goes as planned, it should be possible to implement a completely different font backend (i.e. based on GNU Classpath's 100% Java fonts) based on this internal API. Yay!

Sounds great. Now what's the next piece of OpenJDK that needs an overhaul?

Also in Java Today, the SDN offers a feature article summary of Project Wonderland in Project Wonderland: Go Ahead, Make a Scene. "Project Wonderland is a toolkit of open-source software for creating 3D virtual worlds. But it's not what it is that excites people; it's what it does. Project Wonderland allows developers to create highly interactive environments where people can collaborate, conduct real business, and learn through immersive media. It takes virtual worlds to a whole new level of scalability, reliability, and extensibility."

As announced in the forums earlier in the week, the Final Review for GlassFish v3 Prelude Documentation is underway. The final drafts of the GlassFish v3 Prelude documentation are available now from the GlassFishDocumentation Comments Wiki, and members of the GlassFish documentation team have asked subject matter experts individually to review sections of the documentation that apply to their area of expertise. The deadline for comments is Monday, October 13.

Apropos of nothing at all but idle wondering, the latest Poll asks "How many active buttons are on the mouse you're using right now?" Cast your vote on the front page, then visit theresults page for current tallies and discussion.

Tomas Brandalik announces the release of Java ME Platform SDK Early Access in today's Weblogs. "Java ME Platform SDK Early Access has been released yesterday. Have a look [...] and don't forget to read what's new first, because a lot of cool features are waiting for you. My personal favorites are on-device features. One click on-device deployment and on-device debugging."

Masood Mortazavi shares his thoughts Reminiscing on Micro-Kernels and Group Communications. "Yes, I have to admit that, in my opinion, JGroups is probably the best early example of the "micro-kernel" concept in Java, aesthetically speaking. The Group Communications stack can simply be specified by literally stacking micro-protocols into a group communications stack -- each micro-protocol can be considered a micro-kernel with its own "up" and "down" threading system."

We're working through some server problems with the Forums, and they may be intermittently unavailable as we work with Jive to fix the issues. We apologize for any inconvenience. Among recent interesting messages, LWUIT user mrjansa reports success Re: Painting an image on a form "I solved the problem by putting the drawImage()in a Painter and then adding the painter to the form the following way: this.getContentPane().getStyle().setBgPainter(painter); The reason why I want to put the image in a paint method is that I want to draw other things on the image."

mikephoenix explains a configuration and deployment issue in Re: deploying into production web services developed on NB 6. "OK, I figured out what happened. Here's the scoop for other newbies. When you deploy and undeploy you can run tests and see the WSDL on your local application server. In order to port the application to remote application server, you actually need to do a build to properly create the .war file. I was under the implession that deploy and undeploy also did the build automatically. This is not the case. Once I did the build which properly created the .war file, I was able to move it to the production server and access the services and WSDL on my remote app server."

rfagalde has some concerns to work through, in Re: How to build?? "I have three questions: 1# My application run in Symbian(E61i), accessing the JBOSS using Web Services, but it don't run in windows mobile, and returns NoClassDefFoundError only in the class that contains Web Service's call(new WS4JMEPortType_Stub()). 2# I'd like to confirm that the library phoneME Feature M3 used with cyg4me, will rebuild my application with JSR-172 support, and not conflicting with windows Mobile. 3# What variables are wrong when I use command "make -C..." to rebuild?"

Finally, jodeen complains of some Issues getting Fast Infoset working. "I'm having some issues getting Fast Infoset working in general. I'm assuming that there's something simple missing. Everything I've found on the web implies that setting up FI should be as simple as setting a property on my client-side stub ( But that doesn't seem to be working. When I use wsmonitor to look at the messages being sent, the requests don't have the application/fastinfoset in the HTTP accept header."

Current and upcoming Java Events :

Achievable dreams for Java

Rhetorical trick alert! Java SE / OpenJDK Principal Engineer Mark Reinhold has posted a blog asking Wouldn't It Be Cool?, with a list of Java dreams. The first two are:

  • You could write a Java application that could run, without change, on cell phones, on TV set-top boxes, and on laptop and desktop computers?
  • A Java applet could start up just as quickly as a similar Flash application, and have comparable responsiveness?

Hmm... seems like I've heard something like this. Doesn't the second sound like Java 6 Update 10's "Quick Starter" feature? And the first is sounding like... JavaFX, maybe?

Full credit to the readers of Mark's blog, who've figured out the game and followed along. Go check out the list and see if you can connect the dots between what might be, what's coming, and what already is.

Also Java Today, the new Patch-In-Place featurein 6u10 provides a cleaner and faster upgrade experience. This feature reduces the download size when a user migrates from one update release to another, and it will also increase the performance of the update. After updating from 6u10 to 6u11, the user will only be left with one 6u11 JRE. The JDK team asks you to "try out this feature and let us know your feedback."

LG Electronics has announced the LG SDK 1.0 for the Java ME Platform to support the company's Java-powered devices. "The LG SDK 1.0 for the Java ME Platform includes an emulation environment, documentation, examples, and other application development resources that developers need to create mobile applications for LG mobile phones. The LG SDK 1.0 for the Java ME Platform is a custom version of Sun Java Wireless Toolkit. It supports all features included in the Sun Java Wireless Toolkit and provides additional features for LG mobile phones."

In today's Weblogs, Raphael Mudge wonders about Unmarketable Innovators? "I have a friend. He wrote his own programming language. Then he proceeded to embed said language into his own webserver. He built his entire development stack and he is very productive with it. I worry for my friend. Isn't he hurting his marketability? Is there an unmarketable innovator's dilemma?"

Marina Sum posts a pointer blog to an article on How to Install Sun Web Stack on OpenSolaris OS. "A new article on Sun Developer Network walks you through the process of installing Sun Web Stack on OpenSolaris. The process takes only a few steps, easy as pie. Check it out."

In today's Forums,candlejack wonders How to establish trust between two GFv2 servers? "I am trying to setup two GFv2 servers so that a trust is created between those too. According to documentation and several inet resources this can be achieved by setting up mutual ssl between those two servers. To achieve this I set the clientAuth property in the certificate realm of the second server (the callee) to true. That way mutual ssl is enforced for all applications and the corresponding settings in the deployment descirptors of my test EJBs do not matter anymore, right?"

Alex Ng'ang'a explains a seemingly missing feature in JDIC, inRe: [JDIC] I can't find the FloatingDock Class. "The FloatingDock class is in the incubator. This means it's not included in the main jar file. One can download the sources via cvs and create the jar file themselves but the native side is implemented only for Linux and Solaris OSes so if you are not using a Unix based OS this will not be possible."

Artem Ananiev offers a preferred replacement forWindow.finalize() in the followup Re: Removed finalize() in java.awt.Window in Java SE 6. "finalize() method is removed as an unreliable way to free resources. nstead, we use Java2D Disposer machinery which is based on ReferenceQueue notifications. See java.lang.ref.ReferenceQueue JavaDoc for details."

Finally, areplogle is fishing around for some JCR recommendations? "Does Sun have or is Sun working on any implementation of JSR-170 Java Content Repositories? If not, what recommendations would you have for an implementation that can store and provide user friendly interfaces for management? I've read a little bit about Jackrabbit from Apache; is this the best recommendation at this time?"

Current and upcoming Java Events :


Of Angels and Angles Blog

Posted by kfarnham Oct 8, 2008

JCP elections begin: will your voice be heard?

This year's JCP Executive Committee Elections are now underway, with balloting open for JCP members at the PricewaterhouseCoopers JCP election site.

I'm not sure if most people in the community follow how the JCP and its Executive Committees work, which I think is a shame. If you're complaining about something being included in or excluded from the next version of Java (I'm thinking of a plural, 8-letter word that starts with "c"... rhymes with former CNN Headline News anchor Bob Losure... any takers?), then the JCP is the one unambiguous way to affect the fate of that feature. At some point, a "contents of Java 7" JCP will go before the SE/EE Executive Committee, which will vote it up or down.

The idea of the JCP is to represent the collective opinion and values of the Java community. It's only as accurate as you, the community, choose to make it. If you let someone else choose the EC for you, then you can't be surprised or disappointed if they vote in features you don't want, or exclude stuff you want included. If there's a direction you want the platform to go, you need to seek out candidates -- companies, organizations, and individuals -- who share those values and will express them as a member of one of the ECs.

However, voting isn't wide open. Only JCP members can vote in the elections, and despite the fact that it's free for individuals, the JCP FAQ says there are only 1,200 current members. Considering that you have to be a JCP member to submit a JSR, nominate someone for or serve on an expert group, or provide feedback on proposed JSRs and public reviews, that seems a rather small and elite group, a tiny fraction of the over 5 million Java developers worldwide. (If I've now convinced you to join, go directly to the membership page).

As your editor, I have to stay publicly neutral about the election itself, but privately I've been both delighted and infuriated by previous results, so you can bet that as a JCP member, I'll be looking at the candidates closely and casting my votes for those who I think will best care for the Java platform. I hope many of you will do the same.

If you're a member, you can now go to the PricewaterhouseCoopers JCP election site to participate in the first stage of the process, the election for ratified seats. This year, the ratified seat candidates on the SE/EE EC are Ericsson, SAP, and SpringSource, and the ME EC candidates are IBM, Nokia, and Philips. The ratification ballot is open through October 20, with results announced October 21. The next phase, for elected seats, begins with open nominations October 21 through 31, followed by balloting November 4 through 17.

Also in Java Today, Eduardo Pelegri-Llopart has posted details about this week's GlassFish webinar: OpenSocial for GlassFish. "On Thursday, October 9th, 11:15am PT, a Technical Webinar on SocialSite and OpenSocial by David Johnson (of Apache Roller fame). Dave will describe the basics of OpenSocial and will introduce SocialSiteand describe its benefits, architecture and Widgets and Web Services." Eduardo also notes that he is planning two special one-hour webinars to cover GlassFish v3 Prelude for Spanish- and Portugese-speaking participants.

Although many development teams use version-control systems to manage code changes, they can struggle when developers code off the same code base, in parallel. In the latest Automation for the people installment, Parallel development for mere mortals, automation expert Paul Duvall shows how to effectively tag, branch, and merge source code using the open source, freely available Subversion version-control system.

In today's Weblogs, Jitendra Kotamraju offers plaudits for the Metro GAP winners. "Congratulations to GAP winners, specially to : Jungwook Chae, Tatu Saloranta, Ernesto Jose Perez Garcia, Karel Kolman, Franke Markus, Ryan de Laplante who have contributed to GlassFish Metro web services and its sub projects."

John Ferguson Smart has some guidance for Installing Hudson as a service on Redhat. "Hudson is a great little Continuous Integration server. One of Kosuke's more recent innovations has been to add a feature that lets you install Hudson as a service on Windows. A very useful feature indeed, as previously this was a fairly non-trivial operation. But what if you're running Hudson on a Linux server?"

Finally, in Tokyo, here I come!, the itinerant Kohsuke Kawaguchi writes, "Visiting Tokyo is always an enjoyable experience. I know the place well, so I can get around, I have friends, and I know where and what I want to eat. As much as I love my family, having some time alone is good, too."

Today's Forums start with an announcement from Paul Davies that Final review for GlassFish v3 Prelude documentation starts now. "The final drafts of the GlassFish v3 Prelude documentation are available now from the GlassFish Documentation Comments Wiki. For a list of documents to review, consult the section /Guides and Tutorials - Ready for Review /on the wiki page. As the review is starting a day late, the deadline for comments is now end of day *Monday, 13 October 2008*. Members of the GlassFish documentation team have asked subject matter experts individually to review sections of the documentation that apply to their area of expertise. If you have been asked by a member of the GlassFish documentation team to review a particular section of the documentation, or are interested in the GlassFish v3 Prelude documentation, please set aside some time next week to review the documentation."

cknappe posts a Layout Question. "Is it possible to set the alignment of a container? I have to build a BorderLayout. At the south of this layout there have to be 2 buttons. If I add those buttons to the BorderLayout just the last added is displayed. OK - so I put them into a FlowLayout Container and add this to the South of the BorderLayout. The Problem now is, that this Container (in which the buttons are) is always at the left side. Can I do something like container.setAlignment(Center)?"

janey explains the likely cause of an undeployment problem in Re: Cannot Undeploy problem - SJSAS 9.1. "Your app is probably deployed to more than one target (maybe another cluster or a standalone server). Here's what you can do: First remove the reference by using "delete-application-ref". Once the reference is removed, then you can do undeploy command. To find out if there are any references, use the "get * | grep application-ref.<name-of-application>". You'll see a list in dotted-notation. The target is the first value in the dotted-notation. (e.g. server.application-ref.hello1.* where server is one of the target)"

Finally, gopallal asks How to embed javafx code in HTML or web pages. "I am new for JavaFX. currently I am working for animation on web pages or HTML pages in my application. So I want to know whether JavaFX script can be embedded into html pages or not? If yes, how can I embed it? please provide some link, tutorials etc for guideline."

Current and upcoming Java Events :

Surprising hazards for Swing and BD-J

I should be in an excellent mood, as the DSL at my home office has finally been set up and I'm enjoying 3 Mbps of connectivity -- for those keeping score, yesterday's tally of clue points is one for DSL Extreme, zero for AT&T -- which means I'm not researching and posting the front page and writing the blog from the free wifi zone of Panera Bread over on Knapp at Beltline. I've even managed to dig through the first 40 or 50 e-mails that piled up while I was connectivity-challenged.

Still, today should be a pretty important day for one segment of our community, the Blu-Ray Disc Java developers. You might rememberback in July when we pointed out a New York Times article about Disney's intention to aggressively use Blu-Ray's most advanced interactivity features -- features provided by Java -- starting with an elaborate Sleeping Beauty 2-disc set that is being released today. At the time, the Times wrote:

Viewers can watch the movie in tandem with friends in other locations and chat using a laptop, P.D.A. or cellphone. (Comments appear on the screen.) Parents who are not able to watch the film with their children can record a video message that will pop up during a designated scene as the child watches. Viewers will also be able to compete against others around the world at trivia.

So what's the catch? There's a question about how many end-users will be able to use these features. Jim Hill Media, a Disney-oriented fan site, asks Will the Credit Crunch & tech troubles trip up Disney's new Blu-ray push? After describing some of the other cool features of the Sleeping Beauty disc, Jim points out the catch:

The only problem is ... The Blu-ray players that will actually allow you to take advantage of BD-Live technology tend to be the newer, more expensive models. Which typically run $300 - $700 apiece. And given that the coming holiday shopping season is supposed to be the weakest in 17 years ... One wonders who's going to purchase these pricey players. Especially since rumors abound that -- comeBlack Friday -- the Big Boxes will be selling Blu-ray units for $149 or less.

"So people will still be buying Blu-ray players at those post-Thanksgiving sales," you say. "How is thatsupposed to hurt the Mouse?" Well, those lower priced machines will most likely not be BD-Live compatible. Which means that many consumers won't be able to take advantage of this highly touted WDSHE Blu-ray feature. Which will most likely have some sort of negative impact on the sales of these Hi-Def discs.

Still, the true Blu-Ray fans know the best Blu-Ray player is actually the PlayStation 3 (which is what most of the JavaOne demos were run on), and it's highly capable of running all the BD-J/BD-Live stuff, provided you're on recent firmware. And that's a big enough install base unto itself. In fact, Jim goes on to report that Disney is pushing ahead with Blu-Ray releases of more of its classics, including Pinocchio, Snow White and the Seven Dwarfs, Beauty and the Beast, Fantasia, andFantasia 2000.

All new Blu-Ray players have to at least include BD-J at this point, but you have to be careful to ensure the player has BD-Live if you want to hook it up to the internet for additional content. Something for movie-loving Java fans to keep in mind this holiday season.

One other quick note about something that's getting my nit. Aspointed out by Kirill Grouchnikov, Jonas Bandi notes one heck of a self-slam on the Sun Certfied Enterprise Architect preparation exam. In Certification to become braindead?, he quotes the question

You are architecting a real-time system with high usage and high volumes of transactions. You need an MVC application with quick presentation times resembling a thin client and will have several pre-populated views that can carry across several pages. The users must be able to quickly navigate between different sections of the system.

Jonas notes that the solution says option B, "Swing GUI controls", is wrong "because swing components are notoriously slow." Sun's words, not his. Jonas goes on to say:

"Swing is notoriously slow" as thereason to create a web application??? C'mon ... is that the well-grounded professionalism you are expecting from an architect?

To say nothing of the premise that a Swing repaint is slower than network activity plus JavaScript execution time. Still, like I said in the beginning, seems like us user-facing Java developers are getting beat up a little bit today.

In Java Today, the OpenJDK Compiler Grammar project has announced an initial ANTLR grammar for javac, as detailed in the blog post javac, meet ANTLR; ANTLR, meet javac. "The grammar currently supports Java version 1.5, although the goal is to fully support the -source option and support older (and newer) versions of the language as well. Right now, the performance is slower than that of standard javac, so this will not be the default lexer and parser for javac for a while, but even so, it should prove an interesting code base for anyone wishing to experiment with potential new language features. And, it does mean that the grammar files being used have been fully tested in the context of a complete Java compiler."

The cqme project, the home for Java ME platform compatibility and quality testing, has announced the Second ME Framework 1.2 Development Release. "We have been busy working on new features this past month. Check out our new development release which has been posted to the download page. This release includes the latest performance and debugging improvements as well as the pluggable communication infrastructure and the new Netbeans IDE project."

Javalobby has posted a three-part JVM Language Summit 2008 Report by DZone blogger Ola Bini. "The JVM Summit is a three day event organized by Sun Microsystems, bringing together some of the brightest minds from the Java community -- language designers, compiler writers, tool builders, runtime engineers, and VM architects." We've previously noted JVM Language Summit reports from The Java Posseand Dalibor Topic.

Today's Weblogsbegin with James Gosling hacking on Solaris, NFS & OS X. "At home I use ZFS+NFS on a Solaris box to make a file server that provides disk space to all the other machines at home, which are mostly Macs. I use NFS to access the files instead of AFS because it's so much faster. A friend and I were talking about this over the weekend and he was surprised: OS X is notoriously tricky to configure to use NFS."

Terrence Barr says phoneME's agenda is up for public input, inPoll: Which GTK device should we port phoneME Advanced to? "One topic that has been under discussion for a while is GTK support in phoneME - and which particular GTK platform should be chosen. Hinkmond Wong, project owner of phoneME Advanced, has just posted a poll question to solicit the community opinion on the subject."

Finally, in Cargo support for GlassFish v2, Kohsuke Kawaguchi writes, "I'm happy to announce the Cargo module for GlassFish v2. Now you can drive GlassFish v2 from Cargo."

In today's Forums,faureb asks Is it possible to use JNLP service from a standard java application ? "I'd like to launch a JNLP application from a standard desktop application not started by the Java Web Start engine. Is it possible or does the launcher application must necessary be instantiated by JWS? I get "javax.jnlp.UnavailableServiceException: uninitialized" when calling "ServiceManager.lookup("javax.jnlp.BasicService");" Can I "initialize" the ServiceManager by myself or is it definitively forbidden?"

jldominguez wants to get out of the box, in pMEA, Access to serial ports. "Hello, we need to communicate with a serial port to get access to a GPS device. I think we have the same problem described in this message. But we are running Windows Mobile, not Linux. If I understood it well, they have recompiled the VM with a small change to let applications access serial ports. Is that correct? Do Davy's CAB installers give access to serial ports? How? We always get an exception when we try. Do we have to recompile the VM as the person in that forum did?"

Finally, LWUIT user kawaiimomo is interested in Manually set clipping for the icon in a Label "I'm implementing a Loading bar which shows the real percentage sent of total data. My first idea was to recreate the image everytime (it's just two vertical gradients forming a progress bar). Then I thought why recreating the image over and over if I could set the full bar and modify the clipping area for the Label icon? It's this possible? It's worth it?"

Current and upcoming Java Events :


Human Behavior Blog

Posted by kfarnham Oct 6, 2008

Hinting what you're working on is only natural

You can hardly help but give away the nature of what you're working on when you're blogging. Whatever interests you will surely be what you blog about, so even if you're not talking about your project, per se, it's hard not to talk in general about the project domain, your ideas and beliefs, etc. Thing is, most of your readers probably won't see it coming anyways.

Case in point: a few weeks back, Kirill Grouchnikov was pontificating in general about the widespread use of ribbons in Microsoft GUIs. In one blog entry, Ribbon reaching beyond Office, he wrote, "The ribbon component is quickly becoming the new standard for Microsoft applications. A significant break away from the traditional menu-toolbar approach that has reached its scalability limit faced with ever-increasing amount of features in the Office suite, it is poised to become the main UI concept in the upcoming Microsoft products."

So, OK, Kirill's got his eye on where GUIs are going in general. Good trait for a guy developing Java GUI libraries, right? What I didn't read into this was how fully, and how quickly, he would apply this interest in ribbons.

In his most recent blog entry, he's followed up with an overhaul of ribbon support in Flamingo, which he details inFlamingo ribbon component: application menu button and taskbar. "I’ve been relatively quiet on this blog for the last couple of weeks, but i have some good news to share about the Flamingo ribbon component - it now provides the cross-LAF support for application menu button and application taskbar. The ribbon is a fairly complicated container, and while release 3.1 has made great strides towards providing basic functionality, there are significant gaps when compared to the original Office 2007 command bar. The plansfor release 4.0 (code-named Fainnear) are to close these gaps, and the latest development drops allow interested applications to test the application menu button and application taskbar."

Guess I should try to read the tea leaves a little more carefully if I want to know what's coming next in Flamingo and Substance.

Also in Java Today, The Aquarium has posted a wide-ranging collection of items related to's favorite continuous integration engine, in Hudson Roundup - Polls, Awards, Comparisons, Ruby, Grails and C++, Sonar, JBoss Portal, Courses. Eduardo Pelegri-Llopart writes, "My last Hudson roundup was back in May (hudson+adoption). Adoption continues to be very strong, and there are plenty of interesting links, although I didn't try to catch up with all the backlog."

Maurizio Cimadamore has posted some guidance to the Inside Javac blog for Diagnosing Raw Types. "Raw types - generic type whose actual type parameters are missing - have been introduced in JDK 5.0 in order to provide better support for migration compatibility. Since raw types can lead to heap-pollution, their use is strongly discouraged, and generally considered as a poor programming practice. However javac does little in order to prevent the programmer from accidental usages of raw types."

Roberto Chinnici has posted an Update on the schedule for the Java EE 6 Platform in today's Weblogs. He says, "with JAX-RS 1.0 reaching final approval stage, it's time for an update on the overall Java EE 6 schedule."

Curtis Cooley has some guidelines for Writing Great OO Code Day One. "There's no shortcut to experience. Writing good object oriented code takes experience, but here are three practices to help you get off on the right foot day one with even the grumpiest of gray beards."

Finally, Cay Horstmann says you should Know When to Fold. "I demonstrate the usefulness of the nifty "fold" operator in Scala and ruminate on functional programming support in blue collar languages."

This week's Spotlightis on communities participating in Sun's Open Source Community Innovation Awards Program have announced their initial winners. The OpenJDK Community Innovators' Challenge gave its gold award to Clemens Eisserer, silver to Neal Gafter, and bronze awards to the teams of Stephen Colebourne and Michael Nascimento Santos, and Roman Kennke and Mario Torre. The NetBeans Innovators Grant Contest selected 13 projects, singling out two gold award medalists and two silver award medalists for "meeting high standards of quality, usability and demonstrating potential for future growth." Finally the GlassFish Awards Program also announced its winners, awarding its grand prize to Ullrich Hafner, and its second prize to Michael Bien.

In today's Forums,kenkar seeks advice setting up LWUIT.jar (2008-08-14) and WTK2.5.2 for CLDC. "Does anyone know how to get the LWUIT to show up as an external API in WTK 2.5.2? I've tried to follow the documentation both for LWUIT and WTK2.5.2 (by adding the LWUIT.jar to different "lib"-directories and "lib/ext"-directory) but neither work, only the Nokia SNAP Mobile API 1.3.0 comes up. Has anyone got this scenario to work? Where should I place the LWUIT.jar file?"

jayaraj_g123 wants to know How to set startDir dynamically in multiFileUpload of Sandbox. "I am using multiFileUpload of Sandbox (risb:multiFileUpload). It is working perfectly.But when i click on AddFiles button, always it points to the C Directory. I was looking is there any way to point to the previously uploaded folder.Is it possible to set the start directory(startDir) to previously uploaded folder in the client machine." 

Finally, javagar proposes A new name for the GELC community. "Regarding a new name for the GELC community... How about "JOE" for Java Online Education?... and it so happens that Joe also means Java."

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.

Hinting what you're working on is only natural  

Learning How To Live Blog

Posted by kfarnham Oct 3, 2008

Making good on promises to Open Source developers

This week, we saw the awarding of the first prizes from Sun's Open Source Community Innovation Awards program, which we've been following for a long time now, starting with Sun's Rich Green saying at JavaOne 2007 that Open Source is Robin Hood in reverse, as wealthy corporations reap the fruits of work done by developers who give their work away.

Sun made good on this in January, as it unveiled an awards program for Open Source developers working in the GlassFish, OpenJDK, NetBeans and other communities, a multi-year program with a US$1 million purse to distribute.

And this week, we've watched as these communities announced their winners; we covered GlassFish and OpenJDK earlier in the week, and today we turn our attention to the NetBeans Innovators Grant.

The grant program has selected 13 open source innovators to share prizes totaling $127,500. Four of the projects were singled out "for meeting high standards of quality, usability and demonstrating potential for future growth": gold award medalists Cube°n and Scala Support, and silver award medalists IvyBeans ($5,000) and PL/SQL Editor. There's also a podcast interview with winning developers Anuradha Gunasekara and Hong Wei Deng.

Also Java Today, a new SDN article by Sidharth Mishra and Marina Sum explains the process of Deploying OpenSSO on GlassFish Application Server. "OpenSSO, Sun's open-source project for access management and federation, is a self-contained Java EE application that offers federation, access management, and Web-service security capabilities. Installing and configuring OpenSSO is simple and efficient, with no external dependencies." The article offers three options for deploying OpenSSO on GlassFish (automatic, command-line, and with the GUI), and then walks through configuration of OpenSSO.

Changes from Sun's JDK 6u10 are making their way into OpenJDK 6, but it's not a simple process, as Joe Darcy reveals in his blog OpenJDK 6: Logistics of Partial Merge with 6u10. "A large fraction of my work for OpenJDK 6 build 12 was porting all of the cumulative fixes in selected areas of the 6u10 code base into OpenJDK 6. Internally, like the forest of Mercurial repositories of JDK 7, the code base of OpenJDK 6 is composed of a set of teamware workspaces for different areas: cobra, hotspot, jaxp, jaxws, jdk, and langtools. Previously, the non-HotSpot code lived in a single "j2se" workspace which was split as part of the JDK 7 transition to Mercurial. I worked on merging in the fixes from the corba, jaxp, jaxws, and langtools areas. Jon helped with langtools too."

Hudson creator Kohsuke Kawaguchi updates his itinerary in today's Weblogs. In,Kohsuke traveling to Japan, he writes, "somehow this fall became a travel season for me. Just a couple of weeks after my trip to Brazil, I'll be travelling to Tokyo for two weeks."

Elsewhere, Jean-Francois Arcand has suggestions for Preventing Rogue Applications to affect overall performance of Glassfish Prelude. "An application server can get in a really bad shape when a rogue application/component gets deployed into it. How to prevent the situation using GlassFish Prelude? With the help of the bear, yes, you can minimize those rogue animals..." 

Apropos of this week's JVM languages summit, the latest Poll asks "How interested are you in running non-Java languages on the JVM?" Cast your vote on the front page, then visit the results page for current tallies and discussion.

In today's Forums, Qunhuan Mei thinks an animation behavior method might be going too far, inList's setSmoothScrolling(false) turns all list cell's "animation" off - a problem? "When I show our LWUIT based test app to our designer, he thinks the vertical scrolling animation slows the response so I turned if off by adding lst.setSmoothScrolling(false). But seems to me this has a side effect. It also turns off the cell tickering if applicable, or indeed any other cell animations altogether (it actually stops calling to animate()). Ideally, I suppose, the List's setSmoothScrolling(false) should only stop scrolling, not tickering or any other animation (i.e. the call to animate() should not be stopped)."

Shai Almog offers debugging guidance in Re: Application Error when using Resources. "SE platform 7 works great for us and is perfectly supported we test LWUIT on it on a regular basis. Try wrapping your code in try catch as described here. However, for SE I would highly recommend using the SE specific tools and a cable to connect your phone to your PC. This allows you to view all of the printouts on your console which REALLY helps in debugging."

Finally, pboro is looking for an Appropriate security mechanism for this case? "I need to create few web services that will be accessed by several clients. I want to authenticate and authorize the clients, so for example UsernameToken with separate credentials for each client would be fine. Instead, I would like to use certificates instead of usernames and passwords. So then there would be separate certificate for each client and each certificate must only be allowed to access certain web service. Which is the correct security mechanism for this: Mutual Certificates Security, Endorsing Certificate or maybe some else? How do I recognize the certificate used to access the server to do authorization?"

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.

Making good on promises to Open Source developers  

Fruits of Your Labor Blog

Posted by kfarnham Oct 1, 2008

OpenJDK Community Innovators Challenge announced

Yesterday, we linked to the Winners of the GlassFish Awards Program, and today, we move on to OpenJDK.

Sun has announcedthe winners of the OpenJDK Community Innovators' Challenge, part of the Open Source Community Innovation Awards Program to fund open-source communities. Clemens Eisserer picked up the Gold award for the Implement XRender pipeline for Java2D project, Neal Gafter took Silver for Closures for Java, and two Bronze awards were handed out: Stephen Colebourne and Michael Nascimento Santos for Provide date and time library from JSR-310 and Roman Kennke and Mario Torre for Portable GUI backends. Dalibor Topic has posted a set of audio interviews with all the winners in Ogg Vorbis format.

Congratulations to all the winners. Tomorrow, we'll look at the NetBeans community awards winners.

Also in Java Today, The Aquarium reports that the EJB 3.1 Public Draft is now available. "The JSR-318 EG has released the Public Draft of EJB 3.1 (Download). Ken (the EG lead) is soliciting feedback by email or directly in his blog. Ken will continue to providing highlights of the new features through his blog, a practice he started after the first Early Draft ([1], [2], [3], [4]). His latest entry is Guide to the EJB 3.1 Public Draft." They also remind us that "Ken will present on this topic today (Thursday) at 11:15 am Pacific Time in the GlassFish Online Webinar."

NetBeans developers are a diverse bunch of individuals, working in multiple programming languages and speaking in even many more tongues. Where and how do these users, from all corners of the globe, exchange programming tips and offer each other support? Find out in the coming weeks as we spotlight some of the popular foreign language portals, forums, blogs and mailing lists devoted to or related to the use of the NetBeans IDE and NetBeans Platform. This week, we compile a list of sites favored by Chinese-speaking developers.

In today's Weblogs, Claudio Miranda looks at how to do a Heap dump on Linux 64 bits. "With the current stable JDK 6u7 it is not possible to generate heap dump on linux 64 bits. Looks like it was a bug, fixed on JDK 6 u10 RC. Read on for more details."

Jim Driscoll looks into Dependency Managment with Glassfish Updatecenter and IPS. "In a previous blog, I wrote about how to create a basic updatecenter module for Glassfish v3. Since I've just finished working on something a touch more complex, this time I'll cover how the Update Center's IPS structure handles dependency managment, including a fairly odd corner case that I had to recently deal with."

Finally, Santiago Pericas-Geertsen continues his Mobile Enterprise Platform connector series in Developing MEP Connectors - Part III. "In the two installments of this series we've looked at the architecture of a MEP connector, discussed the main abstractions of the ECBO (Enterprise Connector Business Object) API and showed an example of a MusicAlbum business object. In this third part, we'll focus on the MusicAlbumProvider class which is needed to complete the implementation of the connector to access music albums from a JDBC database."

In today's Forums,abhatnagar192006 asks for clarifications regarding aConceptual insight regarding JAVA FX. "JAVA FX, i understand is a rich user interface enabling technology. I have heard that it can be used for making a GUI for desktops as well as embedded devices such as mobile phones and set top boxes. My doubt here was, that embedded devices would need a KVM / CVM for hosting a user interface application. While a normal desktop application needs a JVM. Does JAVA FX SDK come in 2 for desktops and one for embedded devices?"

sjoedzj's binding problem and hyperlink question starts with a question about binding as applied to the size of dynamic JavaFX components. "The second question might be a simpler one. How can I create a hyperlink in javafx. I have this widget and I want to add some links to it that open a browser and go to the address specified. Can anyone help me on these problems?"

Finally, defrit wonders if it's possible to do JSR-172 complex parameters. "I just tried using an object of a self-developed class as a web service parameter. The content didn't reach its target. I didn't get any error message tho. It only worked out with primitive data types like int, float etc. Am i right to assume that JSR172 doesn't support complex parameters? If so, what additional software could i use to solve this (i've already read of ksoap)."

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.

OpenJDK Community Innovators Challenge announced  

Those Three Days Blog

Posted by kfarnham Oct 1, 2008

Surprising developments from the JVM Language Summit

Last week, Sun hosted the JVM Language Summit at its Santa Clara campus, billed as an "open technical collaboration among language designers, compiler writers, tool builders, runtime engineers, and VM architects."

With the event now over and participants blogging and podcasting the developments, it sounds like three remarkable days. The big news may be the disclosure in an interview with the Java Posse thatNeal Gafter has joined Microsoft, a surprising turn for one of the "G"s in the BGGA closures-for-Java spec. But setting that aside, there appear to have been a number of great talks, and perhaps more importantly, some important discussions between the various parties working with different languages on the JVM. Tim Bray's blog about the event seems to hit the most important issue on the head:

Here’s the thing: all of these JVM-ized languages can call into existing Java APIs; not a surprise since that’s a big piece of the value proposition. Some are better than others; Groovy (and it seems Clojure) make the biggest deal about it.

But how about talking to each other? And how about Java calling Ruby or Clojure or Scala code? This is not an abstract issue, at least for me. I’ve been ripping the protocol-validation pieces of the Ape out from the generic-AtomPub-client pieces, and when I’m done I’ll have a bunch of Ruby code that would be super-useful for anyone building AtomPub client-ware.

Furthermore, it doesn’t do any Ruby metaprogramming voodoo or even have blocks in the API, just old-fashioned objects and methods. Plus it’s got code for handling all sorts of icky authentication corner-cases. Yeah, it’s in Ruby so it won’t be as fast as Java, but who cares, it’ll be stalled waiting for HTTP 99.5% of the time anyhow.

So, why should someone have to write this again in Java?

He notes that a group of "really senior people" is chewing over the issue, which falls apart in exactly the way you might expect:

Then someone says “I know, let’s form a working group and do a JSR!” whereupon the room dissolves in raucous laughter.

For more details about the conference's activities, check out Dalibor Topic's JVM Language Summit Roundup which compiles some of the most significant blogs about the conference. You can also look through the presentations on the conference's wiki.

And to catch a bit of the flavor of the conference, Java Posse #208is a podcast report from the conference, featuring Charles Oliver Nutter, Neal Gafter, Bill Pugh, and Christian Kemper in addition to the usual Posse members.

In Java Today, Kirill Grouchnikov notes the revival of theDesignGridLayout project: "Jean-Francois Poilpret has taken over the development of DesignGridLayout project that has been in limbo for the last two years. Release 0.9 fixes all known bugs, along with refactoring the code to improve the API, complete Javadocs coverage for the public APIs, and changing the license from GPL to ASL 2.0. It is also available on the Maven site."

The GlassFish Awards Program has announced the winners for the first year of the program. Jitendra Kotamraju writes, "Congratulations to GAP winners, especially to : Jungwook Chae, Tatu Saloranta, Ernesto Jose Perez Garcia, Karel Kolman, Franke Markus, Ryan de Laplante who have contributed to GlassFish Metro web services and its sub projects. I also acknowledge that there are many others who contributed to metro community (you need to submit entries !). Thanks and congratulations to all."

Today's Weblogssection begins with Bruce Chapman's Named Parameters, "in which I discover a simple idiom for named parameters. Does this mean we don't need a named parameters language feature?"

Simon Morris throws down JavaFX Script: the 100 Line Challenge. "Sometimes less is more. In the spirit of the '64k intros' I've been seeing how far I can push JavaFX with a minimum of code. Now I throw down the gauntlet -- does anyone else want to join me in the quest for the ultimate 'cheap thrill'?!?"

Finally, Roger Brinkley announces M3DD - Call for Papers Closed (softly). "The Mobile, Media, and eMbedded (M3DD) call for papers is closed. (Well almost) Thus far we have 51 submission but I'm guessing there are few more out there. If so hurry up."

In today's Forums,morrisford explains the status of Project Wonderland's scripting module in Re: Something maybe simple but essential. "The scripting support is now fully in a module and does not require any core WL support. That makes it possible to have the whole release in the 'module' that I will be putting into the module incubator place in the next few days. That will allow anyone running a source version to insert the scripting module into the wonderland-modules directory structure, compile and run. I have Windows, Ubuntu, Mac and Open Solaris environments and plan to create and host binaries for at least the first three as time permits."

Responding to news that Adobe still hopes to bring Flash to the iPhone, sfitzjava asks So what is Sun doing about JavaME on the iPhone? "Well there has not been any real content posted here so I figured I might ask this question. With Adobe spending time and resources to put the Flash player on the iPhone and announcing it , where is Sun with porting Java SE or ME onto the iPhone? While Sun and Adobe have both had their respective VM products (Java/Flash) stated as items that will NOT be allowed or supported on the iPhone/Touch, it would seem that Adobe paid no heed to that warning. Has Sun done the same??? Last I heard some developers in their spare time jailbroke an iphone and had a PhoneME version running on it. Kudos to them. However what investment, pressure, talks or discussions has Sun been a part of with Apple to see if we (Java Mobile Developers) have a place in their app store or on the device?"

Finally, tarquin is looking for some serious Java Swing Editor Components. "I'm after a Java Swing text editor component that supports undo and redo and, ideally, even line numbers and line selection/highlighting. I've fiddled with JTextArea, JTextEditor and googled for other stuff, but nothing is working for me. Any suggestions?"

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.

Surprising developments from the JVM Language Summit  

Filter Blog

By date: