Tuesday Aug 23, 2011

I've moved....

For those that may actually follow this blog, I've moved to http://www.notshabby.net.

Tuesday Aug 31, 2010

Grizzly 2.0.0 release candidate 1 is now available!

From the announcement on the mailing list:

The Grizzly Team would like to announce the release of Grizzly 2.0 RC1 (release candidate).   This goal of this release was a stable core and solid API.  While this is a significant step to getting Grizzly 2.0 finalized, we still have work to do in the area of documentation, performance, and resolving any feedback solicited by this release.

The bits are available on our maven repository under the group ID com.sun.grizzly, versioned 2.0.0-RC1.

Here's some info on the artifacts that are currently available:

  • framework (artifact ID: grizzly-framework) : The core Grizzly runtime.
  • http (artifact ID: grizzly-http) : HTTP protocol implementation, which contains HTTP Filters and utility classes to work with HTTP artifacts.
  • webcontainer (artifact ID: grizzly-webcontainer) :  Lightweight Grizzly web server implementation, which provides high level abstractions based on the entities provided by the HTTP module. While the concept is similar to the Grizzly 1.x web server, it does expand this abstraction idea by providing an API for non-blocking streams to read/write application content.
  • websockets (artifact ID: grizzly-websockets) : Web Sockets implementation based on http module.

There are several samples available that demonstrate all of these modules in action.

  • Core framework samples [1], [2], [3], [4].
  • HTTP protocol framework sample [5]
  • Webcontainer samples using non-blocking streams [6], [7]
  • Web Socket samples [8]

We're looking forward to hearing back from the community about their experiences using this release (either good or bad).  Feel free to start a discussion on the grizzly mailing lists or send us an issue report.

Thursday Aug 12, 2010

Grizzly 2.0 now has JMX support.

So, it's been some time since I've last blogged.  Several changes have occurred since then.  One of these changes is my move from the Mojarra to the Grizzly project.

The team has been hard at work getting Grizzly 2.0 into shape, and it's coming along nicely.  The latest feature we've added is support for JMX monitoring.

Enabling JMX Support

Grizzly 2.0 JMX support is enabled through another related project called "gmbal" (pronounced "gumball").  This project allowed us to take the grunt work out of working with JMX via JDK5 annotations.   If a project has JMX requirements, it simply needs to add a maven dependency with the group id of org.glassfish.gmbal and artifact id gmbal.

Once the dependency has been included in the project, it's very simple to enable monitoring:

Giving the JMX Monitoring a Test Drive

Using the code snippet above, with the server running, connect to the server using JConsole:

Select the process of your java application and click Connect.  Once connected, select the MBeans tab and expand the com.sun.grizzly root.

So, what do these MBeans represent?

  • The DefaultMemoryManager provides details on the memory managed subsystem introduced in Grizzly 2.0.  There will be one DefaultMemoryManager per Transport.
  • FileCache provides details on the static file caching mechanism that may be enabled on a per-Transport basis.
  • GrizzlyListener is an abstraction around the Grizzly 2.0 Transport.  This provides details on the listener configuration (i.e., port, network host, secure, etc.).
  • GrizzWebServer is the root of the JMX hierarchy.
  • HttpCodecFilter monitors statistics related to HTTP protocol parsing/encoding.
  • TCPNIOTransport is the concrete Transport implementation used by a GrizzlyListener.  There will be one transport per GrizzlyListener instance.
  • ThreadPool provides details on the threads being used by the GrizzlyWebServer.  Note that this pool is shared by all Transports, however, JConsole
    may show more than one thread pool as being available.
  • WebServerFilter provides details on the higher level HTTP server processing (i.e., how many requests have been serviced, how may responses
    are current suspended, etc.)

I've included some examples of some of the monitoring statistics that are available after making several requests to the server:


HTTP Codec Filter

Web Server Filter

Memory Manager

If anyone decides to give this a shot and and has ideas to offer on improving monitoring support or if you find a problem, please feel free to log a request on the project issue tracker, or join the user mailing list and start a discussion with your ideas. 

    Thursday Jan 21, 2010

    Watching the Sun set....


    I'm very grateful for the past nine years Sun.  Looking forward to see what the future holds...

    Thursday Dec 10, 2009

    Glassfish V3+Mojarra 2.0.2

    There's a lot of buzz today around the release of GlassFish V3.  

    Instead of duplicating content, I would recommend reading this blog entry about the release posted to The Aquarium.

    I'd like to point out that the Mojarra project team has also pushed the Mojarra 2.0.2 patch release out today as well.  This patch release is included with V3 already, so no need to upgrade.  If, by chance, you're using GlassFish V2 with Mojarra 2.0, follow the upgrade instructions outlined in the release notes.

    Monday Oct 19, 2009

    Mojarra 2.0.0 is available!

    Mojarra 2.0.0 is now available!

    There are several ways to obtain the release. 

    Please review the release notes as there are important details there pertaining to differences between the implementation and the specification as well as a basic migration guide from 1.2 to 2.0 (note that this is a live document, so we'll be making additions - check back regularly).

    The JSF 2.0 tutorial from our Sun documentation team should be available in the coming weeks.  As soon as it is, we'll send out a notification.  Until then, here are some nice resources for JSF 2.0:

    On the tools+JSF 2.0 front, NetBeans is well underway with the JSF 2.0 support.  I'd recommend grabbing the NetBeans development build and try it out!  Ed noted the other day that you could highlight a section of markup in a Facelet template and extract it into a composite component.  Slick!  The JetBrains guys have been busy as well.  Check out their blog on JSF 2.0 support within Maia.

    I'd like to personally thank all of our external contributors who have been committing code to the repository directly or submitting patches to help improve our quality (these are in no particular order - my apologies if I've missed anyone):

    • Guy Veraghtert
    • Imre OƟwald
    • Ted Goddard
    • Mark Collette
    • Dan Allen
    • Alexandr Smirnov
    • Martin Marinschek
    • Michael Kurz
    • Andy Schwartz

    I'd also like to thank our top three issue reporters for taking the time to log issues (again, in no particular order)

    • Frank Hofmann
    • Guy Veraghtert
    • Juergen Zimmerman

    Also, thanks to Ed Burns, Roger Kitain, Jim Driscoll, and Doug Donahue for putting up with me for the past two years while we worked on this project :)

    Finally, if you'd like to discuss JSF 2.0 with other users, I'd recommend the following:

    The GlassFish Webtier forums are monitored by the Mojarra developers.   The IRC channel, also, is frequented by the Mojarra developers, as well as folks from Exadel, MyFaces, and consumers of JSF as a technology.  It's a great way to interact with the community.

    I'm excited that we've reached this stage and am looking forward to hearing/reading about people's experiences with JSF 2.0!




    « August 2016