Welcome to the Working Week

Some projects are so useful at providing a basic function, it's easy -- far too easy -- to take them for granted. For example, think of how ubuiquitous log4j is, or at least was until Java 1.4 finally gave us a built-in logging API. Same goes, in certain realms, for Doug Lea's util.concurrent, which proved so useful that it drove J2SE 5.0 to adopt a very similar concurrency API.

Let me call your attention to another widely useful framework, featured
in this week's Spotlight:

the Quartz project, part of the OpenSymphony collection of Java Enterprise components, offers a full-featured job scheduling system that can be integrated into a wide variety of J2SE and J2EE applications, regardless of size. Quartz allows you to schedule tens of thousands of tasks, and its advanced features include clustering and participation in container-managed transactions. Quartz is used by thousands of developers, driving both commercial applications and open-source projects.

In today's Weblogs.
Eamonn McManus passes along some Good advice for coding listeners:
"The consistently excellent Brian Goetz has written a new article in his Java Theory and Practice series entitled 'Be a good (event) listener'. Since listeners are an important part of the JMX API, here's how his advice applies there."

Jacob Hookom says It's Coming... [Very] Soon:
"I was ecstatic over the interest in JavaServer Faces at JavaOne. There were a few talks on the new web tier alignment and where the JSF platform is heading for JEE 5, this is a short follow up to help answer some of the questions I've been reading online."

When engineers (sort-of) read licenses - a cautionary tale comes from Tim Boudreau, who writes:
"My week began with a licensing discussion. While those tend to be endless, this one, I hope, can be finite. It started when Elliotte Rusty Harold wrote in his blog that NetBeans did not seem to be open source. NetBeans is open source, but I think the debate makes for a cautionary tale - one in which I'm as guilty as anyone of not reading carefully. The silver lining is we'll be getting rid of the obnoxious click-through license on the NetBeans download page."

"Until recently, web service interactions were solely synchronous and request-response in nature. However, it soon became clear that the synchronous request-response type of interaction is a very small subset of messaging scenarios. Messaging is very important in constructing loosely coupled systems, and as a result, this limitation is critical." With this, Srinath Perera and Ajith Ranabahu explore the many forms messaging interactions can take, and in Web Services Messaging with Apache Axis2: Concepts and Techniques, they show how complex messaging scenarios can be built up from Axis2's two simple paradigms: fire-and-forget and request-response.

Now in its second milestone build, AspectJ 5 is a big leap forward for aspect-oriented programming on the Java platform. A major focus of AspectJ 5 is on providing support for the new Java language features introduced in Java 5, including annotations and generics. In addition, the language contains new features not tied to Java 5, such as an annotation-based style for writing aspects, improved load-time weaving, and a new aspect instantiation model. In AOP@Work: Introducing AspectJ 5, Adrian Colyer, lead developer on the project, introduces you to both the AspectJ 5 language and the release containing the AspectJ compiler and associated tools.

In today's Forums,abies has some adviceRe: Drawing 700.000 lines
Use GeneralPath to preconstruct your lines and paint in one big batch. If your data is static, leave the GP and reuse it later, if not, you can still use same GP to fill it with new data. Be sure to specify initial capacity to GP. First try to do it with one big GP and check the performance improvement. Then, please try to do it in smaller batches - 16,32,64 lines per batch. I remember that few years ago, using one big batch was best for normal lines and 32-line batch was best for antialiased lines. GP should probably give you 4-5 times speedup.

In the Mobicents forum, maretzke has kicked off a discussiona aboutSkype RA ...: "Hey all, did some 'analysis' on Skype and their (what they call) API. I thought about a resource adapter that "talks" Skype. This could be useful to build a gateway between e.g. Skype and SIP. However, the Skype protocol today is quite limiting and the programming capabilites as well. Did somebody else spend already some thoughts on this?"

Registered users can submit news items for the
href="http://today.java.net/today/news/">java.net News Page using our news submission
form. All submissions go through an editorial review before being
posted to the site. You can also subscribe to the
href="http://today.java.net/pub/q/news_rss?x-ver=1.0">java.net News RSS
feed.

Registered users can submit event listings for the
href="http://www.java.net/events">java.net Events Page using our
href="http://today.java.net/cs/user/create/e"> 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 java.net it will be
archived along with other past issues in the
href="http://today.java.net/today/archive/">java.net Archive.