Skip navigation

This past week's java.net poll indicates that two of the biggest java.net projects, OpenJDK and GlassFish, are considered most important among all java.net projects, as we head into the future. A total of 416 votes were cast. The exact question and results were:

What's the most important java.net project going forward?

  • 29% (119 votes) - GlassFish
  • 8% (34 votes) - Hudson
  • 0% (2 votes) - OpenDS
  • 2% (9 votes) - OpenSSO
  • 51% (211 votes) - OpenJDK
  • 2% (10 votes) - Other
  • 7% (31 votes) - I don't know

There were two comments posted to the poll. When I saw the first comment, "Unfair Poll", which was posted by suhail, I wondered if the poll was in some way offensive, and if I should close it. Here's suhail's comment:

I think this poll is quite unfair. Because I actively use first five of the choices in various projects and each of them have their own community if you follow the mailing list. Since their in zero overlap between the choices, in essence what you are doing is performing a poll on the developers involved. And i find it quite hard to believe that you didn't already know that the JDK project would be your number one project

After reading this comment many times, and thinking about it, I decided it was OK to let the poll continue. I don't think that the only people who vote in a poll like this are necessarily participants in one or more of the project communities. So, I don't think that the vote totals for each project will be directly correlated with the number of developers who work on each project (if that's what suhail was implying). One can be an avid user of Hudson and think it is a great tool, and not use GlassFish at all -- but still think GlassFish is overall a more important project going forward.

I, like suhail, guessed that OpenJDK would probably win the most votes. However, I don't know that I would have selected OpenJDK myself, had I voted. Java is a quite mature language, with an enormous installed base. In terms of importance for the future, how much of a difference will the next set of JDK enhancements make for Java developers? Are the changes that are being worked on for the Java language itself likely to be more world-changing in the next five years than the emergence of GlassFish as both the Java EE 6 reference implementation and the Oracle-supported application server for smaller installations? And what about Hudson? Might it become the focus point for a revolution in software engineering, and beyond that, diversified process automation and control (for example, Hudson can monitor cron jobs)?

In the other comment, nathanlee asked "Netbeans?" and said "Anything and everything netbeans is my vote.. Then glassfish." Well, I certainly agree that NetBeans is an important project, and, as with GlassFish, Oracle has stated that NetBeans will continue to be supported (as a lightweight IDE with a focus on Java EE, Java ME, scripting, and mobile development). However, the NetBeans project is not hosted on java.net (though we do have a java.net NetBeans Community). So, that's why NetBeans wasn't one of the poll options.

By the way, every project in the poll has been cited by Oracle for continued support going forward. So, you could say that Oracle has "voted" for all the poll options.

New poll: your java.net participation

Our new java.net poll asks In what ways do you participate in the java.net community?Voting will be open for the next week.


In Java Today, Dustin Marx provides comments and overview in Oracle/Sun: The Deal Has Closed page:

"Oracle has finalized the Sun transaction and the deal has closed." The above statement can be found on the Sun and Oracle: Overview and Frequently Asked Questions for the Developer Community page. Besides this simple but definitive statement, the page includes some answers to some of the early questions Java developers might have about Java under Oracle. Questions asked cover subjects such as Sun's Java development network pages, Java.net,future of JavaOne, and more...

Arun Gupta highlights the GlassFish strategy by Oracle+Sun:

Hear Hasan Rizvi, Senior Vice President, Oracle Fusion Middleware, talk about GlassFishin Oracle and Sun Application Server Strategy webcast. The first part of the webcast is about the overall strategy and then the GlassFish part starts around 5:23 in the video...

Geertjan Wielenga thinks Wouldn't it have been cool if Oracle had said... :

Wouldn't it have been cool if Oracle had said the following, sometime during all those announcements yesterday: "The NetBeans Platform is very important to a lot of our customers, who are actually building their products on top of the NetBeans Platform. We want to make that the best platform that we can for doing that for you." If Oracle had said that...

In today's Weblogs, Markus Karg is happy to have Finished my new web site:

So finally, after endless nights, my new web siteHead Crashing Informatics is finished. Learned a lot on XHTML and CSS by coding it completely by hand (yes, really, did not use any design tool, as I love to code and always want to see what's going on behind the scenes). In the future you'll find my latest stuff there, research results, code snippets, background information on my projects, and certainly my products (like Database Schema Viewer). Btw, even I am not a professional designer, I think my new web site looks much better than the new Sun -sorry- Oracle web site...

Jan Haderka writes about Multi-site support in Magnolia:

Yet another week of development is nearly over (at least for me). What was this week all about? Apart from the really low temperatures outside (on Tuesday it was -24C at 4am), I focused mainly on extending the multi-site support in Magnolia. This feature exists for years already. But what it really means in context of Magnolia? In general you can setup the server to run mulptiple domains and you can configure such server to redirect to different subtree respective to what domain was the incoming traffic directed. The Magnolia part of the multi-site support allows you to assign different site (and theme) to each such subtree...

Joerg Plewe talks about Bundle-Bee - transparent, grid-distributed OSGi computing:

In my famous company innoQ I currently have the opportunity to work on a real cool tool: Bundle-Bee. It claims to be able to take any OSGi bundle and distribute the computational load to an ad-hoc grid (e.g. all machines in an office) without special setup or configuration.

 

We just released version 0.5.3 which is still very restricted and far from feature complete - we don't even know what feature completeness might mean - but is already quite useful when it comes to doing computationally intensive things. Like fractals...


In the Forums,samlclient_user has a Metro/JAXB Issue with Validating Reference in signed SAML assertion: I've created a SAML 1.1 assertion using the SAMLAssertionFactory in the package com.sun.xml.wss.saml. Then I use the Assertion class's sign method to sign the assertion. On the server side, when it tries to verify the message, it cannot validate the Reference inside the SAML assertion. The problem is that the digest value's don't match...

eduardomartins announces Mobicents JAIN SLEE 2.0.0.CR1 released!: Hi everyone, "just" announcing the release of Mobicents JAIN-SLEE 2.0.0.CR1, the candidate release of the second generation Mobicents JAIN SLEE container, compliant with JAIN SLEE 1.1 specification, and built on top of JBoss AS 5.1.0.GA. This release took longer than expected, due to extensive testing done by the team, but we couldn't be more happier with the results, we are very confident it won't need another CR release and will make the first GA available in 2 weeks...

In the GlassFish WebTier forum, nzinoviev has questions on JSF 2.0.3 and composite attributes "required" validation: Hi! Yesterday we tried switching from JSF 2.0.2 snapshot to 2.0.3. We ran into several issues, here's the most unexpected one: I have declaration...


Our current Spotlightis Janice Heiss's interview with Java Champion Adam Bien on JavaFX. Adam's opening statement: "Good UI controls and layout are the key to success. JavaFX was very strong from the beginning in effects and graphics. It was, however, initially lacking in good, "skinnable" components, but this was fixed with version 1.2. JavaFX requires writing less code while it integrates very well with existing business logic written in Java. A reason to go the JavaFX route is better maintainability, and faster development with less code..."


This week's java.net Poll asks In what ways do you participate in the java.net community?Voting will be open through the end of next week.


We've just published a new java.net Feature Article, Maven Repository Managers for the Enterprise, by John Smart. We're also featuring Jeff Friesen's Reading Newsfeeds in JavaFX with FeedRead, in which Jeff demonstrates how to apply JavaFX's RSS and Atom newsfeed capabilities to create a snazzy little JavaFX app that can run stand-alone or in a browser.


The latest Java Mobility Podcast is Java Mobile Podcast 92: MIDP 3.0 in Depth: Tutorials and Demonstrations: Excerpts from the JavaOne 2009 MIDP 3.0 In Depth: Tutorials and Demonstrations session with Roger Riggs, Lakshmi Dontamsetti and Stan Kao.


Current and upcoming Java Events:

Registered users can submit event listings for the java.net 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 java.net it will be archived along with other past issues in the java.net Archive.

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

Yesterday, I watched the Oracle + Sun Strategy Update Webcast. It was certainly a surprising event -- surprisingly positive for the future of Sun and Java/JVM technologies, in my view. The promises Larry Ellison made at last year's JavaOne have been effectively redoubled in a way I myself could not have expected. The plan and expectation really is that Sun will quickly become a very profitable group within Oracle. And Java technologies will receive significant new investment -- not because investment in Java is expected directly to earn Oracle profits, but because the real money from Java is made through middleware sales, and in order for Oracle's middleware products to remain top notch, highly-scalable, state of the art, etc., the Java/JVM platform must move forward. Stagnation of the Java platform is not an option.

These are some of the things I heard while watching the webcast. For those of you who didn't have the opportunity to view the webcast, see my little Sun + Oracle Strategy Links (from Twitter) post.

I tweeted during the webcast (isn't that the only way to cover live technology events today?). Here are my tweets from the webcast (in time-forward order):

  • Oracle + Sun webcast: a big focus on "We're hiring!" - across the board: sales, Solaris development, engineering new chips...
  • "we're hiring!" -- the perfect statement for immediately building confidence among both customers and employees.
  • JavaOne will become a global, travelling conference: U.S., Brazil, India, ...
  • Oracle/Sun will invest in the Java developer community as well as specific Java technologies
  • Java SE 7 goals: multiple languages, mulit-core support. Oracle JRockit will be applied/integrated with HotSpot.
  • evolve Java EE 6: profiles important for customization; GlassFish will continue to be the Java EE reference implementation
  • WebLogic will continue to be the high-end app server for enterprise sales
  • Java ME: unify ME APIs with Java SE APIs; runtime optimization; optimize power consumption; focus on ME operability on different platforms
  • different JVM models based on platform (enterprise, ME, etc.)
  • significant investment in JavaFX; focus on designers; fusion of DHTML, JavaScript, Java, JavaFX capabilities within browser environment
  • NetBeans continues as Lightweight IDE: focus on Java EE, ME, scripting; mobile development; reference implementation IDE for Java EE
  • Hudson makes the presentation; will also be integrated with JDeveloper; Eclipse also remains important
  • EE / GF enhancement: microkernel support; non-blocking I/O; Metro; lightweight, rapid development and deployment
  • WebLogic: remains focus for enterprises; WebLogic and GF will share technologies. SOA: Open ESB will continue to be supported, among others
  • OpenSSO will see continued investment; OpenDS will be maintained.
  • speaking of Sun/Oracle, I'm right now remotely logged into a Solaris machine enhancing an app whose data flow is managed by an Oracle db
  • Oracle will hire 2000 people, and only about 1000 will be laid off, as part of the merger consolidation
  • arry highlights tape archive/backup as being very important (it is in the data center I work in, certainly)
  • Forrester: can Oracle make more money from Java? Larry: where revenue comes from is less important than the fact that $ is made
  • Larry: Java makes money mostly through sales of middleware. Hence, it's critical to continue to develop and enhance Java.
  • Oracle's presence in the phone / devices realm will be the Java software that phones/devices run on
  • Larry humorous on the "cloud computing" phrase -- today everything is "cloud computing" so how can you possibly be against it? I agree!
  • Retweet from oracletechnet: Ellison: The only thing new about cloud computing is the word "cloud" - it's just a computer attached to the Internet
  • Oracle sure is punctual: a major 5-hour event starts and ends within a few minutes of the publicized times!

Also, developers should take a look at the new Sun Oracle Overview and Frequently Asked Questions for the Developer Community page, which OTN (Oracle Technology Network) leader Justin Kestelyn (@oracletechnet) pointed me to last night.


In Java Today, Justin Kestelyn of the Oracle Technology Network pointed me to the new Sun and Oracle: Overview and Frequently Asked Questions for the Developer Community page:

Oracle has finalized the Sun transaction and the deal has closed. The combination of Oracle and Sun transforms the IT industry and will provide significant benefits and opportunities for the developer communities of the combined companies. For example, the combination of the Sun Developer Network (including java.sun.com), BigAdmin, and the Oracle Technology Network will result in the largest, and most diverse, community of Developers, Database Administrators, SysAdmins, and Architects. The richness and diversity of these communities will truly be remarkable. We know that you have many questions, and some of them we can answer now. We're also committed to providing updates regularly as more information becomes available. Note that the FAQ below is designed around developer community continuity specifically...

JavaFX expert Jim Weaver also watched the "Sun + Oracle Strategy" webcast, and posted notes and commentary in Oracle/Sun Strategy: We will invest heavily in JavaFX:

Today was a busy interesting day for lots of my fellow geeks (like you, perhaps) in that I found myself listening to two webcasts at the same time: The Apple iPad announcement, and the Oracle/Sun Strategy announcements.  Being a JavaFX developer, I was particularly interested in the extent to which Oracle is going to embrace JavaFX (and how much crow I would have to eat from my April 21, 2009 What, Me Worry post)...

Toni Epple did something I wish I'd thought of as I watched today's Oracle + Sun Strategy Update Webcast -- he used his system's screen capture facility! His Oracle & NetBeans post includes the slide about NetBeans, JDeveloper, and Eclipse:

Here

Late last night, after I posted new content on the java.net home page, I was wandering the corridors of the java.net projects space. On the one hand, I was looking for tools that I might be able to bring into an experimental project I've been considering, a kind of reinvention of the financial mathematical modeling that has occupied varying amounts of my spare time since 1986. I'd build the reinvention by integrating old (and, ultimately, new) mathematical/analytic formulas with important Java/JVM technologies that are present in java.net projects, that could be useful in my project. Then, I'd also write blogs and articles about how I used the technologies, adding to the wealth of available documentation. I've done this before -- see Porting a Project from Visual Studio .NET to Mono and Analyzing Statistics with GNU R, for example.

But, as I did this wandering, I was struck by the complexity of some of the larger projects and tools -- for example Hudson, Jersey, Shoal, Grizzly. By complexity, I don't necessarily mean that implementing and using these projects is difficult. I don't mean that at all. What I'm referring to is the breadth and scope of the problems that the projects undertake to solve, and their success at addressing the multitude of situations that an enterprise-level application must successfully address.

For example, look at the Jersey 1.1.5 User Guide. I look at that, and what I see underneath it all is an application that contains painstakingly developed code intended to address all the problems and situations that are discussed in the documentation, from MIME types, to URIs, POST and GET, XML and JSON, JAXB bean implementation. The User Guide itself occupies 51 pages when I do a quick cut and paste from the HTML into OpenOffice Writer. The user manual alone is the product of a significant effort. How much more effort, then, has gone into the Jersey software itself to date?

Then I looked at Hudson, and was surprised to find how much bigger and broader its capabilities are than what I had previously thought. For example, I didn't know Hudson can be applied to monitoring cron job execution and output, external jobs, etc.

Meanwhile, Shoaladdresses a problem dear to my heart: clustering and fault tolerance, reliability and availability. And Grizzly applies the Java NIO API to facilitate the development of scalable server applications, by solving thread management issues that had previously made it impossible to scale to thousands of users on a single server.

This is all great work! As I said yesterday, I really am curious about the details of how these capabilities have been implemented at the code level. When you've spent 30 years developing software, you tend to want to see the details of how difficult problems were solved...

Turning to today: in a few minutes, I'll be watching the Oracle + Sun Strategy Update Webcast. It's going to be interesting to see how the strategy is stated. I mean, this is primarily directed at customers, so I don't know that there will be much focus on Java -- though the webcast outline does mention Java. Bullet 4 (the last item) tells us that Oracle + Sun will:

Continue to drive innovation in SPARC, Solaris, the Java platform, and many other technologies

What I saw in my roaming last night was a glimpse of the enormous effort that Sun and non-Sun developers have put into creating the very significant code base that is present in the java.net Projects space. That represents a wealth, and a legacy, going forward -- no matter what the market-driven future brings.

Thinking of that future, I like what Amy Fowler said in her most recent blog post, heart and soul. Amy has been with Sun since college. Here's her first Sun badge:

Of those days, Amy says:

Sun was 6. I was 22. I chose Sun because it seemed like networking might be important for the future. We were battling IBM, DEC, and HP, and feared that Windows NT would be the death of Unix. Apple's future seemed bleak. Let that be a lesson to anyone who thinks they know what the future holds in this business.

Very well stated!

To the future! Cheers!


In Java Today, James Sugrue interviews Paul Duvall in Continuous Integration Refcard Released: Meet The Author:

This weeks refcard covers Continuous Integration: Patterns and Anti-Patterns with tips on how to get started using continuous integration techniques in your project. I spoke with Paul Duvall, author of the refcard and CI expert about the benefits of continuous integration. Paul also outlines a set of tools that he recommends to get going with CI...

Java Champion Jim Weaver writes about an interesting JavaFX data visualisation app by Nik Silver:

Because of its rich UI capabilities, one very natural and powerful use of JavaFX technology is data visualization.  In today's post I'd like to highlight the JavaFX applet that Nik Silver created to visualize and navigate news.  Nik's app accesses the Guardian Open Platform API from Guardian News and Media Limited, and presents it in the bubbles-style interface shown below...

The Java ME SDK Team Blog answers the question, Where are my logs .. ?:

It is nice and polite when application writes log. Especially when something went wrong it can help to track down the source of problem. JMESDK has several components which produce their own log files. Here they are: Device-manager* This is core component for the product. It starts automatically and registers all devices and emulators. Since all communication goes through device-manager...

In today's Weblogs, Amy Fowler puts her original Sun badge on display in her post heart and soul:

Though I've yet to receive my red pill or my blue pill, I cannot let this eve pass without a formal farewell to the company I've called home since college. Just the other day I came across my original Sun badge while cleaning out an old box ... Sun was 6. I was 22. I chose Sun because it seemed like networking might be important for the future. We were battling IBM, DEC, and HP, and feared that Windows NT would be the death of Unix. Apple's future seemed bleak. Let that be a lesson to anyone who thinks they know what the future holds in this business...

I wrote a small post about the Java Tools Community Tweets from Campus Party Brasil:

As I noted last week, the java.net Java Tools Community is attending and tweeting from the Campus Party Brasil event this week. Now, in my post last week, I pretended the event was just going to be a fun-filled affair. Now that the tweeting has begun, I decided to check in on the feed. Here's a sampling of the Java Tools tweets from Campus Party Day One (in time forward order): You can watch Campus Party presentations live at http://tv.campus-party.org/ . Most of the talks are in Portuguese, though...

Kohsuke Kawaguchi talks about the new MSI installers for Hudson:

I've finally managed to produce the Windows installer for Hudson, as originally raised by Håkan Reis. Please try it out and let me know how it works. This one took much longer than the installer for any other platforms, and while I normally think of Microsoft technologies very highly, Windows installers and WiX are a real disappointment. For example, you write the description of the installer in XML, but the language design is such that you need to write an ID for various XML elements...

In the Forums,mozste has a Blu-ray Disc Java question on https setup?: hi all, I have a question about usage of https protocol from xlets. Very basic question, in fact: has anyone successfully done it? Is there anything that needs to be configured prior to open the connection to an https URL? I'm asking because i tried to open some https urls from an xlet ...

In the Java SE forum, yoss writes about a Network communicator (HashMap) problem: Hello. I'm writing a network communicator. At the moment infinity number of clients can connect and write text to server. When server receive any message it sends it to all connected at this moment clients. Now, I want to make a comunication between two clients. I'm using name of user for identification (for now). I heard, that to make such communication, first of all I have to put into HashMap key...

In the OCAP-RI Users forum, eelliott is having problems with network access: I am new to OCAP development and I'm trying to understand how to access an http URL with a URLConnection in an unbound xlet, using OOB communication (as a starting point). I have two related groups of questions: 1 - How does the xlet signing process work for OCAP? ...


Our current Spotlightis Janice Heiss's interview with Java Champion Adam Bien on JavaFX. Adam's opening statement: "Good UI controls and layout are the key to success. JavaFX was very strong from the beginning in effects and graphics. It was, however, initially lacking in good, "skinnable" components, but this was fixed with version 1.2. JavaFX requires writing less code while it integrates very well with existing business logic written in Java. A reason to go the JavaFX route is better maintainability, and faster development with less code..."


This week's java.net Poll asks What's the most important java.net project going forward?. Voting will be close on Friday.


We've just published a new java.net Feature Article, Maven Repository Managers for the Enterprise, by John Smart. We're also featuring Jeff Friesen's Reading Newsfeeds in JavaFX with FeedRead, in which Jeff demonstrates how to apply JavaFX's RSS and Atom newsfeed capabilities to create a snazzy little JavaFX app that can run stand-alone or in a browser.


The latest Java Mobility Podcast is Java Mobile Podcast 92: MIDP 3.0 in Depth: Tutorials and Demonstrations: Excerpts from the JavaOne 2009 MIDP 3.0 In Depth: Tutorials and Demonstrations session with Roger Riggs, Lakshmi Dontamsetti and Stan Kao.


Current and upcoming Java Events:

Registered users can submit event listings for the java.net 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 java.net it will be archived along with other past issues in the java.net Archive.

-- Kevin Farnham
O'Reilly Media

Today I had some trouble selecting just one topic to blog about, so I'm giving in and highlighting two items on today's java.net home page: Joe Darcy's What is the launcher? and Ramesh Parthasarathy's REST'ing @ SailFin CAFE.

Lately, I'm finding interesting documentation of how things work "under the hood" -- for example, Adam Bien's description of the address space utilized by JavaFX, in his interview with Janice Heiss, which I wrote about yesterday. If you're in a position like mine, where your job is to survey the breadth of what's happening in the Java/JDK world, you can end up having a somewhat superficial awareness of a great many technologies, knowing the most publicized facts, but not really understanding how the technology works on the inside, how all those great publicized capabilities were actually implemented at the code level.

Yet, I've spent three decades working in that interior, low-level coding, development realm. So, I find knowing just the shiny exterior facts such as appear in announcements of new releases frustrating at times. I find myself wanting to grab some code and run with it, make some demo apps, and see what it's really like to work with these new technologies. Indeed, I am planning to do that, and write some genuinely technical blogs, and perhaps some small articles, soon!

Anyway, it's that curiosity about how things work on the inside that piques my interest in Adam's JavaFX statements, Joe Darcy's depiction of the Java launcher, and Ramesh's description of SailFin's REST API.

Java's "run anywhere" capability is obviously made possible by the Java Virtual Machine, which creates an operational platform that is consistent across various operating systems and hardware types and configurations. The launcher is a piece of C code that runs on the native platform and launches the JVM. Joe Darcy, who was the lead launcher maintainer for JDK 1.4.2 through JDK 6, describes it this way:

One surprisingly tricky piece of the Java platform is the launcher, the set of C code that uses the JNI invocation API to get the JVM started and begin running the main class. While conceptually simple, the launcher is complicated by straddling the boundary between the host system and the JVM, often wrestling with native platform issues like thread configuration that need to be managed before starting the JVM. The launcher's tasks include selecting which VM to run (client, server, etc.) and running in the requested data model, 32-bit or 64-bit.

Joe closes his entry by noting that Kumar Srinivasan, who took over launcher maintenance for JDK 7, has fixed "a long-standing launcher flaw concerning the Unix exec system call andLD_LIBRARY_PATH." Just last week I was debugging a problem involving exactly those areas, in a C application that seemed to suddenly stop working after a Solaris operating system was patched. So, I'll be interested in reading the upcoming post about Kumar's fix that Joe promises.

Meanwhile, Ramesh Parthasarathy blogged about how SailFin CAFE facilitates communication management through its REST API:

Converged (Http/SIP) applications gives users the flexibility of creating or accessing information about their communications (call/conferences/im ...) over the web. To make this possible a typical converged application would contain an entry point for all the Http requests, which is mostly an Http Servlet... From a developers perspective its desirable if the converged application development framework provides a means of exposing these common tasks rather than having to write a htttp servlet for it. It also helps if these are exposed as an API, that is portable as well as open standards compliant.

SailFin CAFE solves this problem by exposing these through a REST API. When a CAFE application is deployed (with some information added to web.xml descriptor), all the regular tasks of creating and managing the communication are exposed as REST URIs and the required resources provisioned automatically. Build v1-b24 of CAFE comes with REST resources implementation of Call and Conference.

Kumar then provides an example web.xml deployment descriptor, states that "the REST resources are implemented using the Jersey JSR 311 (Figure 2) implementation that is bundled with SailFin," and provides links to more information. A very interesting and informative post!


In other Java Today news, Geertjan Wielenga has found 40 NetBeans Platform Projects on Kenai.com:

I wandered around Kenai.com the other day and came across this very interesting tag: http://kenai.com/projects_tags/netbeans-platform. Click that link and find yourself in the midst of a great set of NetBeans Platform projects. Sure, some of them are plugins for NetBeans IDE, but many others are fullblown NetBeans Platform projects. Here are some interesting titles, just snapshots of the whole collection, randomly from the first few I saw there...

Dennis Gesker reviews the new book "Glassfish Administration" by Xuekun Kou:

"Glassfish Administration" by Xuekun Kou is accurate, concise and useful. Computer manuals comprise an odd segment of the publishing industry. I suppose that this is because the books published in this segment generally have both a narrowly defined audience and scope and a short window of usefulness driven by the speed of evolution of the products they seek to address. This, sadly, seems to result in books of this kind falling into two general categories...

In today's other Weblogs, John Reynolds asks Is Go a Java replacement?:

Is Go a Java replacement? Of course not, but I do wonder what Google's up to...

And Erik van der velden announces [CAFE] UserProcedures integrated in trunk:

Last week we have merged the userprocedures branch into the trunk of sailfin-cafe. This blog will give a bit of background on what the userprocedures are, how they work in generally and what you can expect in the future. There will be some separate blogs highlighting the different procuedures individually...

In the Forums,icordoba is having a Problem deploying same SSB class in different apps on Glassfish v3: Hi there, I need to deploy multiple apps in the same glassfish instance (v3) previously working on JBoss. I am having the following naming exception: Caused by: javax.naming.NameAlreadyBoundException: Use rebind to override ...

nicolasnn has a question regarding Pipes between different networks: hi!! I just started working with JXTA and am a bit lost. I've read some tutorials and I've seen some examples but I have a question. I'm looking at the examples...

In the LWUIT forum, raki_j2me asks How to increase Menu's Height in order to fit menu items ?: Hi Guys, I have a lot of menu items and i cannot use the concept of Sub-Menu's because they are all very different, so i tried this :-UIManager.getInstance().getLookAndFeel().setTouchMenus(true)...


Our current Spotlightis Janice Heiss's interview with Java Champion Adam Bien on JavaFX. Adam's opening statement: "Good UI controls and layout are the key to success. JavaFX was very strong from the beginning in effects and graphics. It was, however, initially lacking in good, "skinnable" components, but this was fixed with version 1.2. JavaFX requires writing less code while it integrates very well with existing business logic written in Java. A reason to go the JavaFX route is better maintainability, and faster development with less code..."


This week's java.net Poll asks What's the most important java.net project going forward?. Voting will be close on Friday.


We've just published a new java.net Feature Article, Maven Repository Managers for the Enterprise, by John Smart. We're also featuring Jeff Friesen's Reading Newsfeeds in JavaFX with FeedRead, in which Jeff demonstrates how to apply JavaFX's RSS and Atom newsfeed capabilities to create a snazzy little JavaFX app that can run stand-alone or in a browser.


The latest Java Mobility Podcast is Java Mobile Podcast 92: MIDP 3.0 in Depth: Tutorials and Demonstrations: Excerpts from the JavaOne 2009 MIDP 3.0 In Depth: Tutorials and Demonstrations session with Roger Riggs, Lakshmi Dontamsetti and Stan Kao.


Current and upcoming Java Events:

Registered users can submit event listings for the java.net 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 java.net it will be archived along with other past issues in the java.net Archive.

-- Kevin Farnham
O'Reilly Media

Adam Bien is well-known for his Java EE expertise -- but, that doesn't mean he refrains from exploring technologies that are emerging in other tiers within the Java world. This is proven by his just-published interview with SDN technology writer Janice Heiss, "Java Champion Adam Bien on JavaFX". We're featuring the interview as this week's java.net Spotlight.

Janice starts the interview by asking Adam if he agrees with Josh Marinacci's statements about the most important features of JavaFX:

Josh Marinacci lists the five most important features of JavaFX 1.2 as: Linux and Solaris support; UI controls and layout; easy-to-use chart types; new support in JavaFX common profile in the form of better persistence, RSS and Atom data feeds, and easier task implementation; and finally, better speed regarding memory usage, startup time and graphics performance. Do you agree? How do these improvements enhance possible uses of JavaFX?

Adam's response:

Good UI controls and layout are the key to success. JavaFX was very strong from the beginning in effects and graphics. It was, however, initially lacking in good, "skinnable" components, but this was fixed with version 1.2. JavaFX requires writing less code while it integrates very well with existing business logic written in Java. A reason to go the JavaFX route is better maintainability, and faster development with less code.

I found this description from Adam on memory domain within which JavaFX runs interesting:

JavaFX runs on top of a JVM and shares the address space with ordinary Java objects. POJOs can be directly accessed "per reference". You could, for example, implement in Java, JPA 2.0 and Derby DB the access to local persistence. The JPA entities can be easily accessed and manipulated by the JavaFX UI. There is no latency penalty in such a configuration -- the JavaFX UI has in-memory access to rich domain objects. Validation messages and state change are immediately visible in the UI. JavaFX eliminates lines and lines of boilerplate code, which, in turn, makes complex applications easier to maintain.

The interview continues with coverage of:

  • JavaFX scene graphs
  • opportunities for applying JavaFX in desktop, browser, and mobile applications
  • the JavaFX Production Suite Authoring Tool
  • Superfluous GoF patterns (with code examples)

It's always interesting hearing Adam Bien's insights on what's happening in the world of Java and technology in general. I didn't expect, though, to find him thoroughly investigating JavaFX. If you're interested in Adam's views on JavaFX, see the complete interview over on the SDN site.


In Java Today, James Gosling decides OK, it's time to look forward...

Enough of being maudlin, it's time to look forward to being a unified company: Sun + Oracle = Snorcle?

Kirill Grouchnikov talks about Custom component states in Substance 6.0:

Today i

This past week's java.net poll, which was somewhat playfully suggested to me by Java Champion Adam Bien viaTwitter last week, had the result that I expected: NetBeans is developers' favorite Oracle/Sun supported IDE, with JDeveloper trailing by a long margin.

In case you don't know, Adam Bien really likes NetBeans. In September he wrote a post, Why Oracle Should Continue to Push NetBeans, that drew wide readership (and 28 comments thus far). So, that's part of why he told me he considered such a poll "somehow relevant."

Getting back to our poll, a total of 561 votes were cast, making this one of the more popular recent java.net polls. The exact question and results were:

What is your favorite Oracle/Sun supported IDE?

  • 3% (18 votes) - JDeveloper
  • 77% (434 votes) - NetBeans
  • 2% (14 votes) - They're both good
  • 6% (33 votes) - I don't know
  • 11% (62 votes) - Other

As you can see, the voting indeed was not close.

The two comments that were posted were both related to the "they're both good" option. jwenting said "It's hard for me to decide which of them I like least, which would automatically make me like the other better."

On the other hand, melbeltagy considers both IDEs good, while also partially criticizing the premise of the poll:

It's not a matter of which one is better or which one I like the most. Each one of them serves a specific category of products. I mean that JDeveloper is the best IDE for the current Oracle products (Oracle DB, JBoss, and Oracle SOA suite, etc). On the other hand, NetBeans is the best IDE for Glassfish, MySQL, OpenESB, etc.. If this poll would be used for any reason in the decision, which I hope not, of which IDE would Oracle continue supporting; this would be wrong. In my opinion, Oracle/Sun should support and continue using Glassfish/JBoss, OracleDB/MySQL, JDeveloper/Netbeans, and the rest of the software stack that Sun currently supports and which we have no clue what would happen to them.

All very good points, in my view. In defense of our poll, I'll just say that java.net polls are not intended to influence any decision-making process whatsoever. And I don't think anyone -- Oracle, or even an individual developer -- would make a decision relating to JDeveloper or NetBeans based on this poll.

To reiterate, java.net polls are voluntary surveys, not scientific samplings of the developer community. Their results are suitable for casual discussion, but cannot be said to represent hard facts. Primarily, in my opinion, java.net polls are largely for fun. Hopefully, they stimulate some thought, and once in a while also some interesting conversation.

Also remember: java.net polls are "owned" by the java.net community, not by the editor. Whenever someone presents an idea for a poll, I try to create a poll based on that idea. I figure that if someone is interested enough in asking the community a question that they take the time to contact me with an idea, then it's my duty to take that proposal seriously, and try to frame it into a new poll as soon as possible thereafter. So, if you have an idea for a java.net poll, please consider submitting it to me, either using our Submit Content form, or by direct messaging me on Twitter, or via some other means.

All of this said, I still think this week's poll serves the purpose that Adam intended: it's an anecdotal statement of why the idea of significantly cutting back on NetBeans support, or dropping the project entirely, should give Oracle some pause: doing so might have some adverse repercussions within the Java community -- not a good thing, and also not what Oracle seeks.

My guess is that Adam hopes Oracle gives these results at least a glance. And I don't see why they wouldn't. But, making a decision based on this poll? Of course not...

New poll: most important java.net project

Our new java.net poll asks What's the most important java.net project going forward? This is partly a response to the sudden movement in the Oracle acquisition of Sun. With Oracle owning Sun (and hence, paying the bills for java.net), is there a specific java.net project that stands out in importance? Voting will be open for the next week.


In Java Today, James Gosling says So long, old friend...:

Terrence Barr points us to the Wall Street Journal story EU Clears Oracle to Buy Sun Microsystems, which tells us:

The European Union's top antitrust enforcer cleared Oracle Corp.'s $7.4 billion takeover of Sun Microsystems Inc. Thursday after an investigation of nearly six months. Competition Commissioner Neelie Kroes gave the deal unconditional approval, opening the door for the technology companies to close the transaction soon. Russian and Chinese antitrust authorities are expected to follow in approving the deal soon, Oracle said in a prepared statement. The U.S. Department of Justice already has cleared the acquisition....

Paul Sandoz announces that Jersey 1.1.5 is released:

We have just released version 1.1.5 of Jersey, the open source, production quality, reference implementation of JAX-RS. The JAX-RS 1.1 specificationis available at the JCP web site and also available in non-normative HTML here. It will be available soon from th e GlassFish v2 and v3 update centers...

In today's Weblogs, Ed Burns posts a Response to Sebastian Hennebrueder's "JSF2 Evaluation and Test" entry:

Back in November, Sebastian Hennebrueder published a detailed, thoughtful, and mostly objective analysis of JSF2. I'd like to use this entry to respond to his entry, which may be found at http://www.laliluna.de/jsf-2-evaluation-test.html. I have excerpted the parts of his article that pertain to my comments here...

Jean-Francois Arcand announces @ MUST \!A = 4\pi r^2 : Atmosphere 0.5 is released (carefully read the start of that title - it's not a typo):

Atmosphere0.5 is released. This release includes many new features like Guice Support, asynchronous request processing, JMS support, JQuery support, Events listeners, etc.. The community around Atmosphere is shaping and we have received many good feedback, which is reflected by the new features added: Guice Support: Now quite simple to integrate with Google Guice using the new AtmosphereGuiceServlet....

Fabrizio Giudici wonders about Jan 27, the D-Day?:

As Terrence just pointed out, UE has cleared the Sun/Oracle deal. And I just read this on the Oracle website: Larry Ellison to Unveil Oracle + Sun Strategy at Company Event on January 27th...

In the Forums,nakoned has concerns regarding Glassfish v3 undeploy under netbeans: Hi, First let me state that the problem I am facing is happening in development environment under netbeans 6.8. Basically, I am deploying the servlet using netbeans (rather than doing manual deployment). Now the servlet spawns a few threads and also opens connection to JMS. When I undeploy the servlet, glassfish states that the servlet was successfully undeployed, but I can still see that it is running (it did not actually kill it). So my question is...

esquilo wants to Sincronize wonderland database with external system ...: Hi people ! Is possible to use external java program to insert data into wonderland database ? For example, create new user and set password retrivied from other system, import textures and set objects on world ? ...

ziff has a Metro and JAXB question regarding Customization - bind an element to another class: I have searched documentation and online materials for a possible solution to this but to no avail. Is it possible to create a customization where I bind data from an element or complex type to another class and thereby canceling the use of this complex type? (Hard to explain what I mean so I'll try with an example also). I have an XML-structure where a surrounding (grouping?) element type has inner elements...


Our current Spotlightis Alexis Moussine-Pouchkine's Testing with the GlassFish Maven plugin and JavaDB Embedded: "Having GlassFish v3 usable in embedded modemade it easy to create a maven plugin with multiple goals (see thisprevious entry). This in turn makes it easy to configure the plugin for maven-driven unit testing. Here's an example..."


This week's java.net Poll asks What's the most important java.net project going forward?. Voting will be open through next Thursday/Friday.


We've just published a new java.net Feature Article, Maven Repository Managers for the Enterprise, by John Smart. We're also featuring Jeff Friesen's Reading Newsfeeds in JavaFX with FeedRead, in which Jeff demonstrates how to apply JavaFX's RSS and Atom newsfeed capabilities to create a snazzy little JavaFX app that can run stand-alone or in a browser.


The latest Java Mobility Podcast is Java Mobile Podcast 92: MIDP 3.0 in Depth: Tutorials and Demonstrations: Excerpts from the JavaOne 2009 MIDP 3.0 In Depth: Tutorials and Demonstrations session with Roger Riggs, Lakshmi Dontamsetti and Stan Kao.


Current and upcoming Java Events:

Registered users can submit event listings for the java.net 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 java.net it will be archived along with other past issues in the java.net Archive.

-- Kevin Farnham
O'Reilly Media

 

The java.net Java Tools Community has announced Issue 209 of the Java Tools Newsletter, the first issue in 2010:

A new edition of the newsletter is available, with news, new projects and tips! If you want to receive the newsletter by email, please subscribe the announcements mailing list - or read the current issue here.


 

This edition leads with news about two conferences that will be attended and covered (via Twitter) by the Java Tools team next week: Campus Party and Jfokus.

Campus Party, which takes place January 25-31, in Brazil, covers "internet, new technologies, social networks, and everything computer related... There are tents, food and a complete infrastructure so geeks can have the time of their lives." Now, in English, the name of this event may sound simply like a great big, well, campus party for geeks. But the Java Tools community assures us that "Java and open source are an important part of the conference." OK, well, I definitely look forward to reading the Java Tools tweets that come out of this one! ;-)

Java Tools team members will also be attending Jfokus, which takes place January 26 and 27, in Sweden. Jfokus is "the largest annual conference for those who work with Java in Sweden" and includes "insightful speakers, remarkable content, plentiful sessions to spark the imagination." On the Jfokus site's training courses page, I see that Kirk Pepperdine will be in presenting a 5-day Java Performance Tuning Workshop that begins during the Jfokus conference. Other headline Jfokus speakers include Nati Shalom, CTO and founder of GigaSpaces; Emily Bache, agile methods and test-driven development expert; and Gillaume Laforge, the Groovy project lead.

http://a1.twimg.com/profile_images/464599908/jfokus_twitpic_bigger.jpg

In addition to following the activities of the Java Tools team at Jfokus via Twitter, you can also follow the Jfokus Twitter user.

The Java Tools Community also plans to be involved in the GeeCON 2010 conference, May 12-14, in Poznan, Poland. GeeCON focuses on "Java-based technologies, dynamic languages, RIA, enterprise architectures, patterns, distributed computing and much more." The call for papersis now open.

Check out Java Tools Newsletter - Issue 209 for more information on Java Tools Communityinvolvement in these conferences and other community news.


In other Java Today stories, Alexismp reports on an EJB 3.1 interview on the GlassFish Podcast:

Adding to the earlier series of JavaEE 6 / GlassFish v3 interviews, the latest episode of the GlassFish Podcast is an interview on EJB 3.1 with Ken Saks, the specification lead and tech lead of the GlassFish EJB implementation. This is a two-part interview with part 1 focusing on the new features of the specification - packaging in WARs, the no interface view, EJB lite, Calendar-based timers, async calls, and more. The second part...

Dustin Marx continues reproducing infrequently-seen Java errors in Reproducing "too many constants" Problem in Java:

In my previous blog post, I blogged on the "code too large" problem and reproduced that error message. In this post, I look at the very similar "too many constants" error message (not the same thing as the question too many constants?) and demonstrate reproducing it by having too many methods in a generated Java class. With a few small adaptations, I can adjust the Groovy script...

In today's Weblogs, due to there being a lot of news I wanted to cover, and the fact that we have only three daily slots for Java Today entries, I posted a couple blogs pointing people to additional items of interest. One post highlighted a ComputerWorld article titled Apache focuses on Java RIA effort, in which author Paul Krill reports:

The Apache Software Foundation on Tuesday is making Apache Pivot, a platform for building rich Internet applications in Java, an Apache Top-Level Project and also is releasing Version 1.4 of the technology, the organization said Tuesday. Pivot combines productivity and usability features of a modern RIA toolkit with the Java platform, according to Apache. Pivot applications, according to the foundation, are written using Java and XML and can be run either as an applet or as a standalone (or offline) desktop application...

I also pointed out Dalibor Topic's latest OpenJDK roundup. Here's the start of Dalibor's post:

The last roundup was two weeks ago, so it's time for another one. The JDK 7 project released build 79. The list of changesfor this build has bug fixes for compressed oops, G1, more work on JSR 292 and build infrastructure for modules. In the Jigsaw project, Mark Reinhold posted a draft for a simple file format for modules. Over in the Da Vinci VM project...

John Ferguson Smart announces his speaking role at Scrum 2010 - the Agile event in New Zealand in 2010:

I'm thrilled to announce that I will be speaking at Scrum 2010 this March in Auckland, Wellington and Christchurch. Scrum 2010 is shaping up to be one of the major agile conferences in New Zealand this year, with the likes of Dr. Jeff Sutherland(the creator of Scrum), Jens Østergaard (the world's first Certified Scrum Practitioner) and Gabrielle Benefield (former Senior Directory of Agile Development at Yahoo!). Not to mention some well-known local celebrities such as Russell Healy,Ian Ross and Sandy Mamoli...

In the Forums,bhanu_srikanth has questions about Video Playback in OpenCable Simulator: I am trying to get an mpeg background video to play in the OpenCable Simulator Frame but so far it has not worked. I am setting the video file name in Channel Properties dialog...

hitekshu finds that the LWUIT Dialog.dispose() does not work every time: Hi, I am showing a dialog by creating an instance and dispose it using a timer. It gets disposed the first time but if i try disposing it again after showing it, it still remains on the screen. The dialog does not disappear...

thomas2004 has A question about JVM activ thread count: I installed the applications on Jboss Application Server which installed on LINUX. I noticed that every time if the so-called jvm-activ-thread-count goes high, the Jboss server will crash. Someone knows why? how can I prevent the jvm-activ-thread-count going high?


Our current Spotlightis Alexis Moussine-Pouchkine's Testing with the GlassFish Maven plugin and JavaDB Embedded: "Having GlassFish v3 usable in embedded modemade it easy to create a maven plugin with multiple goals (see thisprevious entry). This in turn makes it easy to configure the plugin for maven-driven unit testing. Here's an example..."


This week's java.net Poll What is your favorite Oracle/Sun supported IDE?. Voting will end on Friday.


We've just published a new java.net Feature Article, Maven Repository Managers for the Enterprise, by John Smart. We're also featuring Jeff Friesen's Reading Newsfeeds in JavaFX with FeedRead, in which Jeff demonstrates how to apply JavaFX's RSS and Atom newsfeed capabilities to create a snazzy little JavaFX app that can run stand-alone or in a browser.


The latest Java Mobility Podcast is Java Mobile Podcast 92: MIDP 3.0 in Depth: Tutorials and Demonstrations: Excerpts from the JavaOne 2009 MIDP 3.0 In Depth: Tutorials and Demonstrations session with Roger Riggs, Lakshmi Dontamsetti and Stan Kao.


Current and upcoming Java Events:

Registered users can submit event listings for the java.net 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 java.net it will be archived along with other past issues in the java.net Archive.

-- Kevin Farnham
O'Reilly Media

In a recent article on JavaLobby, scalemania asksWhen Will Java Web Start be Production Quality? The article starts out with a folksy portrayal of what Java Web Start (JWS) offers:

Java Web Start (JWS) has always had great potential. With this deployment platform I can reach users such as mom-and-pops who would otherwise have to call their son (me) when they need to download and install something from the internet. Mom-and-pops are not that interested in computers but they know how to write an email and click a link on a webpage. To start a JWS application all they have to do is click a link on a webpage. While the application is being launched it is also cached locally. It can be started offline and updates are detected and installed automatically.

That's all good. As is the fact that Java Web Start peruses the user's system, installing Java SE if needed, and detecting whether extra permissions are needed (in which case, the user is presented with a security dialog).

What's wrong with JWS, in scalemania's view, is poor documentation and the bugginess of central features, along with "strange" implementations of some features.

What prompted scalemania's revisit to Java Web Start was the recent release of JDK 6 Update 18, which James Sugrue covered in a recent JavaLobby post. Among the highlights of this release is support for Windows 7.

But, scalemania notes that important problems in the updated Java Web Start are listed as being fixed. This includesissue 6888118 - JNLP Extension Installer is never invoked when uninstalling appliction, an issue scalemaniareported himself:

Uninstalling a JWS application on windows is supposedly simple. The user navigates to the same place in the windows Control Panel where native applications are uninstalled, finds the JWS application and hits "uninstall". Unfortunately JWS has been broken and would only uninstall some parts of the application

I came across an interesting demonstration and analysis of the Java "code too large" error in a post by Dustin Marx, Reproducing "code too large" Problem in Java. In the post, Dustin describes his effort to intentionally produce the "code too large" error. Why would someone do this?

In this case, it is because I always understand things better when I tinker with them rather than just reading about them and because doing so gives me a chance to demonstrate Groovy, the Java Compiler API (Java SE 6), and javap.

And off Dustin goes. His first discovery is that 65535 bytes of compiled byte code is the number that produces the "code too large" error. And these 65535 bytes have to be the compilation of a single method.

Now, realistically, what programmer would ever create a single method that compiled down to 65535 or more bytes? No one I've ever met. Yet, the "code too large" problem does actually exist "in the wild" (as Dustin calls it) -- specifically, it can happen when code is generated by, for example, Groovy.

To analyze the problem, Dustin built a Groovy script that:

generates a Java class that isn't very exciting. However, the class will have its main function be of an approximate size based on how many conditions I tell the script to create. This allows me to quickly try generating Java classes with differentmain() method sizes to ascertain when themain() becomes too large.

After the script generates the Java class, it also uses the Java Compiler API to automatically compile the newly generated Java class for me. The resultant.class file is placed in the same directory as the source .java file.

The Groovy script generates a very simple Java class consisting of a set of conditional statements. Dustin found the maximum number of conditionals that would produce a runnable class, then used thejavap tool to analyze the class file.

Dustin then presents key snippets from the output ofjavap:

From the snippets of javap output shown above, we see that the highestCode offset (65512) for this function pushing the limits of the method size was getting awfully close to the magic 65535 bytes (216-1 or Short.MAX_VALUE - Short.MIN_VALUE).

Dustin has named his blog Dustin's Software Development Cogitations and Speculations, and says he uses it as a way to document things for his own future reference, while also providing information to help other developers. For example, his post Favorite Development Cheatsheets is a convenient page to bookmark, since there he's placed links to many useful quick references for Java and other technologies.

Other recent posts investigate Double toBigDecimal conversion in Java and Groovy, and commentary on the "java is dead" discussion. There are also posts like Using Groovy to Check Seventh Grade Homework.

Dustin Marx does some interesting investigations and documents them well in his blog. I've subscribed and look forward to seeing what he investigates next.


In Java Today, Dustin Marx investigates Reproducing "code too large" Problem in Java:

Code conventions and standard software development wisdom dictate that methods should not be too long because they become difficult to fully comprehend, they lose readability when they get too long, they are difficult to appropriately unit test, and they are difficult to reuse. Because most Java developers strive to write highly modular code with small, highly cohesive methods, the "code too large" error in Java is not seen very often. When this error is seen, it is often in generated code...

Matt Givney describes Unit Testing Java with Groovy:

Much of the development I do for my clients is in Java. While I am still very much a fan of java, it is not without it's complexity. Groovy, on the other hand, builds on java to abstract and simplify a lot of the things we do in java. One particular place that I love using groovy to enhance a java project, is in unit testing. It's simplified syntax, built-in support for mocking and stubbing and meta programming makes unit testing java a complete cinch. In this installment of the Weekly Give, I am going to show an example of using the Groovy StubFor class to stub java method...

Peligri talks about an Expired Certificate in GlassFish Keystore:

One of the authority certificates in the Glassfish truststore expired on Jan 7, 2010. This is generating a (verbose and somewhat scary) error message on startup. You can just ignore the message, wait - the expired root was removed in update 18 of Java SE 6 and will be removed in later patches of GlassFish Server - or...

In today's Weblogs, Remi Forax looks forward to FOSDEM'10:

In 19 days, I will be at FOSDEM. If you want to heard about JSR 292 and lambdas or DaVinci VM project, you can join us, it's free...

John Ferguson Smart announces A new Java Power Tools Newsletter is out: Web application testing strategies with Selenium:

In this issue we will be looking at how automated web testing fits into the larger picture. In particular, we will look at how you can use Selenium in different ways for different types of testing...

Hamada Zahera posted get the best for SCJP ?:

Spotlightis Alexis Moussine-Pouchkine's Testing with the GlassFish Maven plugin and JavaDB Embedded 
Now SCJP certification become one of the most important sun certifications for java and it's simple to take it ,coz SUN will consider you as a Java programmer .There are many JProgrammers didn't take this certification although they are very well ,but taking this certification become more important than before specially to raise your rank as a programmer and also it's bonus for you to find better job than you have...

In the Forums,lmcjome is seeing Excessive memory (280K) per connection in grizzly: "Hi. We are doing some benchmarking with glassfish comet/grizzly on SUSE linux 2.6.x. During our prototyping, we established 10000 connections and found that memory consumption is 280K/connection. We ran jprofiler (see attachments) and found that "byte[]" is consuming most of the memory. We did a heap scan to see what objects are using byte and found that 99% of this use is by com.sun.grizzley.util.WorkerThreadImpl.run..."

mahdi_hijazi wonders if an LWUIT application has aList problem or bug?: "Hi to you all. I was trying to make a simple list demo when I got this unexpected behavior. I do not need the form to cyclic the focus, so I use the setCyclicFocus( false ), but when I hit the down key on the last item on the list it gets back to the first component, why this happens? ..."

tdbuchanan is getting a JAX-WS MTOM Applet OutOfMemoryError: "I have an applet that uses jaxws proxy classes with MTOM enabled to upload and download files from a WCF service (Netbeans 6.8 with the Metro 2 libraries and jdk/jre 1.6.18). I can upload large files to the WCF service just fine, but when I try to download a large file I receive an OutOfMemoryError with the following stack trace..."


Our current Spotlightis Alexis Moussine-Pouchkine's Testing with the GlassFish Maven plugin and JavaDB Embedded: "Having GlassFish v3 usable in embedded modemade it easy to create a maven plugin with multiple goals (see thisprevious entry). This in turn makes it easy to configure the plugin for maven-driven unit testing. Here's an example..."


This week's java.net Poll What is your favorite Oracle/Sun supported IDE?. Voting will end this Friday.


We've just published a new java.net Feature Article, Maven Repository Managers for the Enterprise, by John Smart. We're also featuring Jeff Friesen's Reading Newsfeeds in JavaFX with FeedRead, in which Jeff demonstrates how to apply JavaFX's RSS and Atom newsfeed capabilities to create a snazzy little JavaFX app that can run stand-alone or in a browser.


The latest Java Mobility Podcast is Java Mobile Podcast 92: MIDP 3.0 in Depth: Tutorials and Demonstrations: Excerpts from the JavaOne 2009 MIDP 3.0 In Depth: Tutorials and Demonstrations session with Roger Riggs, Lakshmi Dontamsetti and Stan Kao.


Current and upcoming Java Events:

Registered users can submit event listings for the java.net 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 java.net it will be archived along with other past issues in the java.net Archive.

-- Kevin Farnham
O'Reilly Media

In this week's java.net Spotlight, we're highlighting Alexis Moussine-Pouchkine's recent post, Testing with the GlassFish Maven plugin and JavaDB Embedded. Alexis begins by referring back to some of his earlier posts, and showing how they're related to his current discussion:

Having GlassFish v3 usable in embedded modemade it easy to create a maven plugin with multiple goals (see thisprevious entry). This in turn makes it easy to configure the plugin for maven-driven unit testing.

Alexis goes illustrates how to do this with a code snippet that embeds the Maven plugin.

Most business applications that utilize an application server (for example, GlassFish) are going to also interface with a database. One of the advantages of the GlassFish Maven plugin is that you can configure it (within your pom.xml file) such that testing can be repeated without your having to stop and restart the app server. Working with a database, however, add complexity. In particular, if the testing requires stopping and restarting the database, then the automation gained by embedding Maven is basically lost: you still have to stop and restart a large application each time you need to rerun your test.

Solving this problem is the essential point of Alexis's post:

This is where JavaDB embedded can come in handy. The trick with an application server like GlassFish is that it's not enough to use the embedded driver (org.apache.derby.jdbc.EmbeddedDriver), you also need to reference an embedded JTA datasource. GlassFish v3 ships with one such datasource pre-configured:jdbc/__TimerPool so lazy as I am, I simply reused this in [my] setup...

Alexis demonstrates how this is done through the creation of a JPA persistence-unit, which lets his test create an embedded instance of JavaDB.

The closing statement of Testing with the GlassFish Maven plugin and JavaDB Embeddedimplies Alexis will be continuing to work on this project. I'll be watching for the next post.


In Java Today, Adam Bien asks Do We Need Stateless Session Bean Pooling?:

Pooling is still mentioned in the EJB 3.1 / Java EE 6 specification. The question is: do you have to care? The answers are: 1. Pooling is not a requirement, it is just an assumption:"...Since stateless session bean instances aretypically pooled, the time of the client’s invocation of the create method need not have any direct relationship to the container’s invocation of the PostConstruct/ejbCreate method on the stateless session bean instance..."[EJB 3.1 spec, page 78]. 2. EJB container can either pool the instances or create a new one for each request...

Geerjan Wielenga discovered Modeling Computational Fluid Dynamics on the NetBeans Platform:

Yet another NetBeans Platform application is STAR-CCM+ by CD-adapco. For computational fluid dynamics modeling, "STAR-CCM+ delivers the entire engineering simulation process in a single integrated software environment. This unique approach brings unrivalled ease-of-use and automation to CAD preparation, meshing, model set-up and iterative design studies, enabling your engineers to deliver better results, faster. Innovations such as built-in surface-wrapping, advanced automated meshing (creating either polyhedral or predominantly hexahedral volume meshes) and the ability to 'copy and paste' components between models have quickly established STAR-CCM+ a reputation for producing high-quality results in a single code with minimum user effort...

The latest Java ME SDK Team Blog entry describes How to create a custom device:

I've got a question how to create custom emulator skins several times. It can't be answered in a few words, a short tutorial with an example will be the best way of explanation. Skin800x480The zip bundle here contains an example of standard CLDC/MIDP device with a display of 800 x 480 pixels and a few buttons. Due to lack of creativity I call the device "Skin800x480" and I have to admit it looks quite ugly. I will use it as a reference throughout this tutorial...

In today's Weblogs, Hamada Zahera posted get the best for SCJP ?:

Now SCJP certification become one of the most important sun certifications for java and it's simple to take it ,coz SUN will consider you as a Java programmer .There are many JProgrammers didn't take this certification although they are very well ,but taking this certification become more important than before specially to raise your rank as a programmer and also it's bonus for you to find better job than you have...

Aaron Houston covers SVJAVAFXJUG - JavaFX Layout Secrets with Amy Fowler 13 Jan 2010:

The Silicon Valley JavaFX JUG met for its 2nd meeting on Jan 13th, 2010. SVJAVAFXJUG once again had another rock star speaker in Amy Fowler. Amy Fowler is a Senior Staff Engineer at Sun Microsystems, and is one of the founding members of the Java Swing GUI Toolkit. . Over 70 people attended this meeting at Sun's Santa Clara Auditorium. Plus,40 folks were watching remotely via ustream....

Fabrizio Giudici continues his exploration of The Finder Pattern:

In many previous code examples in this blog I've used the “Finder pattern”, that I've elected as one of my best practices (it's standard in all my new APIs and will be retrofitted to the old ones). Before moving on with more examples, I think it's high time I shortly introduced it formally....

In the Forums,exfalso, working with Java 3D, is seeing a NoSuchMethodError after changing Mainboard: "Hi! Today i tried to run my java3d-applet after changing the Mainboard of my notebook. Now I always get this exception when trying to load a vrml-model: Exception in thread "main" java.lang.NoSuchMethodError: vrml.node.Node..."

Johannes Wahle has an LWUIT problem, TabbedPane's keyPressed() (and some others) will never be called / hasFocus() is alway false: "Hello, since TabbedPane's requestFocus(), lets the internal list request the focus, all key events will be delivered to the list and keyPressed, keyReleased etc will never be called for TabbedPane. Thus the only way to customize TabbedPane's behavior is via SelectionListener..."

josealvarezdelara Can not deploy a simple JSF 2.0 app into GF V3: "Hi. When I try to deploy the EAR file I get the following exception: GRAVE: Exception while deploying the app java.lang.NullPointerException ..."


Our current Spotlightis Alexis Moussine-Pouchkine's Testing with the GlassFish Maven plugin and JavaDB Embedded: "Having GlassFish v3 usable in embedded modemade it easy to create a maven plugin with multiple goals (see thisprevious entry). This in turn makes it easy to configure the plugin for maven-driven unit testing. Here's an example..."


This week's java.net Poll What is your favorite Oracle/Sun supported IDE?. Voting will end this Friday.


We've just published a new java.net Feature Article, Maven Repository Managers for the Enterprise, by John Smart. We're also featuring Jeff Friesen's Reading Newsfeeds in JavaFX with FeedRead, in which Jeff demonstrates how to apply JavaFX's RSS and Atom newsfeed capabilities to create a snazzy little JavaFX app that can run stand-alone or in a browser.


The latest Java Mobility Podcast is Java Mobile Podcast 92: MIDP 3.0 in Depth: Tutorials and Demonstrations: Excerpts from the JavaOne 2009 MIDP 3.0 In Depth: Tutorials and Demonstrations session with Roger Riggs, Lakshmi Dontamsetti and Stan Kao.


Current and upcoming Java Events:

Registered users can submit event listings for the java.net Events Pageusing 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 java.net it will be archived along with other past issues in the java.net Archive.

 

-- Kevin Farnham
O'Reilly Media

 

Voting in this past week's java.net poll did not reveal a strong consensus that one particular aspect of the Java EE 6 enhancements stands out in significance compared with other Java EE 6 enhancements. Exactly 300 votes were cast in the poll. Here are the results:

Which Java EE 6 enhancement is most significant?

  • 7% (22 votes) - Profiles
  • 5% (16 votes) - Pruning
  • 28% (84 votes) - Contexts and Dependency Injection
  • 11% (33 votes) - EJB 3.1
  • 23% (68 votes) - Components: JAX-RS, Servlet 3.0, JPA 2.0
  • 23% (69 votes) - I don't know
  • 3% (8 votes) - Other

The results, in effect, reflect the view that Java EE 6 is a conglomeration of many new features that are of significant value to developers. Indeed, in browsing the commentary about Java EE 6, you find different people focusing on different aspects of the newly approved platform. Pretty much no one (that I've read, anyway) thinks Java EE 6 is a step backward. Rather, it's seen as a major step forward for a variety of reasons.

Even in the JCP JSR #316 (Java EE 6) balloting, though some electors abstained (SAP and Intel) and one voted against approval (Apache), all agreed that, purely in terms of the technology, Java EE 6 was worthy of approval. As I noted in my post about the vote, "none of the members found the technical aspects of the specification to be lacking in critically important matters." Rather, the abstentions and "no" vote were related to disapproval of actions by the tech lead (Sun) regarding licensing.

Two comments were posted to the poll. pjmlplamented that "Java EE is still a dream far away":

On my current job we are still dealing with Java EE 1.4 and dreaming of the day we are allowed to move up to Java EE 5. So I don't care to learn anything new about Java EE, because I won't be able to use it anyway.

It's true that in the current economic environment, companies are reluctant to undertake significant infrastructure changes. Still, Adam Bien, in his post Looking Back: 2009 from an Independent Consultant Perspective, noted that 2009 entirely surprised him. He expected it to be a "vacation year" due to the economy. Instead:

I got more contract requests, than I could actually handle. I underestimated the Java EE 5 interests of my customers. Java EE Training / workshops were very well attended, but I was also involved in 2009 in more Java EE 5 projects than ever before.

With Java EE 6 and EJB 3.1, Java EE is more lightweight and configurable than Java EE 5 ever was. In my view, it's advantageous for anyone who is working on Java EE projects to learn about the advantages of Java EE 6. Once you know what Java EE offers, you can start advocating (quietly and subtly at first, if necessary) for an eventual platform shift within your company. Also, Adam's experience shows that expertise in the latest Java EE technology is highly sought by plenty of companies. So, knowing Java EE 6 is likely to be advantageous for your future.

zesharp asked: "Where can I find well written articles with news and improvements of JEE6 ?" Well, there is starting to be quite a lot of good material available. For example:

Much more is already out there, and much more is on the way.

New poll: JDeveloper versus NetBeans

Our new poll asks What is your favorite Oracle/Sun supported IDE?. This poll was suggested by Adam Bien in a Twitter tweet he sent tome this morning, suggesting that a NetBeans versus JDeveloper poll might besomehow relevant :-) (his smiley). So, there it is, your chance to weigh in on JDeveloper versus NetBeans!


In Java Today,peligri notes that TmaxSoft JEUS 7 is the second JavaEE 6 App Server:

GlassFish has company! TmaxSoft's JEUS 7 AppServer passed the Java EE 6compatibility at the end of December and is now compatible. JEUS 7 is currently available only as a Technology Preview, with the final release planned for the end of 2010. I expect a fairly rapid adoption of JavaEE 6. JBoss and Caucho have indicated their intent to release Web Profile...

James Sugrue reports on Java 6 Update 18: Now With Windows 7 Support:

Java 6 Update 18 is now available for download. One of the main features of this release is the inclusion of support for Windows 7. Along with an impressive list of bug fixes, the update includes performance improvements, an update to JavaDB and the inclusion of the latest version of the Java profiling tool, VisualVM. This update is bound to be popular, while we wait for the final milestone of JDK 7, expected this September...

Arun Gupta presents TOTD #117: Invoke a JAX-WS Web service from a Rails app deployed in GlassFish:

A user on GlassFish Forum tried invoking a JAX-WS Web service from a Rails application and faced some issues. This TipOf The Day (TTOD) will discuss the different approaches and shows their current status. A Rails app can be deployed on GlassFish in 3 different ways ...A user on GlassFish Forum tried invoking a JAX-WS Web service from a Rails application and faced some issues. This TipOf The Day (TTOD) will discuss the different approaches and shows their current status. A Rails app can be deployed on GlassFish in 3 different ways ...

In today's Weblogs, it was a quiet day on java.net, so I wandered over to the blogs.sun.com site, and soon found some interesting new posts about java.net projects and upcoming Java-related events.

First, I found Doc Teger's three part series on java.net's OpenSSO project. Part 1 in the series is Authenticating for the OpenSSO Entitlements Service REST Interfaces; Part 2 is Listening for the OpenSSO Entitlements Service Using REST; and Part 3 is Evaluating OpenSSO Entitlements Using REST.

The Wonderblog, a blog about the java.net Wonderland project, announcedModule Warehouse Featured in New Wonderland Web Site:

We are pleased to announce that we have unveiled a new Project Wonderland web site today. This web site, which you can access by navigating to ProjectWonderland.com, will now be the main portal for the project. Developer-focused content (e.g. wiki, forums, subversion) remains on the java.net open source developer site, but most other content has now been migrated to the new portal. Please spend a few minutes exploring the site to see some of the new content and learn how to find the pages you depend on...

And Alexis Moussine(who posts as alexismp at The Aquarium) posted a schedule of upcoming Roadshows across Europe: GlassFish, Java EE 6 and other Java topics:

February 2010 will be the Java & Friends roadshow month in Europe: Paris - "Java EE and GlassFish v3" on Feb. 2nd, "Java Roadshow" on Feb. 9th. London - "Java EE and GlassFish v3" on Feb. 3rd, "Java Roadshow" on Feb. 4th. Germany - "JavaEE and GlassFish v3" on Feb. 4th (Berlin), "Java Roadshow" on Feb. 2nd (Munich)...

In the Forums,cobrab gets an Error running JAXB in linux UnsatisfiedLinkError: "Hi, I've inherited a project which was partially written by a consulting company. I am trying to move the application from WinXP to a linux platform, but I'm having some trouble with the JAXB 2.0.0 implementation. I am getting an UnsatisfiedLinkError: cannot find native method: getCallerClass(I). It comes just after the classloader loads the schema ObjectFactory..."

Bhaarat Sharma, working with GlassFish, finds that the Struts2 Properties file does not load: "Hello. We are experiencing a problem with loading Struts 2 properties file. Our Structure: WEB-INF/classes contains MyResources.properties file. For this example assume it has just one property: my.label.name=Label 1..."

andrewp55 asks Is it possible to establish communication between jmaki: "dojo combo box and jmaki charting line widget (publish-subscribe) ??? I'd like to use this combo box (after populating it) to extract data from database (using jmaki.doAjax) and to pass this data to my jmaki chart on JSP page..."


Our current Spotlightis Christopher Lam's How to Create a Scheduler Module in a Java EE 6 Application with TimerService: "Many a time, in a Java EE application, besides the user-triggered transactions via the UI (e.g. from the JSF), there's a need for a mechanism to execute long running jobs triggered over time, e.g., batch jobs. Although in the EJB specs there's a Timer service, where Session Beans can be scheduled to run at intervals through annotations as well as programmatically, the schedule and intervals to execute the jobs have to be pre-determined during development time and Glassfish does not provide the framework and the means to do that out-of-the-box. So it is left to the developer to code that functionality or to choose a 3rd party product to do that..."


Our new java.net Poll What is your favorite Oracle/Sun supported IDE?. Voting will be open for the next week.


We've just published a new java.net Feature Article, Maven Repository Managers for the Enterprise, by John Smart. We're also featuring Jeff Friesen's Reading Newsfeeds in JavaFX with FeedRead, in which Jeff demonstrates how to apply JavaFX's RSS and Atom newsfeed capabilities to create a snazzy little JavaFX app that can run stand-alone or in a browser.


The latest Java Mobility Podcast is Java Mobile Podcast 92: MIDP 3.0 in Depth: Tutorials and Demonstrations: Excerpts from the JavaOne 2009 MIDP 3.0 In Depth: Tutorials and Demonstrations session with Roger Riggs, Lakshmi Dontamsetti and Stan Kao.


Current and upcoming Java Events:

Registered users can submit event listings for the java.net 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 java.net it will be archived along with other past issues in the java.net Archive.

-- Kevin Farnham
O'Reilly Media

Kirill Grouchnikov talks about the origins of his series of animations posts and looks ahead in his latest post Animations - footnotes. First, how did the series come about?

The animation series that was published on this blog last week has been largely the product of reworking the animation layer in Substance look-and-feel and replacing it with the Trident animation library.

So, when some people posted comments asking if they could see actual code that implements the laws of motion and other aspects of animation that Kirill was presenting, the response was that much of the code exists in the upcoming versions of Kirill's open source projects, specifically Trident, which is being integrated into Substance. But, since this is new code, developers who have existing applications that use these open source libraries may need to make some modifications to their apps, in order to take advantage of the new animation features:

If you're using Substance look-and-feel library in your applications, you will need to add the matching Trident jar to your classpath

The JCP Program Office wishes us a Happy New Year, and has posted the JCP 2010 Event Calendar. The December JCP Newsletter is also available, if you haven't taken a look at that yet. I see that the newsletter mentions my recent interview with Adam Bien -- another thing to check out, if you haven't yet done so.

http://jcp.org/images/home/pmo_2010.jpg

The Program Office's happy new year message begins with a brief wrap-up of 2009:

December 2009 was a busy month, with Final Releases for JSR 316, Java Enterprise Edition (Java EE) 6 and its' component JSRs, along with the Final Release of JSR 271, MIDP 3, among others.

And a brief look at the start of 2010:

Coming up next week, nominations for the EC Special Election to fill the ME EC seat vacated by Jacob Feldman will be open. Watch for details on how to nominate yourself on jcp.org. Now is the time to prepare your nomination if you are interested in serving on the EC; read more about the Elections here. The JCP EC will meet Face to Face (F2F) for the first meeting of 2010 on Tuesday and Wednesday in Santa Clara, CA at the Sun Campus. Materials and minutes will be made available following the meeting.

The 2010 JPC Calendar at this point doesn't tell us too much about what's actually going to happen in 2010. Primarily, it lists the dates for known events that must be planned far in advance (for example, election deadlines, executive meetings in various locations in the world, etc.). But then, there really is no possibility of going beyond this in an annual calendar, because there is no way for the JCP to predict exactly what the core areas of focus and progress will be in 2010, with respect to individual JSRs, etc.

The major upcoming event right now is the special election to replace the Java ME Executive Committee that was vacated by Jacob Feldman. If you are interested in running for this seat, the time is to prepare your materials is now. Nominations (you can nominate yourself) are open until January 24. The election itself will take place from January 26 through February 8.


In Java Today, James Gosling notes that This Modern Age is Weirdly Cool:

Having spent most of my life turning science fiction into reality, I'm incredibly amused by the recent Blessing of the Plow service performed in London. Another step in the journey...

David Holmes advises Minimize Garbage Generation: GC is your Friend, not your Servant:

Throughput oriented garbage-collectors, in particular generational, copying-based collectors, are very efficient at dealing with large quantities of garbage as they never have to visit garbage objects and so the cost of a GC pass is not dependent on the amount of garbage to be found. As these kinds of collectors exist in the mainstream Java SE implementations, there has been a tendency for developers to become very unconcerned with the amount of garbage they may generate, because they expect the collector will deal with it simply and efficiently. For deterministic, non-generational, garbage collectors, such as the Java RTS Real-Time Garbage Collector, where latency and pause-times are the main concerns, this is not the case...

The JCP Program Office says Happy New Year, 2010 Calendar posted:

Welcome to 2010!  December 2009 was a busy month, with Final Releases for JSR 316,  Java Enterprise Edition (Java EE) 6 and its' component JSRs, along with the Final Release of JSR 271, MIDP 3, among others.  You can read about the latest JCP program news in the December newsletter.  The 2010 Calendar is now posted on jcp.org....

In today's Weblogs, John Ferguson Smart announces the current Java Power Tools Bootcamps and TDD workshops for the first half of 2010:

We are finalizing plans for the Java Power Tools Bootcamps and TDD training sessions for the first half of 2010. Highlights include the upcoming London and Paris sessions of the Java Power Tools bootcamps, as well as many sessions Wellington, Sydney, Canberra and Melbourne...

Cay Horstmann wonders about A Flash in the Pan?:

JSF 2 introduces an EL variable flash. Anything you set persists for one post-redirect-get cycle. (In contrast, anything in the request scope is gone after a redirect.) A typical use of the flash is for messages. A managed bean method might put a message in the flash...

Fabrizio Giudici writes about The Hierarchy API:

< Tree-like structures are a very common pattern. Just to count instances of this pattern in my FLOSS projects: 1. The File Explorer in blueMarine, where photos are shown as they are stored in directories on the local disk. 2. The Calendar Explorer in blueMarine, where nodes representing year / month / day are shown for each day in which a photo has been taken. 3. The Metadata Explorer in blueMarine, where various metadata directories are shown (ok, this is a very shallow tree with only two levels). 4. The Catalog Explorer in blueMarine, where photo tags and tag categories are shown in hierarchical fashion....

In the Forums,jagwire is thinking about Borrowing the marbelous particle system: "I think I'm about ready to add a particle system to my world but I've got a couple questions first. From what I can tell, the system starts as soon as the particle system's constructor is called when the createMarble() method is executed, is that really all there is to it? I feel like it should be harder than that..."

dmalis has a comment for Vprise: Latest SVN commit introduced an issue to my app: "Hey vprise - today I've updated LWUIT to rev 832 and noticed that my GlassPane Scrollbar implementation started to work noticeably slower then with rev 831. So I have it reverted to r831 and proved my case. My implementation follows (copies) this example..."

itamar123 is Trying to create two separate networks using socket: "Hello, I have 2 separate networks and 2 network cards on each of my computers. Network #1. Network #2. I bind a socket to Network #1 and Surprisingly i had success connecting to ip address on Network #2. What needs to be done to prevent it? ..."


Our current Spotlightis Christopher Lam's How to Create a Scheduler Module in a Java EE 6 Application with TimerService: "Many a time, in a Java EE application, besides the user-triggered transactions via the UI (e.g. from the JSF), there's a need for a mechanism to execute long running jobs triggered over time, e.g., batch jobs. Although in the EJB specs there's a Timer service, where Session Beans can be scheduled to run at intervals through annotations as well as programmatically, the schedule and intervals to execute the jobs have to be pre-determined during development time and Glassfish does not provide the framework and the means to do that out-of-the-box. So it is left to the developer to code that functionality or to choose a 3rd party product to do that..."


Our current java.net Poll asks Which Java EE 6 enhancement is most significant? Voting will run through Thursday or Friday (depending on where you live).


We've just published a new java.net Feature Article, Maven Repository Managers for the Enterprise, by John Smart. We're also featuring Jeff Friesen's Reading Newsfeeds in JavaFX with FeedRead, in which Jeff demonstrates how to apply JavaFX's RSS and Atom newsfeed capabilities to create a snazzy little JavaFX app that can run stand-alone or in a browser.


The latest Java Mobility Podcast is Java Mobile Podcast 92: MIDP 3.0 in Depth: Tutorials and Demonstrations: Excerpts from the JavaOne 2009 MIDP 3.0 In Depth: Tutorials and Demonstrations session with Roger Riggs, Lakshmi Dontamsetti and Stan Kao.


Current and upcoming Java Events:

Registered users can submit event listings for the java.net 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 java.net it will be archived along with other past issues in the java.net Archive.

-- Kevin Farnham
O'Reilly Media

 

Kirill Grouchnikov completed a week-long six-part series of posts on animation with Animations - the big picture. The earlier posts were:

In the concluding piece, Kirill wraps up by reiterating a primary point of the series -- the fact that emulating the physical laws that define the real world within an animated virtual realm can be a complex task:

Every movement in the real world is governed by the laws of physics. Sometimes these laws are simple, and sometimes they are not. Understanding and emulating these laws in the virtual world of pixels takes time. It takes time to analyze how the objects in the physical world move. It takes time to find the right physical model for the specific dynamic change on the screen. It takes time to implement this physical model in the code. It takes time to optimize the implementation performance so that it is fluid and does not drain too much device power.

Kirill then talks about the modern world, where people are flooded with opportunities for viewing content. It's a world where attention spans have become ever shorter, because there's always something else available to grab (probably briefly) your attention.

This means that your app may have only seconds (minutes if you're lucky, Kirill says) to win over the user. Yes, they'll give it a try. But if anything seems awry, unintuitive, sloppily crafted, etc., they will click away from your page to something else, and they won't ever come back.

It's kind of like, as an application developer, you're not much different from a songwriter. If you write a song, and you want to present it to a producer, you may make a CD with a few songs on it. But, it's guaranteed that the producer will only listen to a verse and the chorus before moving on to the next song. So, if you make a CD for a producer, you put your very best song first, you make the intro very brief, and you make sure that first verse and chorus fully capture the art and energy of the song, in the rendition you send to a producer.

As a software application developer, your time to impress a new user is about the same -- probably less than a minute. In those few seconds, your app has to impress, or it will be abandoned. If your app involves animation, you've got to get it right, realistic, or your application will look amateurish.

It's not all physics, either. Creating appealing animation is an art, as well. It involves careful design. As Kirill says:

Drawing on the existing user experience is an incredibly powerful tool

Fkieviet points out the new whitepaper on GlassFish ESB High Availability and Clustering:

Mike Somekh, Mark Foster, Rastislav Kanocz have published an in-depth 42 page whitepaper on High Availability with GlassFish ESB. This whitepaper goes beyond just describing how to implement an ESB in a development environment: it covers how to move the ESB into mission-critical, high volume production and provides insight from experts who have successfully delivered real-world, high performance middleware infrastructures.

The whitepaper is free, but to get it you have to be a registered user on the sun.com site. The paper was originally announced on December 17 in an On The Record blog post:

First, the whitepaper gives an analysis of the key criteria needed to architect a highly available GlassFish ESB solution. Topics include: defining acceptable levels of downtime, degrees of allowable latency, divisions between semi-static and time-critical data and options for recovery. All of these requirements must be considered together to arrive at a solution. In addition, the whitepaper provides an examination of architecture and implementation considerations, which could affect not only the initial implementation, but future iterations as well. Following this initial analysis, the whitepaper details a reference architecture for a typical deployment solution.

The paper introduces the various clustering options that are available with GlassFish ESB (OS level, hardware level, GF app server level, ESB level, database level), then answers some key high availability questions:

  • What is an acceptable level of downtime?
  • What about options for recovery?
  • Should we consider combinations?
  • What are the architectural and implementation-level considerations?

The discussion of the reference implementation covers division of the processing into tiers, the BPEL (Business Process Execution Language) service engine, Solaris zones, virtualization, load balancing, MySQL, and the example web application. There is also helpful section that presents known issues and limitations, along with relevant work-arounds. The Appendix describes a BPEL service engine failover support test.

A lot of information is packed into the 42-page whitepaper. While you'll certainly need additional resources as you get down to the fine details of setting up a GlassFish ESB clustered environment, GlassFish ESB High Availability and Clustering points out the primary areas you'll need to address as you set up your high availability cluster.


In Java Today, Kirill Grouchnikov presents Animations 202: scrolling:

After seeing how the rules of physical world can be applied to animating colors, it

The latest java.net poll shows that expectations for the technology / software engineering economy in 2010 vary greatly. However, a majority expect the outlook to be improved as 2010 proceeds.

A total of 266 votes were cast in the non-scientific survey. The exact question and results were:

What's your outlook for the technology / software engineering economy in 2010?

  • 22% (58 votes) - 2009 was great for me; 2010 will be great too
  • 11% (29 votes) - We've turned the corner, work should become plentiful
  • 33% (87 votes) - I expect a slow recovery in 2010
  • 12% (31 votes) - 2010 won't be any better than 2009
  • 11% (29 votes) - The downturn will worsen, lost jobs aren't coming back
  • 12% (32 votes) - I don't know;other

Of course, one thing that makes it difficult to assess a poll like this is the fact that the people who voted live in many different countries, and the economic outlook in some countries is far better than it is in other countries. So, given a person who votes "2009 was great for me; 2010 will be great too" and another person who votes "the downturn will worsen, lost jobs aren't coming back" -- both people may be accurately predicting what will happen in their own country.

It's the nature of global downturns that the shock affects and pulls down everyone at the moment of crisis. But, since the economies of different countries are so different, and since the policies their governments enact in response to the crisis vary greatly, some countries return to a more normal level of economic vibrancy sooner than others. Then, there are potentially other countries that may never return to their prior level of economic growth and vitality, because the downturn and response fundamentally changes the structure of that nation's economy (the United States may be in this category).

Still, setting all of that aside, and looking at the poll from a global perspective -- a pretty high percent of voters (22%) did not find 2009 to be a bad year, or even a merely good year. For them, 2009 was great, and they expect their own personally great economy to continue in 2010.

The highest number of votes (33%) went to "I expect a slow recovery in 2010." This is in line with the median forecast by most economists in the United States, Western Europe, and many other of the what used to be called "First World" nations. Still, in the United States, for example, there are a quite a lot of economists who expect a "W" shaped recession, where we are now on the first upward leg, but by 2011 we'll be sliding downward again. I don't see many economists predicting this scenario for countries like China, India, Brazil, and other economies that were enjoying quite fast growth before the 2008 crisis.

Anyway, I very much hope that these 33% of voters and the 11% who voted "we've turned the corner, work should become plentiful" are correct, at least for most of the world. A good economy in one part of the world often helps pull the rest of the world out of their slump.

Meanwhile, it's very easy for me to see why 12% selected "2010 won't be any better than 2009" and 11% selected "the downturn will worsen, lost jobs aren't coming back."

One group of voters is certain to be correct -- those who said: "I don't know." None of us do, really. Even the most respected, highly paid economists in government, in finance, and everywhere else, were unable to form a consensus that would have prevented the 2008 crisis -- though a great many warned pretty precisely, and years in advance, that what happened would happen...

New poll: Java EE 6

Our new poll asks Which Java EE 6 enhancement is most significant? Voting will be open for the next week.


In Java Today, Adam Bien talks about Java EE 6 and the JCP Stuff - Perfect for Lazy Developers:

Clarification: all developers should be lazy :-). Java EE (6) is an abstraction of existing products (Hibernate, TopLink, Glassfish, JBoss, Geronimo, Tomcat+, ...) and API-implementations. So if you develop Java EE 6 applications, you can start with the spec and dig into the implementation details as needed. If you are using e.g. Glassfish application server, EclipseLink (JPA), Equinox or Felix(OSGi), RedHat Weld (CDI) ... are working for you - but you don't have usually to care about the details. ...

Kirill Grouchnikov continues instructing with Animations 201

Earlier this week we published John Ferguson Smart's new article, Maven Repository Managers for the Enterprise. In this article, John outlines the need for a repository manager in the enterprise environment, then describes how the most established Maven repository managers perform the required functions.

John starts out with an analogy:

If you use Maven, or even if you just use Maven repositories for your dependency management, you should be using a Maven Repository Manager. It's like using a kayak without paddles: you'll get there eventually without them, but your life will be much easier if you are properly equipped.

Why is it so important to use a repository manager in the enterprise development environment?

A correctly-configured repository manager can speed up your builds, save bandwidth, help you share artifacts within your organization, and give you better control as to what dependencies are used in your projects and where they are coming from. It can also play a key role in your development infrastructure, helping you set up a fully-blown automated build and deployment pipeline.

John then gets into the details. If you've got a large development team, and you're building large, complex software, do you really want each individual developer downloading whatever packages they need onto their local machine as they work on their segment of the code base? That's a non-starter, surely, since the inevitable result is going to be different segments of the complete system depending on different versions of the same libraries -- a potential nightmare when you later try to build all the pieces into a working application.

So, no, in a large software development project, you want a much more controlled, coherent system of dependency management. This is one of the most important functions that a repository manager provides.

Probably the most fundamental role of a repository manager is to act as a proxy/cache between you and the internet. One of the most important features of Maven is the notion of declarative dependency management. Indeed, in a Maven project, you don't store the JAR files your project needs in a libdirectory within your project - rather you list the dependencies you need directly in your build script. Ant users can also use declarative dependency management, either by using the Maven ant libraries or by using Ivy.

Maven repository managers provide many conveniences as well (for example, the need for each developer to maintain a long list of public dependencies in settings.xml disappears). Maven repository managers can even work with an existing LDAP repository, to configure which users have which permissions with respect to different projects.

Maven Repository Managers for the Enterprise provides an excellent overview on why enterprise development teams in particular need a repository managers (but even smaller development teams can benefit from the more coherent, controlled environment they offer) and how Maven repository managers work. It's a very instructive read!


In Java Today, Kirill Grouchnikov continues instructing us in Animations 102 - changing direction:

The examples in the previous entrytalked about moving from point A to point B in a straight line. Now let's add one more point – after arriving at point B you are asked to head to point C ...

Geertjan Wielenga presents 10 Steps to Get Started with Maven on the NetBeans Platform:

Aside from the (currently) missing exhaustive reference material for the NetBeans Platform (mitigated by the NetBeans API javadoc and Essential NetBeans Platform Reference Card), the other BIG gap in the NetBeans Platform documentation is... everything relating to Maven. Much can be discovered via google (e.g., type the following keywords in google "NetBeans Platform Maven" and/or "NetBeans RCP Maven")...

Java Champion Alan Williamson writes about his new JQuery Lined TextArea plugin:

One of the most used, but under featured HTML controls, is the humble TEXTAREA control. This control is designed to accept large blocks of text from the user. A wide variety of plugins exist for the TEXTAREA that layer it with toolbars, auto-resizing, rich-text editing and the works. However, for my usage, this was way over kill. I wanted a simple line-number facility that would allow my users easily see where they are. Particuraly handy for editing code online. After searching, I couldn't find one, so I simply created my own plugin...

In today's Weblogs, Markus Karg presents a Short test on .hashCode() Performance:

Several APIs demand that the user is implementing the .hashCode() method. The reason is that these APIs are using hash based containers (like HashMap) to have a fast means of managing lots of objects (always comparing objects using .equals() would need endless time). There are lots of standard implementations on the web, so the question is, what performance impact the implemenation of .hashCode() will have. I did some tests and here are the results...

John Ferguson Smart previews the upcoming Java Power Tools Training in London and Paris - don't miss out!:

This February, in collaboration with Skills Matter, I will be in Europe to deliver the Java Power Tools Bootcamp in London and Paris. The London session is scheduled for February 15, and the Paris session is scheduled for February 22. 

 

The Java Power Tools Bootcamp is an intense, comprehensive 5-day workshop covering best-of-breed Java development, code quality and build automation tools and techniques build around tools like Maven, Hudson, Nexus and Sonar...

Felipe Gaucho writes about Glassfish SecurityManager.checkPermission:

After configuring Hudson to run in a Glassfish with security manager enabled I started to have problems in other applications, specially web applications using reflection to access private fields in Java classes. Over the web I noticed a lot of people struggling with the same issue (Seam, GWT,Vaadin, etc). The problem is caused because most of the modern frameworks tries to access Java private fields directly - perhaps motivated by the popularity of type-unsafe languages or just designed for better performance...

In the Forums,dmalis asks How to display SVG image?: "Hi guys, anyone tried to display SVG image. I can't get it to work - this is what I did: 1. created svg image with inkscape and saved it as plain svg file. 2. added that file to my resource file (Theme creator -> add SVG..."

ezez85 has a problem involving Content Advertisement from a single peer: "Hi all, i have a little problem here. I implement a CMS in the chatting application that i am built. Since i am searching the content by keyword, the system work fine. I am wondering it is possible to search all the contents that is shared by a..."

elie has a problem with LWUIT on MAC: "Hello, I am wanting to implement JavaHelp solely for doing search. The basic search feature appears to not have any way to do a boolean search, nor a way to provide exclusion (NOT) or strict AND. However, there is source code provided for two example extensions..."


Our current Spotlightis Geertjan Wielenga's post 2010: The Year of Documented Reference Material for the NetBeans Platform: "Towards the end of 2008, I predicted that 2009 would be The Year of Documented Business Scenarios for the NetBeans Platform. I think, looking back at the past year, that, in particular via How to Create a Swing CRUD Application on NetBeans Platform 6.8, the year turned out as I had hoped. In addition to that, The Definitive Guide to NetBeans Platform was released during the past year as well, together with a massively updated NetBeans Platform screenshots page, which all relate closely to business scenarios for the NetBeans Platform. In the case of the book, the business scenarios were enabled, in the case of the screenshots page, the business scenarios wereproved..."


Our current java.net Poll asks What's your outlook for the technology / software engineering economy in 2010?. Voting will run through Thursday or Friday (depending on where you live).


We've just published a new java.net Feature Article, Maven Repository Managers for the Enterprise, by John Smart. We're also featuring Jeff Friesen's Reading Newsfeeds in JavaFX with FeedRead, in which Jeff demonstrates how to apply JavaFX's RSS and Atom newsfeed capabilities to create a snazzy little JavaFX app that can run stand-alone or in a browser.


The latest Java Mobility Podcast is Java Mobile Podcast 92: MIDP 3.0 in Depth: Tutorials and Demonstrations: Excerpts from the JavaOne 2009 MIDP 3.0 In Depth: Tutorials and Demonstrations session with Roger Riggs, Lakshmi Dontamsetti and Stan Kao.


Current and upcoming Java Events:

Registered users can submit event listings for the java.net 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 java.net it will be archived along with other past issues in the java.net Archive.

-- Kevin Farnham
O'Reilly Media

 

John O'Conner has published five Geeky predictions for 2010, and his provocative forecasts are eliciting quite a response! It's not all good news (if the predictions come true). I'll also venture to say that, in my opinion, in many of the forecasts John is intentionally going out on a limb: predicting something that certainly couldhappen, but which many people probably consider unlikely.

I think John's post is the proper venue for continuing the discussion of his forecasts, so I'm not going to go into detail here about his specific predictions. But, to whet your appetite, I'll list the companies and technologies that are involved:

  • Oracle
  • Google
  • LinkedIn
  • Sun Microsystems
  • Adobe
  • Eclipse
  • NetBeans
  • Chrome OS
  • Android OS
  • Sun hardware
  • JavaFX

I intend to post a comment or two after I think a bit more about John's Geeky predictions for 2010. Have a look!

In addition, John invites us to add our own predictions to the post. Then, a year from now (if we're all still around), we'll check back and rate everyone's 2010 crystal ball gazing skill.


In Java Today, Adam Bien is Looking Back: 2009 from an Independent Consultant Perspective:

It was a great, interesting year - but my personal "business" predictions went totally wrong. I actually expected a bigger impact of the economy downturn to the amount of work (contracts) and actually planned a "vacation-year". The plan was to learn as much as possible new stuff, speak at few conferences, write some books and articles in parallel. What happened was the exact opposite of a "vacation": I got more contract requests, than I could actually handle. I underestimated the Java EE 5 interests of my customers...

Fkieviet announces GlassFish ESB v2.2 release now available for download:

The first post on The Aquarium for 2010! What better way to start the new year than with a new release? Six months after the release of v2.1, GlassFish ESB v2.2 is now released and is available for download. Three more components made it to released status, and are included in the installation. These components are...

Noam Tenne writes about how to Empower Hudson with Artifactory - Track and Replay Your Build Artifacts:

In this article, I will demonstrate how to integrate your Hudson builds with JFrog's Artifactory repository manager. We will use Artifactory plugin to deploy the Hudson build artifacts and track them back to their original build. Overview: Keeping the history and reproducibility of code is a must-have for any modern project. Using one of the different flavors of version control applications, you can easily reproduce the state of any point in the past using the different methods of SCM tagging...

In today's Weblogs, John O'Conner presents his Geeky predictions for 2010:

Everyone has something to say about the past. Few can see the future. Here are my predictions for 2010! * Oracle will prefer Eclipse and will let NetBeans go. I don't like it anymore than you, but why would they support two (three with JDeveloper?) competing IDEs? Oracle's existing staff knows and loves Eclipse, their tooling is built around Eclipse, their plugins are built for Eclipse. Why change something if you don't need to? My only question is who will pick up the support for NetBeans, which is otherwise a great product and is definitely worth saving...just not worth it for Oracle. * Chrome OS and Android OS will converge...

Binod provides SailFin CAFE Fundamentals: CommunicationBeans and Agents:

SIP Servlets provide a server side Java abstraction to SIP protocol and it is based on familiar servlet model. This enables an application developer to use Java servlet programming to write Converged applications. What exactly is the meaning of "converged applications"? SIP Servlet Specification explains this as follows: "While the SIP Servlet API can certainly be implemented independently of the HTTP Servlet API, it is expected that many interesting services will combine multiple modes of communication, for example, telephony, Web, email, instant messaging and other server side components like Web services and other Java EE interfaces." SIP Servlet specification defines SIP Application Session, which is a session that holds child protocol sessions (Http Session and Sip Sessions)...

John Ferguson Smart presents A tale of two repository managers: Nexus and Artifactory compared and contrasted:

There are several Maven repository managers on the market, but the two most prominent and most powerful are without doubt Nexusand Artifactory. Both these products are open source, with commercial versions containing more advanced features. Both are fine products, with many similar features. In many cases, however, Nexus and Artifactory respond to similar user needs, but in quite different ways. In this article, I will try to give a general picture of a few of the main distinguishing features of these two tools, from the point of view of how you might want to setup your enterprise repository in a real organization...

In the Forums,alesque has questions regarding EJB 3.1, @Asynchronous and thread pool: "Hi. Since EJB 3.1, there is a new annotation @Asynchronous. Unfortunately there is no parameter to define the max pool size of threads. By default there are only 3 threads handling @Asynchronous method (Ejb-Async-Thread-1, Ejb-Async-Thread-2, Ejb-Async-Thread-3)..."

technolgia wants to Display Applications as in BlackBerry (in a Grid View): "Hi, I am trying to display the applications as in Blackberry i.e the applications in the form of buttons and the name of the application appearing at the bottom of the form as we scroll over the applications. To achieve this: I am using a container of Grid layout to which i add the buttons..."

cyberpunkpor asks about SpnegoContextToken support: "We have a WCF service that has WsHttpBinding (client will not change this) with Negotiateservicecredential=true (client also will not change this). We need to use Java to consume this WebService. We tried a simple POC with Metro (WSIT) and we didn't succeeded..."


Our current Spotlightis Geertjan Wielenga's post 2010: The Year of Documented Reference Material for the NetBeans Platform: "Towards the end of 2008, I predicted that 2009 would be The Year of Documented Business Scenarios for the NetBeans Platform. I think, looking back at the past year, that, in particular via How to Create a Swing CRUD Application on NetBeans Platform 6.8, the year turned out as I had hoped. In addition to that, The Definitive Guide to NetBeans Platform was released during the past year as well, together with a massively updated NetBeans Platform screenshots page, which all relate closely to business scenarios for the NetBeans Platform. In the case of the book, the business scenarios were enabled, in the case of the screenshots page, the business scenarios wereproved..."


Our current java.net Poll asks What's your outlook for the technology / software engineering economy in 2010?. Voting will run through Thursday or Friday (depending on where you live).


We've just published a new java.net Feature Article, Maven Repository Managers for the Enterprise/a>, by John Smart. We're also featuring Jeff Friesen's Reading Newsfeeds in JavaFX with FeedRead, in which Jeff demonstrates how to apply JavaFX's RSS and Atom newsfeed capabilities to create a snazzy little JavaFX app that can run stand-alone or in a browser.


The latest Java Mobility Podcast is Java Mobile Podcast 92: MIDP 3.0 in Depth: Tutorials and Demonstrations: Excerpts from the JavaOne 2009 MIDP 3.0 In Depth: Tutorials and Demonstrations session with Roger Riggs, Lakshmi Dontamsetti and Stan Kao.


Current and upcoming Java Events:

Registered users can submit event listings for the java.net 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 java.net it will be archived along with other past issues in the java.net Archive.

-- Kevin Farnham
O'Reilly Media

 

You'd think it would be easy to go from point A to point B. And in a virtual world, it is -- especially if you don't care about having your animations look realistic. In our lead Java Today story, Animations 101 - from point A to point B, Kirill Grouchnikov takes out pencil and notebook to demonstrate the mathematical complexity that lies behind getting from here to there in the realworld.

Kirill starts out with the basics:

In a perfect world (imagine a deserted highway), moving from point A to point B is just following the straight line.

So, in an animation, you would simply have the object start moving from point A with a given step size per second, and stop moving when it reaches point B. Kirill analyzes this technique as follows:

While this seems quite straightforward (and i have seen quite a few presentations that use linear animations), this falls apart once you translate the traveled distance to velocity:

https://pushingpixels.dev.java.net/images/animationseries/101-03.png

This is hardly the way things move in the real world (be they man-made, inanimate or animate).

If Kirill's point isn't clear, consider a car on that deserted highway, at rest at point A. You want to drive it to point B. Does the car instantaneously lurch into motion at 65 miles per hour (~105 km/hr)? It would be very unfortunate for the passengers in the car if that actually happened, since it would mean that acceleration had momentarily approached infinity (only the car seat cushion's compression preventing that) -- quite possibly resulting in the passengers not being alive for the remainder of the journey to point B (consider being thrown at 105 km/hr into a rigidly stationary car seat -- no matter how soft the cushions, you're not coming out of that intact).

Is this what really happens when we travel somewhere? Of course not. In reality, the gas pedal is pressed, and the car's velocity increases (either quickly or slowly, depending on the engine and the driver) to a cruising rate. The trip proceeds at approximately the same crusing rate for most of the trip. Then, as point B is approached, the brake pedal is pressed, and the car slows down until it comes to a stop just as it reaches point B.

So, how can animations present movement in a more realistic manner? By applying mathematical formulas relating to velocity and acceleration that better replicate the actual physical world. Kirill's post covers all of this, and more: he goes into the situation where you don't stop at point B, you just go past it; the sitation where you "sprint to the finish"; the situation where you tire at the end of the trip and start slowing down (likely losing the Olympic gold).

If you've been making animations that apply the straightforward "now it's in motion, now it's not" technique, and you'd like to improve your product, Kirill Grouchnikov's Animations 101 - from point A to point B is an excellent starting point for your studies.


In Java Today, Kirill Grouchnikov presents Animations 101

In this week's java.net Spotlight, Geertjan Wielenga has some predictions for NetBeans in 2010, in 2010: The Year of Documented Reference Material for the NetBeans Platform. Geertjan's post is a follow-on to his late-2008 prediction that 2009 would be The Year of Documented Business Scenarios for the NetBeans Platform. Looking back on 2009, Geertjan indeed finds many examples of major publications of NetBeans documentation related to business scenarios.

In general, I think, from the documentation/training side (i.e., not from the development side, in which I, as technical writer, have little control), the biggest improvement in the past year is that, at this point (unlike a year ago), no one can argue anymore that "the NetBeans Platform isn't really being used in real life". The many applications that have been discovered over the past year as being based on the NetBeans Platform (particularly in the military, banking, and oil services domains) have conclusively negated that theory...

Looking ahead to 2010, Geertjan predicts that publication of NetBeans reference materials will come to the fore. That this would happen seems to naturally follow from the fact that the business case has now been well-stated and proved, by the materials that were published in 2009, and also by Geertjan's own search and discovery of an incredibly diverse set of applications that have been built on the NetBeans platform. These applications include many that are part of operational systems where high reliability and availability are required (for example, military and financial applications).

Geertjan notes that a strong start has already been made with respect to NetBeans reference documentation, with the NetBeans Platform Reference Card:

Download it right now, if you haven't done so yet. That document will form the basis of a much more ambitious reference document (dare I call it "reference manual"), as outlined in this interview. In addition, there will be a release of a new book which will be up to date for NetBeans Platform 6.8. It will be particularly useful for those beginning with the NetBeans Platform, providing an end to end tutorial, translated from Jurgen Petri's O'Reilly book "NetBeans RCP: Das Entwicklerheft".

In Java Today, Elliott Rusty Harold notes that Google has released the Google Collections Library 1.0:

Google has released version the Google Collections Library 1.0, which extends the standard JDK collections classes with: New Collection types: Multimap, Multiset, BiMap and others; High-performance immutable implementations of the standard collection types ...

Mark J. Wielaard looks forward to his upcoming Fosdem Talk - Full System Observability with SystemTap:

Really looking forward to Fosdem next month. This year I will be giving a talk What is my system doing – Full System Observability with SystemTapduring one of the main tracks. There will be some demos of the new systemtap java and python tracing support...

Geertjan Wielenga writes about Simplification of Node Creation:

I received a bunch of comments from Jesse Glick aboutHow to Create a Web Service Client with Groovy and NetBeans Platform 6.8. I'll be changing that article a lot, as a result...

In today's Weblogs, Markus Karg presents a Short test on .hashCode() Performance:

Several APIs demand that the user is implementing the .hashCode() method. The reason is that these APIs are using hash based containers (like HashMap) to have a fast means of managing lots of objects (always comparing objects using .equals() would need endless time). There are lots of standard implementations on the web, so the question is, what performance impact the implemenation of .hashCode() will have. I did some tests and here are the results...

John Ferguson Smart previews the upcoming Java Power Tools Training in London and Paris - don't miss out!:

This February, in collaboration with Skills Matter, I will be in Europe to deliver the Java Power Tools Bootcamp in London and Paris. The London session is scheduled for February 15, and the Paris session is scheduled for February 22.

 

The Java Power Tools Bootcamp is an intense, comprehensive 5-day workshop covering best-of-breed Java development, code quality and build automation tools and techniques build around tools like Maven, Hudson, Nexus and Sonar...

Felipe Gaucho writes about Glassfish SecurityManager.checkPermission:

After configuring Hudson to run in a Glassfish with security manager enabled I started to have problems in other applications, specially web applications using reflection to access private fields in Java classes. Over the web I noticed a lot of people struggling with the same issue (Seam, GWT,Vaadin, etc). The problem is caused because most of the modern frameworks tries to access Java private fields directly - perhaps motivated by the popularity of type-unsafe languages or just designed for better performance...

In the Forums,nigel_runnalis asks if Glassfish defaults lowercase "utf-8"?: "Hi. The return message header from Glassfish when viewed in SOAP UI is as follows: HTTP/1.1 200 OK ..."

micheldenis describes a defect relating to transport to placemarks get sometimes interrupted by keystrokes: "I just entered the following defect: Using trunk 4126 on local laptop system (client and server) with Vista on Toshiba Qosmio (4GB, core 2 quad, nVIDIA, OpenGL v3). Set up a world as follows ..."

allasso has questions about JavaHelp and boolean search: "Hello, I am wanting to implement JavaHelp solely for doing search. The basic search feature appears to not have any way to do a boolean search, nor a way to provide exclusion (NOT) or strict AND. However, there is source code provided for two example extensions..."


Our current Spotlightis Geertjan Wielenga's post 2010: The Year of Documented Reference Material for the NetBeans Platform: "Towards the end of 2008, I predicted that 2009 would be The Year of Documented Business Scenarios for the NetBeans Platform. I think, looking back at the past year, that, in particular via How to Create a Swing CRUD Application on NetBeans Platform 6.8, the year turned out as I had hoped. In addition to that, The Definitive Guide to NetBeans Platform was released during the past year as well, together with a massively updated NetBeans Platform screenshots page, which all relate closely to business scenarios for the NetBeans Platform. In the case of the book, the business scenarios were enabled, in the case of the screenshots page, the business scenarios wereproved..."


Our current java.net Poll asks What's your outlook for the technology / software engineering economy in 2010?. Voting will run through Thursday or Friday (depending on where you live).


We have a new java.net Feature Article by JFXStudio Holiday Challenge winner Jeff Friesen, Reading Newsfeeds in JavaFX with FeedRead, in which Jeff demonstrates how to apply JavaFX's RSS and Atom newsfeed capabilities to create a snazzy little JavaFX app that can run stand-alone or in a browser. We're also still featuring my recentInterview with Java Champion Adam Bien: Java EE 8, Closures, and More.


The latest Java Mobility Podcast is Java Mobile Podcast 92: MIDP 3.0 in Depth: Tutorials and Demonstrations: Excerpts from the JavaOne 2009 MIDP 3.0 In Depth: Tutorials and Demonstrations session with Roger Riggs, Lakshmi Dontamsetti and Stan Kao.


Current and upcoming Java Events:

Registered users can submit event listings for the java.net 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 java.net it will be archived along with other past issues in the java.net Archive.

-- Kevin Farnham
O'Reilly Media

Last week's java.net poll produced a not too surprising result: most developers consider Oracle's announced acquisition of Sun to be the most significant event in the Java realm in 2009. A total of 343 votes were cast in the survey, with the following results:

What was the most significant Java/JVM news/event in 2009?

  • 58% (200 votes) - Oracle's announced acquisition of Sun
  • 2% (8 votes) - Java store and Warehouse
  • 13% (45 votes) - Closures will be in JDK 7
  • 8% (28 votes) - Java EE 6 approval
  • 6% (22 votes) - Emergence of Scala
  • 6% (20 votes) - JavaFX development
  • 5% (16 votes) - I don't know
  • 1% (4 votes) - Other

One comment was posted, by javaprox, titled "Oracle Buys Sun":

No doubt that the most significant news event of 2009 is - "Oracle Buys Sun". This acquisition of Sun transforms the IT industry, combining best-in-class enterprise software and mission-critical computing systems. From now Oracle will be the only company that can engineer an integrated system.

I'm not sure IBM would agree with this comment, but I have felt all along that Oracle's ultimate objectives in the acquisition include spanning the hardware and software realms from enterprise data centers down to mobile devices, all within the new Oracle/Sun.

There was no close second place choice for the most significant news/event in 2009; the voting was scattered among the other choices, with "Closures in JDK 7" taking second place by garnering 13% of the vote.

New poll: technology economy outlook for 2010

Our new java.net poll asks What's your outlook for the technology / software engineering economy in 2010?. Voting will be open for the next week.

Again, Happy New Year to all followers of the Gregorian calendar system!


In Java Today, Java Champion Alan Williamson writes about Dynamic Datasource Manipulation for OpenBD:

One of the cool things with CFML is how it makes accessing databases so very painless and easy. Assuming of course, that you have the datasource already setup. It's ability to dynamically create database connections has always been somewhathazy at best. A number of backdoors to the Admin API has been given to allow people the ability to add new datasources to the underlying engine. But, what if you only want to temporarily use it? ...

Peter Knego reports Xmappr released:

Xmappris a lightweight library for mapping XML to Java, with some unique features that make it worth checking out. * Simple configuration. Object-to-XML mappings are configured via Java annotations or external XML configuration. * Partial mapping. Map only a part of XML document that you are interested in. Unmapped XML will be preserved on output. * XML namespaces are fully supported ...

Tojitu reports on a Picasa Album New View:

Select an Album and see the first 10 photos of this album with new view. Click on right or left page to see the album pages flipping...

In today's Weblogs, I sent out a notice about my new Twitter account, Tweeting Switched to my New Account: kevin_farnham:

I am moving all my tweeting to my new @kevin_farnhamTwitter account starting today. If you used to follow me on my @diyincite Twitter account, please switch to following me at twitter.com/kevin_farnham. Note: on this blog's home pageyou can see a feed of my latest @kevin_farnham Twitter posts.

Joerg Plewe starts off the New Year with RMI .... cool somehow:

Happy New Year folks! In 2002, I wrote a highly specialized, very small Q&D tool for my brother to support him in his oncological doctoral's practice. They are three physicians sharing a common room with some unique ultrasonic device. They needed something showing them at their desk wether the room is available or is currenlty occupied by somebody else. The name 'dokma' is a German pun...

Felipe Gaucho presents True Abstraction Revisited: Composite UI Components in JSF 2.0:

I got some difficulties following the tutorial about creating components with JSF 2.0, mainly due to some obsolete instructions and Maven dependencies of the more than 1 year old original articles of Ed Burns. I wrote down upgrades instructions in a hope to help other newbies to create composite UI with JSF 2.0. Nevertheless, you should read the original text because I won't explain the concepts behind creating Composite User Interfaces and neither rephrase Ed Burns. I will just give you en updated version of the same project, with the samexhtml code. I am using Eclipse on the Karmic Koala Ubuntu 9.10 but the below instructions should work everywhere :) ...

In the Forums,arshadm has a question, Glassfish V3 with Webbeans/Weld via EAR not working???: "Hi, Does anyone have a working Weld/EAR combination on Glassfish V3? I have been banging my head against a wall all day trying to get Glassfish to pickup a test bean that I have in JAR in the EAR. Initially, I had it in the lib folder but I have also promoted it to an EJB jar with no effect ..."

bhakki asks about Multiple line in textfield: "Hi, Is it possible for TextField with Multiple lines? I want to show Just Like TextArea, but i want to edit same screen itself. I don't want to show native TextArea ..."

Eli Bishop is wondering about Java 1.5/1.6 and WebFault class: "hi, Apologies in advance if this is off base or has been addressed - I'm pretty new to Metro and jax-ws. It looks to me as if Metro 2.0 has a dependency on JDK 1.6, contrary to the release notes..."


Our current Spotlightis the Annual Developer Quiz put together by Janice Heiss: "For this quiz, SDN staff author Janice J. Heiss surveyed past interviews with leading Java developers in search of questions that might challenge, inform, entertain, amuse, and provoke you. The questions aspire to reflect both the intellectual curiosity and spirit of fun to be found in the Java community. We hope you enjoy taking this quiz... Test your knowledge of Java technology and computing..."


Our new java.net Poll asks What's your outlook for the technology / software engineering economy in 2010?. Voting will run through next Thursday or Friday (depending on where you live).


We have a new java.net Feature Article by JFXStudio Holiday Challenge winner Jeff Friesen, Reading Newsfeeds in JavaFX with FeedRead, in which Jeff demonstrates how to apply JavaFX's RSS and Atom newsfeed capabilities to create a snazzy little JavaFX app that can run stand-alone or in a browser. We're also still featuring my recentInterview with Java Champion Adam Bien: Java EE 8, Closures, and More.


The latest Java Mobility Podcast is Java Mobile Podcast 92: MIDP 3.0 in Depth: Tutorials and Demonstrations: Excerpts from the JavaOne 2009 MIDP 3.0 In Depth: Tutorials and Demonstrations session with Roger Riggs, Lakshmi Dontamsetti and Stan Kao.


Current and upcoming Java Events:

Registered users can submit event listings for the java.net 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 java.net it will be archived along with other past issues in the java.net Archive.

-- Kevin Farnham
O'Reilly Media

Filter Blog

By date: