阅读更多

10顶
0踩

企业架构

翻译新闻 JBoss Netty 3.1.0.GA发布

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

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网络的相当的漂亮的库。
严重支持!

发表评论

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

相关推荐

  • java.lang.ClassNotFoundException: org.jboss.logging.BasicLogger

    错误信息:java.lang.ClassNotFoundException: org.jboss.logging.BasicLogger 解决办法:加入jboss-logging-3.1.0.GA.jar就好了。hibernate4日志机制改了

  • jboss jbpm server.log

    22:37:23,843 INFO [org.jboss.as.webservices] (ServerService Thread Pool -- 56) JBAS015537: Activating WebServices Extension 22:37:23,843 INFO [org.jboss.as.naming] (ServerService Thread Pool -- 46)

  • spring整合各种RPC框架(netty、dubbo、dubbox、RPC、Motan)-续netty

    ) 代码下载:https://gitee.com/hong99/spring/issues/I1N1DF 本文为继上文 :spring整合各种RPC框架(netty、dubbo、dubbox、RPC、Motan) netty相关介绍 Netty是由JBOSS提供的一个java开源框架,现为 Github上的...

  • Apache mina,Netty的起源和历史

    从起先的Netty 到 Apache Mina ,中间穿插着XSocket另外一个java网络框架,又到JBoss Netty ,直到今天的Netty网络框架。 作者在世界顶级公司,苹果,推特和红帽子都有工作经验。可以说十年磨一剑。造就了今天Apache ...

  • Dubbo入门实例--转载

    Registry: 服务目录框架用于服务的注册和服务事件发布和订阅。     Dubbo采用全Spring配置方式,透明化接入应用,对应用没有任何API侵入,只需用Spring加载Dubbo的配置即可,Dubbo基于Spring的Schema扩展...

  • java中log的应用

    [INFO] | \- org.jboss.netty:netty:jar:3.2.5.Final:compile [INFO] +- org.apache.zookeeper:zookeeper:jar:3.4.6:compile [INFO] | +- org.slf4j:slf4j-log4j12:jar:1.6.1:compile [INFO] | +- jline:jline:jar:...

  • Dubbo入门实例

    Registry: 服务目录框架用于服务的注册和服务事件发布和订阅。 Dubbo采用全Spring配置方式,透明化接入应用,对应用没有任何API侵入,只需用Spring加载Dubbo的配置即可,Dubbo基于Spring的Schema扩展进行加载。...

  • Cannot bind to SpringApplication

    C:\Users\Administrator\.m2\repository\org\crazycake\shiro-redis\3.1.0\shiro-redis-3.1.0.jar;C:\Users\Administrator\.m2\repository\redis\clients\jedis\2.9.1\jedis-2.9.1.jar;C:\Users\Administrator\.m2\...

  • mysql 08007_pom.xml · xinqing08007/jboot - Gitee.com

    xmlns:xsi=...Version 2.0 ...3.1.0 io.undertow undertow...

  • java使用wsdlreader,Maven jar:java.lang.NoSuchMethodError: javax.wsdl.xml.WSDLReader.readWSDL

    neethi:jar:3.0.2:compile [INFO] +- org.hibernate:hibernate-core:jar:4.2.3.Final:compile [INFO] | +- antlr:antlr:jar:2.7.7:compile [INFO] | +- org.jboss.logging:jboss-logging:jar:3.1.0.GA:compile [INFO...

  • springboot项目中Failed to configure a DataSource: ‘url‘ attribute is not specified and no embedded的问题解决

    C:\Users\zheng\.m2\repository\org\jboss\logging\jboss-logging\3.4.1.Final\jboss-logging-3.4.1.Final.jar;C:\Users\zheng\.m2\repository\org\springframework\spring-web\5.2.6.RELEASE\spring-web-5.2.6....

  • mockito 异常Reason: java.io.IOException: invalid constant type: 18

    原因: mockito内部使用的javassit的版本不一致导致的,修改为一直版本即可。 .../Library/Java/JavaVirtualMachines/jdk1.8.0_162.jdk/Contents/Home/bin/java -ea -Didea.test.cyclic.buffer.size=1048576 "-...

  • 冬日魔幻之旅-seata+dubbo+nacos+springboot解决分布式事务的全网段唯一实践之作(上)

    那时叫SOA)把自己的接口名的全路径以JNDI的寻址方式注册进J2EE容器(要玩J2EE可不能用Tomcat哦,Tomcat永远只是一个web container,要玩J2EE必须使用Websphere, Weblogic或者是开源的JBOSS,spring+mybatis=This is...

  • springboot项目启动类报Caused by: java.lang.IllegalArgumentException问题解决方案

    F:\Y1\repository\org\javassist\javassist\3.24.0-GA\javassist-3.24.0-GA.jar;F:\Y1\repository\com\thoughtworks\paranamer\paranamer\2.8\paranamer-2.8.jar;F:\Y1\repository\org\slf4j\slf4j-api\1.7.13\slf4j...

  • 基于FPGA的四相八拍步进电机控制系统设计:集成交付、正反转、加速减速及调速功能

    内容概要:本文详细介绍了基于FPGA的四相八拍步进电机控制系统的开发过程。主要内容包括:1. 使用VHDL和Verilog编写LED显示屏驱动代码,用于显示角度、学号和姓名等信息;2. 实现步进电机的正反转控制,通过状态机管理相序变化;3. 开发加速减速控制模块,确保电机启动和停止时的平稳性;4. 设计调速功能,通过调节脉冲频率实现速度控制。此外,文中还讨论了调试过程中遇到的问题及其解决方案。 适合人群:对FPGA开发和步进电机控制感兴趣的电子工程师、嵌入式系统开发者以及相关专业的学生。 使用场景及目标:适用于需要高精度运动控制的应用场合,如工业自动化、机器人技术和精密仪器等领域。目标是帮助读者掌握FPGA控制步进电机的基本原理和技术细节。 其他说明:文中提供了详细的代码片段和调试经验分享,有助于读者更好地理解和应用所学知识。同时,作者还提到了一些实用技巧,如通过PWM调节实现多级变速,以及如何避免步进电机的共振问题。

  • Android开发:基于SQLite的日历备忘录记事本项目详解与实现

    内容概要:本文详细介绍了基于Android Studio开发的日历备忘录记事本项目,涵盖日历查看、添加备忘录、闹钟提醒和删除备忘录等功能。项目使用SQLite数据库进行数据存储,通过CalendarView、EditText、Button等控件实现用户交互,并利用AlarmManager和PendingIntent实现闹钟提醒功能。此外,项目还包括数据库的设计与管理,如创建DatabaseHelper类来管理数据库操作,确保数据的安全性和完整性。文章还探讨了一些常见的开发技巧和注意事项,如时间戳的使用、手势监听的实现等。 适用人群:适用于初学者和有一定经验的Android开发者,尤其是希望深入了解Android开发基础知识和技术细节的人群。 使用场景及目标:该项目旨在帮助开发者掌握Android开发的基本技能,包括UI设计、数据库操作、闹钟提醒机制等。通过实际项目练习,开发者能够更好地理解和应用这些技术,提升自己的开发能力。 其他说明:文中提到一些进阶任务,如用Room替换SQLite、增加分类标签、实现云端同步等,鼓励开发者进一步扩展和优化项目。同时,项目源码公开,便于学习和参考。

  • Matlab实现基于SVM-Adaboost支持向量机结合Adaboost集成学习时间序列预测的详细项目实例(含完整的程序,GUI设计和代码详解)

    内容概要:本文档详细介绍了一个基于SVM(支持向量机)和Adaboost集成学习的时间序列预测项目。该项目旨在通过结合这两种强大算法,提升时间序列预测的准确性和稳定性。文档涵盖了项目的背景、目标、挑战及其解决方案,重点介绍了模型架构、数据预处理、特征选择、SVM训练、Adaboost集成、预测与误差修正等环节。此外,文档还探讨了模型在金融市场、气象、能源需求、交通流量和医疗健康等多个领域的应用潜力,并提出了未来改进的方向,如引入深度学习、多任务学习、联邦学习等先进技术。 适合人群:具备一定机器学习基础的研究人员和工程师,特别是那些从事时间序列预测工作的专业人士。 使用场景及目标:①用于金融市场、气象、能源需求、交通流量和医疗健康等领域的复杂时间序列数据预测;②通过结合SVM和Adaboost,提升预测模型的准确性和稳定性;③处理噪声数据,降低计算复杂度,提高模型的泛化能力和实时预测能力。 其他说明:文档不仅提供了详细的理论解释,还附有完整的Matlab代码示例和GUI设计指导,帮助读者理解和实践。此外,文档还讨论了模型的部署与应用,包括系统架构设计、实时数据流处理、可视化界面、GPU加速推理等方面的技术细节。

  • #游戏之追逐奶酪123

    #游戏之追逐奶酪123

  • 威纶通触摸屏配方管理系统解析:宏程序、数据结构与UI设计

    内容概要:本文详细介绍了威纶通触摸屏配方管理系统的实现方法及其应用场景。首先,文章讲解了配方管理的基本概念和技术背景,强调了配方管理在工业自动化中的重要性。接着,通过具体的宏程序代码示例,展示了如何实现配方的保存、加载以及安全校验等功能。文中还提到配方数据结构的设计,如使用寄存器地址偏移来确保数据不冲突,并通过CSV文件格式方便地管理和维护配方数据。此外,文章深入探讨了UI设计方面的内容,包括动态图层技术和按钮交互效果的应用,使得用户界面更加友好和直观。最后,作者分享了一些实际项目中的经验和技巧,如文件操作的异常处理和宏指令调试方法。 适合人群:从事工业自动化领域的工程师和技术人员,尤其是对触摸屏配方管理系统感兴趣的读者。 使用场景及目标:适用于需要频繁切换设备参数的生产环境,如食品加工、注塑成型等行业。通过使用威纶通触摸屏配方管理系统,可以提高工作效率,减少人为错误,同时简化设备调试和维护流程。 其他说明:附带的工具包提供了完整的宏指令注释版、图库资源和调试工具,帮助用户更好地理解和应用该系统。

  • 张彩明-图形学简明教程 配书资源

    张彩明-图形学简明教程 PPT课件

Global site tag (gtag.js) - Google Analytics