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的附加属性保存 ??
相关推荐
- 线程池配置:根据服务器负载调整线程池参数,如核心线程数、最大线程数、队列容量等。 - 事件驱动模型:理解MINA的过滤器链,优化事件处理顺序和效率。 - 资源回收:及时关闭不再使用的连接,避免资源泄露。 -...
2. **数据流处理**:研究Mina的数据处理机制,包括数据缓存、队列管理等。 ##### 3.4 Mina的线程模型配置 1. **线程模型配置**:介绍Mina中不同线程模型的配置方法,如固定线程池、可变线程池等。 2. **性能优化**...
MINA2实用手册对于初学者来说是一个很好的学习资源,因为它涵盖了如何初始化服务端和客户端,以及配置各种关键参数。 一、服务端初始化及参数配置 服务端的初始化主要涉及以下几个步骤: 1. **创建Acceptor**: ...
1. **Java编程**:Java提供了丰富的库和框架,如Swing或JavaFX用于构建用户界面,Socket编程用于网络通信,以及像Apache MINA或Netty这样的NIO框架来优化高并发连接。通过Java,开发者可以构建稳定、高效的客户端...
- **ThreadLocal原理**:每个线程拥有独立的副本,避免了线程间的共享和竞争。 - **Synchronized与Lock**:`Synchronized`关键字提供内置锁,而`Lock`接口提供更灵活的锁定机制。 - **ConcurrentHashMap**:在JDK 8...
相比之下,基于Netty和Mina的RPC框架直接将请求压力传递到服务端,这需要更多的服务治理策略,如熔断、限流、降级和超时处理。这类框架需要服务注册中心和负载均衡策略,但通常性能更高,支持同步和异步调用。 Lnk-...
- **ThreadLocal**:提供线程本地变量,每个线程都有自己的副本,避免了多线程环境下的线程安全问题。 **14. override(覆盖), overload(重载) 和 overwrite(重写)** - **Override**:子类覆盖父类的方法。 - **...
- **Java多线程**:在处理并发用户请求时,多线程技术是必不可少的,Java提供了丰富的多线程API。 - **Java框架支持**:如Netty、MINA等高性能网络库,为开发高效稳定的IM系统提供便利。 3. **即时通讯系统架构**...
不仅覆盖了基础的服务端技术栈(如Tomcat、Jetty),还包括了先进的分布式服务框架(如SOFAStack、Apache Dubbo)、大数据处理框架(如Apache Spark、Blink)、数据库系统(如Apache HBase、Apache Drill)以及消息...
6、支持多种通信框架(Mina/Netty/Grizzly),支持多种序列化/反序列化(Java/Hessian/PB); 7、支持自定义通信协议,可完全替换NFS-RPC自带的协议。 淘宝开放平台JAVA版SDK top4java 设计原则 容易维护扩展(不...
6、支持多种通信框架(Mina/Netty/Grizzly),支持多种序列化/反序列化(Java/Hessian/PB); 7、支持自定义通信协议,可完全替换NFS-RPC自带的协议。 淘宝开放平台JAVA版SDK top4java 设计原则 容易维护扩展(不...
6、支持多种通信框架(Mina/Netty/Grizzly),支持多种序列化/反序列化(Java/Hessian/PB); 7、支持自定义通信协议,可完全替换NFS-RPC自带的协议。 淘宝开放平台JAVA版SDK top4java 设计原则 容易维护扩展(不...
6、支持多种通信框架(Mina/Netty/Grizzly),支持多种序列化/反序列化(Java/Hessian/PB); 7、支持自定义通信协议,可完全替换NFS-RPC自带的协议。 淘宝开放平台JAVA版SDK top4java 设计原则 容易维护扩展(不...
6、支持多种通信框架(Mina/Netty/Grizzly),支持多种序列化/反序列化(Java/Hessian/PB); 7、支持自定义通信协议,可完全替换NFS-RPC自带的协议。 淘宝开放平台JAVA版SDK top4java 设计原则 容易维护扩展(不...
6、支持多种通信框架(Mina/Netty/Grizzly),支持多种序列化/反序列化(Java/Hessian/PB); 7、支持自定义通信协议,可完全替换NFS-RPC自带的协议。 淘宝开放平台JAVA版SDK top4java 设计原则 容易维护扩展(不...
6、支持多种通信框架(Mina/Netty/Grizzly),支持多种序列化/反序列化(Java/Hessian/PB); 7、支持自定义通信协议,可完全替换NFS-RPC自带的协议。 淘宝开放平台JAVA版SDK top4java 设计原则 容易维护扩展(不...
6、支持多种通信框架(Mina/Netty/Grizzly),支持多种序列化/反序列化(Java/Hessian/PB); 7、支持自定义通信协议,可完全替换NFS-RPC自带的协议。 淘宝开放平台JAVA版SDK top4java 设计原则 容易维护扩展(不...
6、支持多种通信框架(Mina/Netty/Grizzly),支持多种序列化/反序列化(Java/Hessian/PB); 7、支持自定义通信协议,可完全替换NFS-RPC自带的协议。 淘宝开放平台JAVA版SDK top4java 设计原则 容易维护扩展(不...