users@grizzly.java.net

Re: [ANN] Grizzly 2.0-RC1 released

From: Matthew Swift <matthew.swift_at_Oracle.com>
Date: Wed, 01 Sep 2010 16:21:18 +0200

  Great news Alexey and team!

I have a couple of feedback items for you:

    * Are you still planning to embed the gmbal stub library inside
      Grizzly so that applications which use Grizzly don't need to go
      and resolve the dependency themselves? An exception being of
      course those applications which want to take advantage of the JMX
      support in Grizzly.

    * It's a big ask, but it would be really nice if your team could
      spend some time going through the Grizzly sources and deciding
      which APIs are public and which are not. There seem to be a very
      large number of classes and methods which are probably not
      intended for public consumption. It would be really nice verify
      that they have the appropriate access rights (i.e.
      public/package/protected/private) and update where necessary. This
      would have two benefits: 1) user-friendliness since a Grizzly with
      less classes and interfaces will be easier to learn and navigate,
      and 2) compatibility since only public classes/interfaces will
      need to remain stable.

      Of course this is not always possible to do - sometimes an
      implementation class must be made public because another class in
      a different package needs to access it. Something that we have
      done in our LDAP SDK is to split the source tree in two parts: a
      com.sun.opends.sdk.* package hierarchy containing private
      implementation classes and a public org.opends.sdk.* package
      hierarchy containing the public interfaces and classes. Our
      Javadoc and src.zip only includes the public org.opends.sdk.*
      package hierarchy, effectively hiding the private package
      hierarchy. This is how they've managed the problem for J2SE AFAIK.

      Presumably this kind of problem will be easier to solve when/if
      JDK7 modules arrive. :-)

Thanks again,

Matt

On 31/08/10 20:14, Oleksiy Stashok wrote:
> 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 grizzly artifacts have been pushed to maven using the group ID
> *com.sun.grizzly* and versioned *2.0.0-RC1*.
> The following artifacts are 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.
>
> * framework-samples*, *http-samples*, *webcontainer-samples*,
> *websockets-samples*: modules, which demonstrate
> functionality of the Grizzly 2.0 modules
> described above.
>
>
> Here are links to the basic Grizzly 2.0 samples and blogs:
>
> - TCP echo sample [1]
> - UDP echo sample [2]
> - SSL sample [3]
> - Tunnel server [4]
> - HTTP sample [5]
> - JMX support [6]
> - Web container blocking I/O sample [7]
> - Web container NIO streams sample [8]
> - Web sockets blog [9]
> - Web sockets chat sample [10]
>
> and more blogs and documentation to come...
>
> We will really appreciate community feedback!
>
> Thanks.
>
> WBR,
> Alexey.
>
> [1]
> https://grizzly.dev.java.net/source/browse/grizzly/branches/2dot0/code/samples/framework-samples/src/main/java/com/sun/grizzly/samples/echo/
> [2]
> https://grizzly.dev.java.net/source/browse/grizzly/branches/2dot0/code/samples/framework-samples/src/main/java/com/sun/grizzly/samples/udpecho/
> [3]
> https://grizzly.dev.java.net/source/browse/grizzly/branches/2dot0/code/samples/framework-samples/src/main/java/com/sun/grizzly/samples/ssl/
> [4]
> https://grizzly.dev.java.net/source/browse/grizzly/branches/2dot0/code/samples/framework-samples/src/main/java/com/sun/grizzly/samples/tunnel/
> [5] http://blogs.sun.com/oleksiys/entry/grizzly_2_0_asynchronous_http
> [6] http://blogs.sun.com/rlubke/entry/grizzly_2_0_now_has
> [7]
> https://grizzly.dev.java.net/source/browse/grizzly/branches/2dot0/code/samples/webcontainer-samples/src/main/java/com/sun/grizzly/samples/webcontainer/blockingadapter/
>
> [8]
> https://grizzly.dev.java.net/source/browse/grizzly/branches/2dot0/code/samples/webcontainer-samples/src/main/java/com/sun/grizzly/samples/webcontainer/nonblockingadapter/
> [9] http://blogs.sun.com/oleksiys/entry/grizzly_2_0_websockets_support
> [10]
> https://grizzly.dev.java.net/source/browse/grizzly/branches/2dot0/code/samples/websockets/chat/