0 0

MINA服务端独立线程队列3

MINA服务端独立线程队列

我的目的是想 每个客户端(长连接),连接上来并 发送命令,然后保存到队列中(队列要独立)。然后从队列中取出命令 慢慢处理。。

目前的问题是 如果有多个客户端的话,会共享一个队列? 我不需要共享。

public class ServerHandler extends IoHandlerAdapter {
	/**
	 * 日志处理
	 */
	private static Logger log = Logger.getLogger(ServerHandler.class);
	/**
	 * Socket客户端
	 */
	private Socket socket = null;
        /**
	 * 双向队列
	 */
	private ArrayDeque<byte[]> send = new ArrayDeque<byte[]>();
        
        public void messageReceived(IoSession session, Object message)
			throws Exception {

            //协议处理
	    IProtocol Protocol = ManufacturerFactory.getFirmObj(Firmid).getProtocolObj(ProtocolType);
            byte[] sendby = Protocol.Encoder(commobj);
	    send.add(sendby);//命令添加到队列

            //从队列中取出命令发送到其他服务   代码省略....                  
		
	}
}

问题补充:
greenmartian 写道
定义队列,作为session的附加属性保存,就不会共享了


MINA 新手不是很懂

作为session的附加属性保存 ??
2012年5月09日 11:32

2个答案 按时间排序 按投票排序

0 0

IoSession.setAttribute(Object,Object)

自己看文档研究吧,mina不是一两句话能说清楚的

2012年5月16日 03:12
0 0

定义队列,作为session的附加属性保存,就不会共享了

2012年5月09日 13:23

相关推荐

    基于MINA构建简单高性能的NIO应用.pdf

    - 线程池配置:根据服务器负载调整线程池参数,如核心线程数、最大线程数、队列容量等。 - 事件驱动模型:理解MINA的过滤器链,优化事件处理顺序和效率。 - 资源回收:及时关闭不再使用的连接,避免资源泄露。 -...

    Mina2.0学习笔记(重点)

    2. **数据流处理**:研究Mina的数据处理机制,包括数据缓存、队列管理等。 ##### 3.4 Mina的线程模型配置 1. **线程模型配置**:介绍Mina中不同线程模型的配置方法,如固定线程池、可变线程池等。 2. **性能优化**...

    MINA2实用手册

    MINA2实用手册对于初学者来说是一个很好的学习资源,因为它涵盖了如何初始化服务端和客户端,以及配置各种关键参数。 一、服务端初始化及参数配置 服务端的初始化主要涉及以下几个步骤: 1. **创建Acceptor**: ...

    类似QQ的聊天工具

    1. **Java编程**:Java提供了丰富的库和框架,如Swing或JavaFX用于构建用户界面,Socket编程用于网络通信,以及像Apache MINA或Netty这样的NIO框架来优化高并发连接。通过Java,开发者可以构建稳定、高效的客户端...

    java超有用的面试题目

    - **ThreadLocal原理**:每个线程拥有独立的副本,避免了线程间的共享和竞争。 - **Synchronized与Lock**:`Synchronized`关键字提供内置锁,而`Lock`接口提供更灵活的锁定机制。 - **ConcurrentHashMap**:在JDK 8...

    Lnk-RPC使用文档1

    相比之下,基于Netty和Mina的RPC框架直接将请求压力传递到服务端,这需要更多的服务治理策略,如熔断、限流、降级和超时处理。这类框架需要服务注册中心和负载均衡策略,但通常性能更高,支持同步和异步调用。 Lnk-...

    J2EE武功秘籍

    - **ThreadLocal**:提供线程本地变量,每个线程都有自己的副本,避免了多线程环境下的线程安全问题。 **14. override(覆盖), overload(重载) 和 overwrite(重写)** - **Override**:子类覆盖父类的方法。 - **...

    InstantMessaging

    - **Java多线程**:在处理并发用户请求时,多线程技术是必不可少的,Java提供了丰富的多线程API。 - **Java框架支持**:如Netty、MINA等高性能网络库,为开发高效稳定的IM系统提供便利。 3. **即时通讯系统架构**...

    开发者专场三红kingsumDragonwell云栖最终版.pdf

    不仅覆盖了基础的服务端技术栈(如Tomcat、Jetty),还包括了先进的分布式服务框架(如SOFAStack、Apache Dubbo)、大数据处理框架(如Apache Spark、Blink)、数据库系统(如Apache HBase、Apache Drill)以及消息...

    java开源包1

    6、支持多种通信框架(Mina/Netty/Grizzly),支持多种序列化/反序列化(Java/Hessian/PB); 7、支持自定义通信协议,可完全替换NFS-RPC自带的协议。 淘宝开放平台JAVA版SDK top4java 设计原则 容易维护扩展(不...

    java开源包11

    6、支持多种通信框架(Mina/Netty/Grizzly),支持多种序列化/反序列化(Java/Hessian/PB); 7、支持自定义通信协议,可完全替换NFS-RPC自带的协议。 淘宝开放平台JAVA版SDK top4java 设计原则 容易维护扩展(不...

    java开源包2

    6、支持多种通信框架(Mina/Netty/Grizzly),支持多种序列化/反序列化(Java/Hessian/PB); 7、支持自定义通信协议,可完全替换NFS-RPC自带的协议。 淘宝开放平台JAVA版SDK top4java 设计原则 容易维护扩展(不...

    java开源包3

    6、支持多种通信框架(Mina/Netty/Grizzly),支持多种序列化/反序列化(Java/Hessian/PB); 7、支持自定义通信协议,可完全替换NFS-RPC自带的协议。 淘宝开放平台JAVA版SDK top4java 设计原则 容易维护扩展(不...

    java开源包6

    6、支持多种通信框架(Mina/Netty/Grizzly),支持多种序列化/反序列化(Java/Hessian/PB); 7、支持自定义通信协议,可完全替换NFS-RPC自带的协议。 淘宝开放平台JAVA版SDK top4java 设计原则 容易维护扩展(不...

    java开源包5

    6、支持多种通信框架(Mina/Netty/Grizzly),支持多种序列化/反序列化(Java/Hessian/PB); 7、支持自定义通信协议,可完全替换NFS-RPC自带的协议。 淘宝开放平台JAVA版SDK top4java 设计原则 容易维护扩展(不...

    java开源包10

    6、支持多种通信框架(Mina/Netty/Grizzly),支持多种序列化/反序列化(Java/Hessian/PB); 7、支持自定义通信协议,可完全替换NFS-RPC自带的协议。 淘宝开放平台JAVA版SDK top4java 设计原则 容易维护扩展(不...

    java开源包4

    6、支持多种通信框架(Mina/Netty/Grizzly),支持多种序列化/反序列化(Java/Hessian/PB); 7、支持自定义通信协议,可完全替换NFS-RPC自带的协议。 淘宝开放平台JAVA版SDK top4java 设计原则 容易维护扩展(不...

    java开源包8

    6、支持多种通信框架(Mina/Netty/Grizzly),支持多种序列化/反序列化(Java/Hessian/PB); 7、支持自定义通信协议,可完全替换NFS-RPC自带的协议。 淘宝开放平台JAVA版SDK top4java 设计原则 容易维护扩展(不...

Global site tag (gtag.js) - Google Analytics