Apache ftpserver整合springboot
Apache ftpserver集成
Apache ftpserver由Java语言开发的Ftp服务器,集成到其它程序,正常运行需要:
- mina-core, 2.0-M3 or later
- slf4j-api
- A SLF4J implementation of your choice, for example slf4j-simple-1.5.3.jar
- ftplet-api
- ftpserver-core
<dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.7.25 </version> </dependency> <dependency> <groupId>org.apache.ftpserver</groupId> <artifactId>ftpserver-core</artifactId> <version>1.1.1</version> </dependency> <dependency> <groupId>org.apache.ftpserver</groupId> <artifactId>ftplet-api</artifactId> <version>1.1.1</version> </dependency> <dependency> <groupId>org.apache.mina</groupId> <artifactId>mina-core</artifactId> <version>2.0.16</version> </dependency>
Springboot应用集成 Apache ftpserver
代码
@Configuration public class FtpConfig { private final Logger logger = LoggerFactory.getLogger(FtpConfig.class); @Bean public UserManager getUserManger() throws FtpException { FtpServerFactory serverFactory = new FtpServerFactory(); // ftp服务监听的端口号 ListenerFactory factory = new ListenerFactory(); factory.setPort(2221); serverFactory.addListener("default", factory.createListener()); // 创建用户 BaseUser user = new BaseUser(); user.setName("admin"); user.setPassword("123456"); user.setHomeDirectory("E:\\FTPServerPath"); List<Authority> authorities = new ArrayList<Authority>(); authorities.add(new WritePermission()); user.setAuthorities(authorities); UserManager userManager = serverFactory.getUserManager(); userManager.save(user); serverFactory.setUserManager(userManager); FtpServer server = serverFactory.createServer(); server.start(); logger.info("ftp已经启动!"); return userManager; } }
@Component public class SpringUtil implements ApplicationContextAware { private static ApplicationContext applicationContext; @Override public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { if(SpringUtil.applicationContext == null) { SpringUtil.applicationContext = applicationContext; } } //SpringUtils.getApplicationContext()获取applicationContext对象 public static ApplicationContext getApplicationContext() { return applicationContext; } public static Object getBean(String name){ return getApplicationContext().getBean(name); } public static <T> T getBean(Class<T> clazz){ return getApplicationContext().getBean(clazz); } public static <T> T getBean(String name,Class<T> clazz){ return getApplicationContext().getBean(name, clazz); } }
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
方案 | 阿里云提供物流“抗疫”措施
疫情期间,交通运输作为大后方行业,在整个物资运输过程中快速响应需求,保障资源及时分发,发挥了不可替代的作用。 据了解,这次疫情期间,国内大型的物流平台几乎都在阿里云上运行,其中物联网货运服务平台G7携手阿里云开发的疫情物流服务联动30家物流平台,将数十万只口罩等医护资源成功运往武汉。为了提高运输效率和快速匹配运力,G7作为国内领先的以物联网为基础的物流产业连接平台,发起搭建“疫情物流每日动态”及“驰援武汉—物流信息共享”项目,阿里云提供云及数据技术支持,协助完成搭建。 在疫情期间,除了技术上的赋能外,阿里云与物流客户也展开了多维度的合作,为控制疫情做出贡献。 阿里云具体措施: 第一,阿里云在物流行业的全面上云和弹性计算方面做了很多耕耘,阿里云服务物流客户,关键的理念是保持稳定性,其次是提升服务响应度。物流平台大多是 To B 企业,不像钉钉是 To C 的,资源暴涨的诉求特别明显,所以保障系统稳定性至关重要,提前制订好支撑方案:数据扩展、弹性扩展、方案评估、落地预测等,在全链路打通的情况下,保障技术、服务和资源。 第二,无接触配送和保障民生工程。疫情期间,很多小区实行了封闭化管理,对生...
- 下一篇
前端为什么要关注 Serverless?
Serverless 的概念或应用场景我们以前讲过很多,这里不再冗述。概括性地讲 —— Serverless 的内涵就是对全部底层资源和运维工作的封装,让开发者更专注于业务逻辑。(本文作者 @Aceyclee) 完备的基础性文章推荐阅读这两篇: Serverless 基本概念入门 Serverless 的运行原理与组件架构 本文尝试从出圈的角度,以更接地气的方式聊聊 Serverless。 先讲个故事,疫情期间在家办公,大家肯定没少做饭,自己做饭才体会到家务不易,你需要:买菜买锅、处理食材、煎炒蒸煮、最后洗碗。 听起来是不是还挺像软件开发?你需要有云服务器、后台开发、前端开发、还有运维。 你想着,要是我能只翻两下铲子,然后就能吃饭那该多好。 巧了,有一些商家就提供了这种服务,帮你准备好了锅、洗干净的食材、专业的厨师指点,你只要进去翻两下铲子,就能煮一顿精美的饭食!而且不用洗碗。 对应到软件开发,开发者只需要关注业务逻辑(炒菜),而底层资源和运维工作(锅碗瓢盆、食材处理)都不用再操心。 终于到了正式复工的时间,你不用再自己做饭,新买的厨具就闲置了。你回想起昨天在商圈里的美好体验,家里的厨...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS6,CentOS7官方镜像安装Oracle11G
- SpringBoot2整合Redis,开启缓存,提高访问速度
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Hadoop3单机部署,实现最简伪集群