|
|
|
|
Trustin Lee
()
|
|
||||||||||||
|
Hi folks,
It's been a long time! Netty 3.1.0.ALPHA3, the third milestone of the another major feature release iteration, has been released. Please visit our web site to download it: * http://www.jboss.org/netty/ As always, your feed back is more than appreciated. Please visit the discussion forum and leave some comments and questions: * http://www.jboss.org/netty/community.html Integration with Google Protocol Buffers ======================================== What are Google Protocol Buffers? "Google Protocol Buffers are a flexible, efficient, automated mechanism for serializing structured data - think XML, but smaller, faster, and simpler. You define how you want your data to be structured once, then you can use special generated source code to easily write and read your structured data to and from a variety of data streams and using a variety of languages. You can even update your data structure without breaking deployed programs that are compiled against the "old" format," cited from 'Google Protocol Buffers Developer Guide' - http://tinyurl.com/68e2x4 Doesn't it sound like an ideal solution for the rapid implementation of a highly efficient yet evolvable binary protocol? Indeed. With the ProtobufEncoder and ProtobufDecoder (in org.jboss.netty.handler.codec.protobuf), you can adapt the message classes generated by Google Protocol Buffers compiler (protoc) into Netty codec. Please take a look around the new 'LocalTime' example that shows how easily you can create a high-performing binary protocol client and server: * LocalTimeProtocol.proto - http://tinyurl.com/7melgo * LocalTimeServer - http://tinyurl.com/9y8kfj * LocalTimeClient - http://tinyurl.com/9jvxa3 Integration with IoC/DI technologies ==================================== Creating an instance of ChannelFactory was not very easy when you want to create them for your favorite IoC container. In many cases, you want the ChannelFactory created and injected by the IoC container to be destroyed properly, too. This release adds the integration with four leading IoC/DI technologies: * JBoss Microcontainer: http://www.jboss.org/jbossmc/ * ChannelFactories are automatically installed on deployment. * Related resources are automatically acquired and released. * Internal log messages are redirected to JBoss Logging SPI. * OSGi framework: http://www.osgi.org/ * ChannelFactories are automatically registered as services on startup. * Related resources are automatically acquired and released. * Internal log messages are redirected to OSGi LogService. * Google Guice: http://code.google.com/p/google-guice/ * A convenience module (NettyModule) * Various providers * An annotation for precise resource (Executor) injection * Spring framework: http://www.springframework.org/ * Import classpath:/org/jboss/netty/container/spring/beans.xml * Source: http://tinyurl.com/7okf33 * ConfigurableApplicationContext.close() will release all resources. Please note that the name of each registered / installed / instantiated ChannelFactory is identical with its fully qualified class name. For example, you can look up NioServerSocketChannelFactory with the service name 'org.netty.jboss.channel.socket.nio.NioServerSocketChannelFactory' in OSGi. Alternatively, you can specify 'org.netty.jboss.channel.socket.ServerSocketChannelFactory' so that Netty can choose the proper ServerSocketChannelFactory implementation (it's NioServerSocketChannelFactory for now.) Also, please let me know if you have some nice idea to integrate Netty better into the container technologies mentioned above, I'd be pleased to listen to you. Codec improvements ================== Various options have been added to existing codec classes. For example, you can tell DelimiterBasedFrameDecoder to include the delimiter in the frame now. Also, simple yet useful codec classes were added for your convenience: * LengthFieldBasedFrameDecoder - http://tinyurl.com/9rzasc * decodes a frame by looking in the length field of a message * LengthFieldPrepender - http://tinyurl.com/852d57 * prepends a binary integer header to the message * Base64 codec - http://tinyurl.com/97aswz These are small changes and additions but you will find combining these constructs will help you decode a proprietary protocol fairly easily without much coding. org.jboss.netty.group -> org.jboss.netty.channel.group ====================================================== The classes in the org.jboss.netty.group package, which were introduced in 3.1.0.ALPHA2 have been moved to the org.jboss.netty.channel.group package. Upcoming Releases ================= All features added in this release will be reviewed continuously following up your feed back. 3.1.0.ALPHA4 will be the last alpha version with most noticeable design issues resolved. Please feel free to browse the road map and let us know what you think about it: * http://tinyurl.com/5vpxux Please also note that we are always open to your suggestion and contribution on any feature which is not listed in the road map yet. :-) Miscellaneous ============= For the detailed changelog, please visit here: * http://tinyurl.com/75t4ah Again, as always, your feed back is more than appreciated. Please visit the discussion forum and feel free to leave some comments and questions: * http://www.jboss.org/netty/community.html Cheers, — Trustin Lee, http://gleamynode.net/ _______________________________________________ netty-announce mailing list [hidden email] https://lists.jboss.org/mailman/listinfo/netty-announce — Trustin Lee, http://gleamynode.net/
|
||||||||||||||
| Free Embeddable Forum Powered by Nabble | Help |