Grand Champion, Grand Champion, international de course!Today Scott blogged about the new GlassFish SPECjAppServer scores. Knowing there is a little animal that helped to get that is amazing for the NIO community in general :-)
Also today Sun released the Java EE 5 SDK update 2. Don't tell anybody, but it include the JBI HTTP Binding Component(BC).....build on top of Grizzly Asynchronous Request...
The joy of open source! Last week I got an email from Jonas Jacobi and John Fallows about their upcoming talk at Javapolis. Wow! Combining Faces, Dojo, Bayeux, Comet, and Grizzly ARP is very impressive! I would have liked to be there :-)!! Congratulation to Jonas and John for their talk (I've spy there :-))! And today Grizzly is also part JRuby on Rails buzz....welcome to GrizzlyPolis!!...
Extending Grizzly to support any tcp protocols is not complex. This time I will explain how to customize the current framework to support other protocols than HTTP. In part I and part II, I've explained how to embed Grizzly and how to configure its thread pool. This time let me give some details about how a request is handled in Grizzly, and how to extends the current implementation.
All tcp...
Youpie!! epoll is now supported in both Java SE 6 and SE 5 update 10 on Linux 2.6 kernel. You can read Alan's blog for more information. Java SE 6 uses it by default. If you want to enable when using Java SE 5 update 10, just pass the following property:-Djava.nio.channels.spi.SelectorProvider=sun.nio.ch.EPollSelectorProviderMore information can be found here and hereIf you are using Java SE 5...
When embedding Grizzly, being able to replace the default thread pool with an external one is important. Fortunately, this is simple to do. Before going into the details,in Grizzly a thread pool is named a Pipeline. A pipeline is just a wrapper around a thread pool, with some extra methods to collect statistics. The most important methods are execute and waitForIoTask.
The default Grizzly...
Grizzly is more and more embedded in frameworks and products, and since the documentation is not as good as I would like, let's start a series of blogs that explain how to embed and extend the framework. All islands are available, I just need to describe how to move from island to island :-).
The main entry point when embedding Grizzly is the SelectorThread. This class contains all the methods...