java mina spring_Mina与Spring整合

应用程序结构

我们将要构造一个如下内容的工程

一个Handler

两个Filter - Logging Filter 和 ProtocolCodec Filter

NioDatagram Socket

初始化代码

让我们先看看代码,我们省略了部分代码

public void initialize() throws IOException {

// 创建一个 Acceptor

NioDatagramAcceptor acceptor = new NioDatagramAcceptor();

// 加入 Handler

acceptor.setHandler(new ServerHandler());

acceptor.getFilterChain().addLast("logging",

new LoggingFilter());

acceptor.getFilterChain().addLast("codec",

new ProtocolCodecFilter(new SNMPCodecFactory()));

// 创建 Session Configuration

DatagramSessionConfig dcfg = acceptor.getSessionConfig();

dcfg.setReuseAddress(true);

logger.debug("Starting Server......");

// 绑定并监听

acceptor.bind(new InetSocketAddress(DEFAULT_PORT));

logger.debug("Server listening on "+DEFAULT_PORT);

}

整合处理

与Spring整合我们需要以下步骤

设置IO handler

创建Filter并加入chain中

创建并设置Socket

注意:最新版本的Mina并不像早起版本一样包含Spring连接的包。 The package is now named Integration Beans, to make the implementation work for all DI frameworks.

让我们看看Spring的配置文件。请注意观察我从配置文件中摘取的部分

这个例子源于mina发行版中的Chat example ,请参考例子中的XML文件。

让我们在Spring的上下文(Context)中设置IO Handler

让我们创建Filter Chain

在这里我们创建了一个Filter实例。在ProtocolCodec factory中我们使用了构造器注入,在后面是loggingFilter。我们定义完成了将要使用的Filter,然后我们接着定义执行这些Filter的Filter Chain,定义一个ID为“FilterChainBuidler”的Bean,然后将Filter注入其中。我们即将完成我们的整合,现在只需要创建一个Socket并绑定它。

让我们完成最后一部分

现在我们创建一个ioAcceptor并设置IO handler 和 Filter Chain。在Spring里写一个函数来读取配置文件。

public void initializeViaSpring() throws Exception {

new ClassPathXmlApplicationContext("trapReceiverContext.xml");

}

我们只需要写一个main函数来调用这个方法就可以初始化mina了。

这是我的第一篇译作,水平有限大家多包涵。

分享到:

18e900b8666ce6f233d25ec02f95ee59.png

72dd548719f0ace4d5f9bca64e1d7715.png

2009-04-16 23:31

浏览 10722

论坛回复 / 浏览 (1 / 7391)

评论

1 楼

bonny

2009-04-16

GOOD,抽空把XSOCKET你也弄一下。这样就全了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值