阅读更多

10顶
0踩

企业架构

翻译新闻 JBoss Netty 3.1.0.GA发布

2009-07-29 11:15 by 副主编 zly06 评论(6) 有7232人浏览

Netty 3.1.0.GA正式发布,它是Netty 3.1分支的首个稳定版,此版本加入了许多新的功能。

Netty是一个提供异步,基于网络和事件驱动的应用程序框架和开发工具。用于快速敏捷开发、维护高性能、高灵活性的协议服务器和协议客户端。

换句话说,Netty项目是一个NIO 客户/服务器 框架,可以快速,轻松的开发网络应用,例如:协议服务器,协议客户端;大幅度的简化网络编程,例如:TCP和UDP 的socket服务器。


 
此版本的主要更新:
处理大容量数据流更简单
处理协议编码和单元测试更简单
I/O超时和idle状态检测
应用程序的关闭更简单,更安全
更可靠的OutOfMemoryError预防
新的传输方式:
   1.基于OIO和NIO的UDP传输
  2.本地传输(又名 in-VM传输)
  3.HTTP通道,可绕过防火墙
新的编码器:
   1.HTTP客户端和服务器端
   2.用于实现各种专有协议的工具
与其他技术的整合:
   1.Google Protocol Buffers
   2.JBoss Microcontainer, OSGi, Guice以及Spring

查看更多详情:http://n2.nabble.com/Netty-Announcements-f685713.html

来自: theserverside
10
0
评论 共 6 条 请登录后发表评论
6 楼 yin_bp 2010-03-25 11:12
抽空扩展一下bbossgroups aop子项目的rpc协议,支持netty作为rpc的底层传输协议,目前可以使用jms,jgroups,mina,apache cxf webservice作为rpc的底层传输协议
5 楼 yin_bp 2010-03-25 11:08
有空看看开源bbossgroups项目中基于mina协议的rpc调用框架

很实用也很简单:
1.客服端和服务端配置以下组件(基于bboss-aop框架):
<property name="rpc.test" singlable="true" class="org.frameworkset.spi.remote.RPCTest"/>
2.获取远程组件实例
         单点调用

RPCTestInf testInf = (RPCTestInf)BaseSPIManager.getBeanObject("(mina::172.16.17.216:1186)/rpc.test");

         多点调用

RPCTestInf testInf = (RPCTestInf)BaseSPIManager.getBeanObject("(mina::192.168.11.102:1186;192.168.11.102:12346)/rpc.test");

         组播调用

RPCTestInf testInf = (RPCTestInf)BaseSPIManager.getBeanObject("(mina::all)/rpc.test");



         单点调用-传递认证信息

RPCTestInf testInf = (RPCTestInf)BaseSPIManager.getBeanObject("(mina::172.16.17.216:1186)/rpc.test?user=admin&password=123456");

         多点调用-传递认证信息

RPCTestInf testInf = (RPCTestInf)BaseSPIManager.getBeanObject("(mina::192.168.11.102:1186;192.168.11.102:12346)/rpc.test?user=admin&password=123456");

         组播调用-传递认证信息

RPCTestInf testInf = (RPCTestInf)BaseSPIManager.getBeanObject("(mina::all)/rpc.test?user=admin&password=123456");


3.远程方法调用
Object count = testInf.getCount();

4.调用结果处理
单点调用的结果就是服务接口返回的值,无需处理。如果方法调用失败,系统将抛出具体的远程异常。

多点调用和组播调用的结果处理方法一样,以多点调用为例:

RPCTestInf testInf = (RPCTestInf)BaseSPIManager.getBeanObject("(mina::192.168.11.102:1186;192.168.11.102:12346)/rpc.test?User=admin&password=123456");

Object count = testInf.getCount();

Object count = testInf.getCount();

获取192.168.11.102:1186返回的结果:

Object count_1186 = BaseSPIManager.getRPCResult("192.168.11.102", "1186", count);如果返回值是异常,那么直接抛出该异常。

或者

Object count_1186 = BaseSPIManager.getMinaRPCResult

("192.168.11.102:1186", count);如果返回值是异常,那么直接抛出该异常。

或者

Object count_1186 =

    BaseSPIManager.getRPCResult("192.168.11.102:1186", count,

org.frameworkset.remote.Target.BROADCAST_TYPE_MINA);  如果返回值是异常,那么直接抛出该异常。

获取192.168.11.102:12346返回的结果:

Object count_12346 = BaseSPIManager.getRPCResult("192.168.11.102", "12346", count); 如果返回值是异常,那么直接抛出该异常。

或者

Object count_12346 = BaseSPIManager.getMinaRPCResult

("192.168.11.102:12346", count);

或者

Object count_12346 =

    BaseSPIManager.getRPCResult("192.168.11.102:12346", count,

org.frameworkset.remote.Target.BROADCAST_TYPE_MINA);  如果返回值是异常,那么直接抛出该异常。

很简单吧
详细信息参考博客文章:
http://blog.csdn.net/yin_bp/archive/2010/03/20/5398418.aspx
bbossgroups项目下载地址:
https://sourceforge.net/projects/bboss/files/
aop框架子项目下载地址:
http://sourceforge.net/projects/bboss/files/bbossgroups-1.0/bbossaop.zip/download
4 楼 jamesqiu 2009-07-31 09:03
无论netty2还是mina还是netty3,核心人物都是Lee
3 楼 tapestry1122 2009-07-29 17:30
denis 写道
,不是吧?netty以前用过,版本是2.1,项目代号是netty2。后来这个项目并入了apache开源项目,也就是apache mina的前身,怎么一下子又成了jboss的子项目了?搞不懂,去看看。。。。


trust lee是比较搞啊
先是netty2然后是去apache做mina
现在是来了jboss,做netty3

据说netty3的性能要比mina强

刚用这个完成了一个项目,api那是相当的简洁,很不错。
2 楼 denis 2009-07-29 15:07
,不是吧?netty以前用过,版本是2.1,项目代号是netty2。后来这个项目并入了apache开源项目,也就是apache mina的前身,怎么一下子又成了jboss的子项目了?搞不懂,去看看。。。。
1 楼 wenjixiao 2009-07-29 11:40
jboss's netty是个好东西,做java网络的相当的漂亮的库。
严重支持!

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

Global site tag (gtag.js) - Google Analytics