Ed Ort and Arun Gupta: What's New and Cool in GlassFish v3
Part 2 of Ed Ort's latest "Deep Dive" production, Deep Dive: Java EE 6 and GlassFish v3 with Arun Gupta, covers "What's New and Cool in GlassFish v3." See my post from yesterday for an overview of Part 1 of the deep dive, "What's New and Cool in Java EE 6."
Part 2 begins with Ed noting that GlassFish v3 is the reference implementation for Java EE 6. Then, Arun gets into some of the productivity features that have been implemented in GF v3. The first point is the modularity of GF v3. Arun notes that when you start GlassFish v3, it launches in just a few seconds. This is because it is deploying only the modules needed for the currently requested operations.
In operational mode, GlassFish v3 monitors the usage of a web container, and automatically shuts down the container when it is no longer being used. This maximizes the utilization of available resources, by freeing the server from actively maintaining components that are not currently being used. The Apache Felix platform is the engine behind this.
Arun demonstrates the GlassFish v3 features on a notebook computer -- not your typical hardware for running a highly scalable enterprise level platform (as is seen when GF unexpectedly fails to quickly start). But, he says that 3 seconds is the standard start-up time on more standard server hardware. Later in the screencast, Arun demonstrates an example app. So, GF v3 did work on the notebook -- it just couldn't start up in the 3 seconds that is standard on actual server hardware.
The next GlassFish v3 feature that Arun emphasizes in the screencast is dynamic languages and frameworks support (Ruby, JRuby, Jython, django, groovy, grails, etc.). Arun presents a demonstration where he creates a JRuby application running on GlassFish, with Rails, using a MySQL database.
Next Arun talks about the GlassFish v3 REST interface, and demonstrates this in his application. He shows a RESTful web interface that provides status information on the GlassFish server's status, then moves on to demoing a JavaFX front-end for this same information, using, for example, a swimming fish that correlates with certain server activity statistics. A lot of fun! More detailed views (for example, numeric tables, meters, etc.) are also available. Quite nice!
Part 2 of Deep Dive: Java EE 6 and GlassFish v3 with Arun Gupta runs about 20 minutes, making the total time span of the two-part series just under 40 minutes. IMO, it's time well spent if you don't work, or haven't worked recently, with Java EE and GlassFish, and you'd like to know what all the excitement is about regarding Java EE 6 and GlassFish v3.
One of the most important developer activities is debugging. In my college days, we were forced to use simple text editors for our software development, so I started out using print statements to see where my code was going wrong. These days, we have the comfort of IDEs, but debugging remains one of those talents that you get more efficient at with experience. The best feature I have seen in both Eclipse and NetBeans is the conditional breakpoint concept...
Peligrireports Patch 1 for GlassFish v2.1.1 Now Available:
at the end of October
and last week we released
our first commercial patch for it. Due to how the multiple releases intersect, this patch is also GFv2.1 p7 and SJS AS 9.1U2 p13. GFv2.1.1 p1 addresses 31 new defects since GFv2.1.1. The patches are delivered in several formats (file and pkg)
and became available at
in December 18th...
The Novajug Blog reports on an upcoming meeting on Jan 6: An Evening with Java Champion Kirk Pepperdine – "Concurrency & Performance":
Abstract: The move from single to multi-core is a silent revolution. It has happened without Java developers taking much notice. Part of this is because Java developers have been writing multi-threaded applications for a long time. Even so, multi-core is a game changing development and with a 1000 core CPUs on the event horizon, it’s one that we must adapt to if we are to remain competitive. In this talk we will explore some of the developments that are taking place in the JVM, and in the JDK to help us. We will also look at techniques we can use to improve the performance of our applications running on machines with 10s or even 100s of CPUs...
In today's Weblogs, John Ferguson Smart presents Automated deployment with Cargo and Maven - a short primer:
Cargo is a versatile library that lets you manage, and deploy applications to, a variety of application servers. In this article, we look at how to use Cargo with Maven. If you are starting from scratch, you can use an Archetype to create a Cargo-enabled web application...
Fabrizio Giudici provides Another example of as(...) used for easily extensible APIs:
Here's another simple example of how the as(...) idiom can be used for create an API which is stable, elegant, but extensible (this time unrelated to any semantic stuff). Up to a few days ago, I had the following interface in the GeoCoding API of forceTen...
Felipe Gaucho is developing Webapps with Eclipse and Maven (maven-war-plugin):
Web applications created by the Eclipse IDE contains an annoying folder WebContent to host the web resources and deployment descriptors. Quite natural for Eclipse users, this feature ignores the Maven convention and force the developers to hack the pom files in order to get the project up and running in Eclipse. In this aspect, Eclipse if far behind the other IDEs regarding Maven support, even if you consider the very good M2Eclipse plugin. So, for you lazy Christmas hackers, here it is a solution for the Maven integration problems in Eclipse based on the maven-war-plugin...
In the Forums,
adinkes announces AWT port finished: "I made a port of LWUIT 1.3 to AWT. It works fine on a desktop computer. The goal was to run it on a pocket PC running the IBM J9. It work fine but it is extremely slow. For example the display of the menu dialog in the main form of..."
ducthang2608is working with RTP in J2ME: "Can anyone help me about RTP in J2ME,i don't know whether J2ME(CLDC/CDC) supported RTP,or is there any open-source can recieve and play RTP packet. Plz help me ! Thank so much !"
kerbohas questions regarding Running Glassfish v3 as a Windows Service?: "There are instructions for GlassFish v2 to run GlassFish as a Windows Service. These instructions use the file "appservService.exe" which is part of the v2 distribution. This file is not part of the v3 distribution ..."
Our current Spotlight is 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 current java.net Poll asks "What was the most significant Java/JVM news/event in 2009?" 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 recent Interview 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:
- January 11: Java Training Philippines
- January 15: Spring Grails Asia 2010
- January 25: Developing Java Web Applications
- March 17-19: TheServerSide Java Symposium 2010
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