Mina开发领悟

本文介绍如何使用Mina作为通信层框架实现服务端与客户端之间的高效通信。文章详细阐述了Mina的优势,如使用长连接提高速度、Java对象直接序列化传输及与Spring集成带来的便利。同时提供了服务端和客户端的具体配置示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用Mina作为通信层框架是不错的选择.
1. 使用长连接,不需要每一次通信都要重新建立连接,这样速度更快.
2. java对象序列化传输,不需要进行转化,使用方便.
3. Mina集成Spring后,可以像一般的接口方法调用,对于模块化集成很方便,管理也很清晰.

一个大项目进行模块化拆分后,代码结构清晰,维护方便,模块间通过接口调用.

服务端开放接口服务,通过接口的JDK代理的反射机制调用该服务的实现类,并得到返回值,返回给调用方,通过hsf-service返回到客户端.
[服务端采用mina的事件驱动机制,多线程非阻塞,提供高性能服务]

客户端通过接口调用接口方法,根据路由规则找到目标机器,建立连接,如果有很多台机器,各业务方都是不同的机器,那么可以根据ip:port建立连接缓存.第一次连接的时候,建立连接池(比如5个池对象),每一次使用的时候获取一个,用完放回去.此连接作为复用,不关闭。

Mina建立长连接的服务调用是不错的选择,不过使用长连接,连接的复用很重要,否则性能全在建立和断开连接上了.

以下是例子:
服务配置

<beans default-autowire="byName">
<bean id="exp" class="test.org.frame.hsf.usecase.ExpImpl"/>
<bean id="expService" class="org.frame.hsf.service.ProviderService" init-method="init">
<property name="serviceInterface">
<value>test.org.frame.hsf.usecase.Exp</value>
</property>
<property name="target">
<ref bean="exp" />
</property>
</bean>
</beans>


客户端配置


<beans default-autowire="byName">
<bean id="exp" class="org.frame.hsf.service.ClientService" init-method="init" singleton="true">
<property name="serviceInterface">
<value>test.org.frame.hsf.usecase.Exp</value>
</property>
<property name="target">
<value>localhost:8901</value>
</property>
</bean>
</beans>



以上是具体的实现思路
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值