`
awfwxf
  • 浏览: 70589 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

求解grizzly 1.9的ReadFilter问题

阅读更多
我准备用grizzly做一个高并发的TCP程序,我使用的是grizzly-nio-framework-1.9.9.jar的包!服务端的代码如下:

final Controller controller = new Controller();
final ReadFilter readFilter = new ReadFilter();
final LogFilter logFilter = new LogFilter();

controller.setProtocolChainInstanceHandler(new DefaultProtocolChainInstanceHandler() {

public ProtocolChain poll() {
ProtocolChain protocolChain = (ProtocolChain)protocolChains
.poll();
if (protocolChain == null) {
protocolChain = new DefaultProtocolChain();
protocolChain.addFilter(readFilter);
protocolChain.addFilter(logFilter);
}
return protocolChain;
}
});
controller.start();

此服务端启动后我用TCP工具模拟客户端连接没有问题(没有发送数据),当往此通道中发送数据时就会报错,报错信息如下:
java.lang.NullPointerException
at com.sun.grizzly.filter.ReadFilter.execute(ReadFilter.java:124)
at com.sun.grizzly.filter.ReadFilter.execute(ReadFilter.java:100)

也就是ReadFilter类中的这一段代码:
if (byteBuffer == null) {
            byteBuffer = ((WorkerThread)Thread.currentThread()).getByteBuffer();
        }

        if (!byteBuffer.hasRemaining()){
            throw new IllegalStateException("ByteBuffer is full: " + byteBuffer);
        }
"if (!byteBuffer.hasRemaining())" 错误指向的是这句话,也就是说byteBuffer此时为null

以上服务端的代码我都是按照grizzly的API文档上面写的,就是搞不清楚到底是怎么回事?小弟刚开始研究grizzly,希望JE的各位大虾们帮助解决一下!谢谢先!
分享到:
评论
1 楼 jamesqiu 2009-06-04  
Grizzly的API太雷人了, 每个版本都有巨大的变化1.8-1.9-2.0
基本就是推翻重来, 原来的例子中的api好多都消失了, 没见过这么玩的, 文档太差了, 就是几个blog, 还不标明使用的版本.

相关推荐

    com.noelios.restlet.ext.grizzly_1.9.jar

    jar包,官方版本,自测可用

    grizzly-http-ajp-1.9.42.zip

    【标题】"grizzly-http-ajp-1.9.42.zip" 是一个与开源项目相关的压缩包,其中包含了Grizzly HTTP服务器的AJP(Apache JServ Protocol)模块的一个版本,具体为1.9.42。Grizzly是Oracle公司开发的一个轻量级、高性能...

    grizzly-http-webserver-1.9.59.zip

    在Atmosphere v1186版本中,我们可以看到它与`grizzly-http-webserver-1.9.59.zip`的紧密关联,这个压缩包包含了Grizzly HTTP Web服务器的源代码和相关资源,让我们深入探讨这一组合在构建实时Web服务时的关键作用。...

    grizzly-servlet-deployer-1.9.55.zip

    标题中的“grizzly-servlet-deployer-1.9.55.zip”指的是Grizzly Servlet Deployer的一个版本,这是Oracle公司开发的一个轻量级HTTP服务器和Servlet容器。Grizzly不仅支持Servlet 3.1规范,还提供了一种灵活的方式来...

    grizzly

    8. `grizzly-websocket-1.9.19-beta1-sources.jar` 和 `grizzly-websockets-1.9.19-beta2-sources.jar`:Grizzly WebSocket支持的源代码,允许开发WebSocket服务器和客户端。 这些源代码文件可供开发者深入学习...

    grizzly-http-1.9.56.zip

    dasein-cloud-nimbula.zip,nimbula的dasin云实现。nimbula不再是dasin云的受支持平台,因为它不再是受支持的软件产品。Dasin Cloud 2013.02是Nimbula的最后一个版本。

    Grizzly介绍,英文版

    Grizzly项目是Sun Microsystems公司推出的一个开源项目,旨在解决在Java环境下开发高性能服务器应用程序时所遇到的问题。在Java NIO出现之前,线程管理问题使得服务器难以扩展到支持数千个用户。而尽管Java NIO在...

    Grizzly_Architecture

    - Grizzly在设计之初就考虑到了性能问题,因此它不仅提供了强大的功能,还特别注重性能优化。 - 通过高效的缓冲区管理和多线程处理能力,Grizzly能够在高并发环境下保持良好的响应速度。 #### 三、Grizzly框架...

    grizzly-websockets-2.3.4.zip

    《Grizzly WebSockets 2.3.4与Riak PB:开源项目的协同工作》 ...对于想要深入理解和应用这些技术的开发者来说,理解和掌握这两个项目的核心原理以及它们的集成方式,无疑是提升自身技术水平和解决实际问题的关键。

    Ubuntu13.04安装Grizzly版本的OpenStack

    在本文中,我们将详细介绍如何在Ubuntu 13.04上安装Grizzly版本的OpenStack。...在实际操作中,可能会遇到各种问题,如依赖冲突、网络配置错误等,需要耐心解决。在进行大规模部署前,建议先在测试环境中进行试验。

    Grizzly 2.3.17 API文档CHM版

    2014年10月24日最新Grizzly 2.3.17 API文档CHM版

    grizzly-framework-monitoring-2.3.14.zip

    通过 JMX,开发者能够实时了解系统的运行状态,及时发现并解决问题,提高系统的稳定性和效率。 总之,Grizzly 框架中的 JmxUtils 是一个强大的工具,它简化了 JMX 相关操作,使得开发者能够轻松地监控和管理应用...

    grizzly-websockets-chat-2.3.zip

    标题 "grizzly-websockets-chat-2.3.zip" 暗示了这是一个使用Grizzly框架实现的WebSocket聊天应用的版本2.3。Grizzly是Java的一个开源网络应用框架,特别适用于构建高性能、轻量级的服务器端应用。WebSocket协议则是...

    grizzly-http-server-monitoring-2.3.9.zip

    【标题】"Grizzly HTTP Server Monitoring 2.3.9" Grizzly HTTP Server Monitoring 2.3.9 是一个开源项目,它提供了对Grizzly HTTP服务器的监控功能。Grizzly 是一个高性能、轻量级的Java网络应用框架,主要用于...

    grizzly-http-samples-2.3.13.zip

    【标题】"Grizzly HTTP Samples 2.3.13" 是一个开源项目,它包含了一系列使用Grizzly HTTP服务器框架的示例应用。Grizzly是Java的一个高性能、轻量级的网络应用框架,由Oracle公司开发,常用于构建HTTP服务器、...

    grizzly-http-servlet-extras-2.3.8-beta1.zip

    此外,由于其轻量级特性,Grizzly在性能方面表现出色,适合高并发的Web应用。 接下来,我们转向“portlettester”项目。PortletTester是一个专为portlet开发人员设计的单元测试框架,它遵循JSR168(portlet 1.0)和...

    grizzly-core-2.1.4.jar 下载

    Dubbo的核心jar包,grizzly-core-2.1.4.jar 下载,源码版本为2.5.4开发版

    grizzly-http-ajp-2.3.10.zip

    Grizzly 是一个开源的网络应用框架,由 Oracle 公司开发,主要用于构建高性能、轻量级的网络服务器和客户端。AJP(Apache JServ Protocol)是 Apache 服务器与应用服务器之间通信的一种协议,常用于负载均衡和反向...

    grizzly-http-server-2.2.21.zip

    【标题】"Grizzly HTTP Server 2.2.21" Grizzly HTTP Server 是一个开源的、高性能的网络应用框架,由Java开发,主要用于构建基于...通过Groovy的简洁语法和Grizzly的高性能特性,可以高效地开发和维护这类系统。

    grizzly初探

    **Grizzly 框架初探** Grizzly 是一个由 Sun Microsystems 开发并维护的开源框架,主要用于构建高性能、轻量级的网络应用服务器。它是一个 Java NIO(非阻塞 I/O)库,用于创建高并发、低延迟的网络服务。在 Java ...

Global site tag (gtag.js) - Google Analytics