users@grizzly.java.net

Re: AW: Implementing a custom protocol with grizzly

From: charlie hunt <charlie.hunt_at_sun.com>
Date: Mon, 07 Jan 2008 10:12:49 -0600

Hi John,

There is work currently work in progress to have GlassFish CORBA using
Grizzly. So, there will soon be a CORBA IIOP which uses Grizzly. The
status of that work at the moment is that the GlassFish CORBA unit tests
are working. But, we have not done code review(s) of the work nor do we
know how well it performs compared to what was implemented in GlassFish
V2's CORBA.

We can take an action to let those on the grizzly mailing lists know
when that work is completed and integrated into the GlassFish CORBA
repository at http://glassfish-corba.dev.java.net.

A couple other noteworthy items on GlassFish CORBA's IIOP implementation:
1.) It currently does not use the Grizzly connection caching you see
under Project Grizzly. It is currently using its own connection caching
implementation. But, there are plans to move to using Grizzly's
connection caching in the future. Fwiw, the connection caching in
Grizzly grew out of deficiencies observed in the GlassFish CORBA
connection caching.
2.) When a GlassFish CORBA client sends a request, it blocks and waits
for a response. I see in your list of (short) requirements you would
like the client to not block. Grizzly does support the ability for a
client to not block.

Alexey worked on both areas of Grizzly connection caching and
non-blocking client requests. So, he may be able to point you at some
Grizzly unit tests for some help in those areas.

Ooh, before I forget ... If you want to look at any of the
implementation of GlassFish CORBA IIOP, its project web site is
http://glassfish-corba.dev.java.net. It uses Mercurial as its source
code management system. to retrieve the source code and build it is
probably easiest to use NetBeans IDE 6.0 and grab the Mercurial plug-in
from NetBeans plug-in center. And, of course, you'll need a Mercurial
client too. Additional instructions are on GlassFish CORBA's web site.

hths,

charlie ....

John ROM wrote:
> Hello,
> now after a day looking into grizzly I think I have a better overview about what grizzly does.
>
> In short words :
> 1) I want a grizzly client to send
> java serialized objects over only one or more connections (configurable) to a grizzly server.
>
> 2) If the connection breaks maybe because a firewall terminates the connection I want the client to reconnect.
>
> 3) the grizzly-client should not block on the connection
>
> 4) the grizzly server should able to send heartbeat-messages to the client.
> 5) the client should be able to fragment serialized objects so that other maybe smaller objects can be send in between.
>
> 6) the client can cancel the sending of any of its objects.
>
> I have a feeling that a lot of functionality that I need would be there if Grizzly would fully implement CORBA IIOP.
> (For example CORBA Fragmentation with its Request IDs, or Corba Cancel)
> Anyway looking for one day at grizzly I happily found the following:
>
> - Grizzly Connection Caching which would help resolving 1) and 2).
> - Grizzly Protocol Parser which would help with 3)
>
> Are there any other classes I should be looking at?
>
> Many Greetings
> John
>
>