apache mina 怎么接受xml文件 TextLineCodecFactory 只能接受一行

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了apache mina 怎么接受xml文件 TextLineCodecFactory 只能接受一行相关的知识,希望对你有一定的参考价值。

IoAcceptor acceptor=new NiosocketAcceptor();
DefaultIoFilterChainBuilder chain=acceptor.getFilterChain();
ProtocolCodecFilter filter=new ProtocolCodecFilter(new TextLineCodecFactory());

chain.addLast("objectfilter", filter);
acceptor.setHandler(new ObjectMinaServerHandler());
int port=9988;
acceptor.bind(new InetSocketAddress(port));

System.out.println(" Mina Server is Listing on:= " +port);
这边我要发送一个xml包给他,但是TextLineCodecFactory 只能读一行。不能读取全部的xml包数据比如
<?xml version="1.0" encoding="UTF-8" ?>
<root>
<common>
<building_id>330100A088</building_id>
<gateway_id>01</gateway_id>
<type>notify</type>
</common>
<heart_beat operation="notify">
<notify>master</notify>
</heart_beat>
</root>

参考技术A 自定义decode与encode
或者发送前把回车换行替换

apache开源java ftp文件服务器mina ftpserver安装部署,Windows

apache开源的java ftp文件服务器mina ftpserver安装部署,Windows

apache的开源ftp文件服务器mina ftpserver,可以嵌入java程序中使用,也可以单独安装部署。

单独部署安装:

(1)下载。

在主页下载。

FtpServer Home — Apache MINAhttps://mina.apache.org/ftpserver-project/

下载最新版的.zip文件。

(2)配置两个关键文件。

解压安装的zip文件,其中有两个文件最重要。

res/conf/ftpd-typical.xml

res/conf/users.properties

(a)ftpd-typical.xml。

文件ftpd-typical.xml是ftpserver启动时候需要加载的文件,而ftpd-typical.xml文件中,将寻找并调用users.properties里面对ftp用户的定义。ftpd-typical.xml里面的:

 port="2121"

决定ftpserver将启动在端口2121,可修改这里重新配置ftpserver的端口号。

其中有一行:

<file-user-manager file="./res/conf/users.properties" />

修改为:

<file-user-manager file="./res/conf/users.properties" encrypt-passwords="clear"/>

不加密密码,明文。

(b)users.properties。

ftpserver.user.xxx

xxx为登录ftp的用户名。默认mina ftpserver已经定义好了两个用户admin(管理员账号)和anonymous(匿名用户)。自定义用户可以仿照mina ftpserver在users.properties里面的定义的样式定义,比如:

#自定义一个名为 phil的ftp访问用户

#密码,可以为空
ftpserver.user.phil.userpassword=

#可以访问读写文件的路径
ftpserver.user.phil.homedirectory=c:/

#当前用户是否有效,false,当前用户失效,不予访问权限。
ftpserver.user.phil.enableflag=true

#写权限
ftpserver.user.phil.writepermission=false

#以当前用户名可以登录的并发数量
ftpserver.user.phil.maxloginnumber=20

#一个IP可以同时激活的ftp访问量(单IP连接数)
ftpserver.user.phil.maxloginperip=2

#空闲多少时间就断开,单位为秒。如果为0,永不失效。
ftpserver.user.phil.idletime=3000

#上传文件的速率,单位为byte字节
ftpserver.user.phil.uploadrate=4800

#下载文件的速率,单位为byte字节
ftpserver.user.phil.downloadrate=4800

(3)启动。

ftpd.bat res/conf/ftpd-typical.xml

如果运行报错,可以先不要不以加载配置文件res/conf/ftpd-typical.xml启动,只单独启动ftpd.bat。然后关停,在以加载配置文件res/conf/ftpd-typical.xml启动。注意res/conf/ftpd-typical.xml的寻址路径。

以上是关于apache mina 怎么接受xml文件 TextLineCodecFactory 只能接受一行的主要内容,如果未能解决你的问题,请参考以下文章

用于传入文件的 Apache Mina SFTP 服务器端通道侦听器

Apache Mina

springboot整合mina

Mina的客户端

Apache Mina

使用Apache MINA框架搭建服务端