日期:2014-05-16  浏览次数:20847 次

apache FtpServer 整合spring部署

     我们在项目中可能会出现这样的需求,使用ftp上传很大的文件后对需要对文件进行相应的逻辑处理,这时我们可以使用apache ftpServer来处理这段逻辑,只要我们做相应的部署和编写我们的逻辑代码,这样通过ftp上传的文件会自动经过ftpServer来执行我们的逻辑判断,实现我们相应的功能!ftpServer是apache提供的纯java编写的Ftp服务器,能够方便的集成到J2EE项目中。采用这种集成方式无需在服务器端配置专门的FTP服务器。至于为什么要采用FTP服务器,是应一些大数据的上传所需。下面带领大家进入FtpServer的学习之旅

1、下载相应的jar包,任选一种方式

     apache官网版本包下载:http://mina.apache.org/ftpserver-project/downloads.html

     本人博客jar包整理版下载:http://download.csdn.net/detail/harderxin/6319669

2、将相应的jar包部署到我们的web projects中

3、将log4j.properties和users.properties放到我们项目的src目录下

上面只是ftp自带的一些配置

4、配置spring以及数据库连接池

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
	<!-- 读取配置文件 -->
	<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
		<property name="location" value="classpath:jdbc.properties"/>
	</bean>
	<!--  数据库连接池 -->
	<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
		<property name="driverClass">
			<value>${jdbc_driver}</value>
		</property>
		<property name="jdbcUrl">
			<value>${jdbc_url}</value>
		</property>
		<property name="user">
			<value>${jdbc_user}</value>
		</property>
		<property name="password">
			<value>${jdbc_password}</value>
		</property>
		<property name="minPoolSize">
			<value>2</value>
		</property>
		<property name="maxStatements" value="1000"></property>
		<property name="maxPoolSize" value="5"></property>
		<property name="idleConnectionTestPeriod" value="120"></property>
		<property name="maxIdleTime" value="300"></property>
	</bean>
	
	<!-- JdbcTemplate -->
	<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
		<property name="dataSource">
			<ref bean="dataSource" />
		</property>
	</bean>
	
	<bean id="ftpDao" class="com.ftp.service.FtpDaoImpl">
		<property name="dataSource" ref="dataSource"></property>
	</bean>
</beans>

5、在application.xml(spring配置文件)添加Apache Ftpserver属性

<?xml version="1.0" encoding="UTF-8"?>
<server xmlns="http://mina.apache.org/ftpserver/spring/v1"
	xmlns:beans="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="
	   http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd 
	   http://mina.apache.org/ftpserver/spring/v1