users@grizzly.java.net

Re: [ANN] Grizzly 2.0-RC1 released

From: Oleksiy Stashok <Oleksiy.Stashok_at_Sun.COM>
Date: Thu, 02 Sep 2010 19:04:34 +0200

> Let us know if you want us to test any changes you make. I wouldn't
> be surprised if we're using APIs that we're not supposed to.
Hope not :) Anyway first we will try to trim the abstractions by
removing redundant interfaces and abstract classes... then will
explore the best way to repackage the sources.

> FWIW, you guys have prompted me to "mavenize" our LDAP SDK as
> well. :-)
IMO it's better to mavenize sooner than later :)

Thank you!

WBR,
Alexey.

>
> Matt
>
>
> On 02/09/10 15:01, Oleksiy Stashok wrote:
>>
>> Hi Matt,
>>
>> thank you very much for the feedback.
>>
>>> 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.
>> For non-maven projects you would probably need to provide the gmbal
>> binaries manually. Though we're planning to create bundle modules,
>> similar to what we have for 1.9.x, which will bundle all the
>> required classes out of the box.
>>
>>
>>> 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.
>> Very good point. We've discussed this during our yesterday's
>> meeting, and we will make a refactoring nearest time.
>>
>> Thanks again!
>>
>> WBR,
>> Alexey.
>>
>>
>>> 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/
>>