File Adapter主要应用于企业应用程序之间共享文件系统的情况,一个应用写入,而其他应用通过轮询文件系统进行读取。File Adapter从不同的文件系统提取文件再转变成框架的Message并发布至通道中,或者从通道中提取Message再转变为文件并写入文件系统中。
一、配置环境
1.下载Spring Integration
http://s3.amazonaws.com/dist.springframework.org/release/INT/spring-integration-2.1.0.RELEASE-dist.zip
2.配置classpath依赖的jar
spring-integration-core-2.1.0.RELEASE.jar
spring-integration-file-2.1.0.RELEASE.jar
org.springframework.asm-3.1.0.RELEASE.jar
org.springframework.aop-3.1.0.RELEASE.jar
org.springframework.beans-3.1.0.RELEASE.jar
org.springframework.core-3.1.0.RELEASE.jar
org.springframework.context-3.1.0.RELEASE.jar
org.springframework.context.support-3.1.0.RELEASE.jar
org.springframework.expression-3.1.0.RELEASE.jar
aopalliance-1.0.jar
commons-logging-1.1.1.jar
二、XML配置文件:spring-integration-file-context.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:int="http://www.springframework.org/schema/integration"
xmlns:int-file="http://www.springframework.org/schema/integration/file"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/integration
http://www.springframework.org/schema/integration/spring-integration-2.1.xsd
http://www.springframework.org/schema/integration/file
http://www.springframework.org/schema/integration/file/spring-integration-file-2.1.xsd">
<!-- 定义通道 -->
<int:channel id="file-channel"/>
<!-- 文件类型-输入通道适配器 -->
<int-file:inbound-channel-adapter
directory="D:/spring-integration-samples/input" channel="file-channel">
<int:poller fixed-rate="1000"/>
</int-file:inbound-channel-adapter>
<!-- 文件类型-输出通道适配器 -->
<int-file:outbound-channel-adapter directory="D:/spring-integration-samples/output" channel="file-channel"/>
</beans>
三、编写测试类
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class TestFileSupport {
/**
* @param args
*/
public static void main(String[] args) {
ApplicationContext context = new ClassPathXmlApplicationContext(
"spring-integration-file-context.xml");
}
}
四、示例说明
实现功能:每秒间隔轮询D:/spring-integration-samples/input目录,如果发现该目录有文件,就依次复制到D:/spring-integration-samples/output目录中。实际上就是文件copy的功能
该示例使用了Spring Integration提供的File适配器。
深入File Adapter
1.防止重复读取:prevent-duplicates="true"
<int-file:inbound-channel-adapter
directory="D:/spring-integration-samples/input"
channel="file-channel" prevent-duplicates="true">
2.文件过滤:filename-pattern="*.doc"或者filename-regex="[ABC]_positions.doc"
<int-file:inbound-channel-adapter
directory="D:/spring-integration-samples/input"
channel="file-channel" filename-pattern="*.doc">
或者
<int-file:inbound-channel-adapter
directory="D:/spring-integration-samples/input"
channel="file-channel" filename-regex="[ABC]_positions.doc">
3.文件锁:<file:nio-locker/>
<int-file:inbound-channel-adapter
directory="D:/spring-integration-samples/input"
channel="file-channel" filename-regex="[ABC]_positions.doc">
<file:nio-locker/>
……
</int-file:inbound-channel-adapter>
4.删除源文件:delete-source-files="true"
<int-file:outbound-channel-adapter
directory="D:/spring-integration-samples/output"
channel="file-channel" delete-source-files="true"/>
实际上还有很多属性用于设置共享文件系统出现的各种情况。这里不再赘述。
分享到:
相关推荐
赠送jar包:sentinel-spring-cloud-gateway-adapter-1.8.0.jar; 赠送原API文档:sentinel-spring-cloud-gateway-adapter-1.8.0-javadoc.jar; 赠送源代码:sentinel-spring-cloud-gateway-adapter-1.8.0-sources....
赠送jar包:sentinel-spring-webflux-adapter-1.8.0.jar; 赠送原API文档:sentinel-spring-webflux-adapter-1.8.0-javadoc.jar; 赠送源代码:sentinel-spring-webflux-adapter-1.8.0-sources.jar; 赠送Maven依赖...
赠送jar包:sentinel-spring-webflux-adapter-1.8.0.jar; 赠送原API文档:sentinel-spring-webflux-adapter-1.8.0-javadoc.jar; 赠送源代码:sentinel-spring-webflux-adapter-1.8.0-sources.jar; 赠送Maven依赖...
赠送jar包:sentinel-spring-webmvc-adapter-1.8.0.jar; 赠送原API文档:sentinel-spring-webmvc-adapter-1.8.0-javadoc.jar; 赠送源代码:sentinel-spring-webmvc-adapter-1.8.0-sources.jar; 赠送Maven依赖信息...
赠送jar包:sentinel-spring-webmvc-adapter-1.8.0.jar; 赠送原API文档:sentinel-spring-webmvc-adapter-1.8.0-javadoc.jar; 赠送源代码:sentinel-spring-webmvc-adapter-1.8.0-sources.jar; 赠送Maven依赖信息...
赠送jar包:sentinel-spring-cloud-gateway-adapter-1.8.0.jar; 赠送原API文档:sentinel-spring-cloud-gateway-adapter-1.8.0-javadoc.jar; 赠送源代码:sentinel-spring-cloud-gateway-adapter-1.8.0-sources....
在 Spring Integration 中,`spring-integration-stream-2.1.5.RELEASE.zip` 文件代表的是该项目的一个特定版本,即2.1.5.RELEASE。这个版本包含了对流处理的支持,允许开发者利用流的概念来处理和传输消息,从而...
标题 "spring-integration-stream-4.0.2.RELEASE.zip" 暗示了这是一个关于Spring Integration框架的特定版本,4.0.2.RELEASE,其中聚焦于流处理的组件。Spring Integration是Spring框架的一个扩展,它提供了一种声明...
使用Spring Boot 1.5.13的应用程序以及与spring-integration-sftp相关的maven依赖项 为了在本地使用该应用程序,我们需要设置两个远程SFTP服务器,可以使用下面的链接轻松下载该服务器 以下属性需要在application....
* spring-integration-ws:提供了 Spring Integration 的 Web 服务功能。 * spring-ws-core:提供了 Spring WS 的核心功能。 项目配置 在这个项目中,我们使用了以下配置: * application-context.xml:包含了...
本示例项目"activityexample"便是将Activiti API与Spring进行集成的一个实例,通过解压缩文件"activiti-api-spring-integration-example.zip",我们可以深入学习如何在Spring环境中运用Activiti。 首先,让我们理解...
- **Channel Adapter**:作为桥梁连接Spring Integration和其他外部系统。 #### 三、核心消息传递 ##### 3.1 消息通道 - **Message Channel Interface**:定义了消息通道的基本行为。 - **Pollable Channel**:可...
这个演示项目("spring-integration-http-demo")旨在展示如何在实际应用中使用这些功能。 1. **Spring Integration HTTP客户端**:使用`HttpClient`,我们可以发送GET、POST、PUT、DELETE等HTTP方法的请求。这通常...
spring-integration-4.2的在线晚点翻译,google翻译 不一定全部准确 有不准确的地方希望大家改正分享!已经是最低分了 源文档:https://docs.spring.io/spring-integration/docs/4.2.0.RELEASE/reference/htmlsingle/
docker exec -i spring-integration-kotlin-dsl bash -c ' echo "ololo trololo" > /tmp/target/inputs/first-file.txt ' docker exec -i spring-integration-kotlin-dsl bash -c ' echo "trololo|ololo" > /tmp/...
struts-spring-hibernate-_-integration-2.zip
Spring Integration。 官网 Spring Integration API。 Spring Integration 开发文档。
Spring BlazeDS Integration是Spring框架的一个组件,它提供了与Adobe Flex的无缝集成,允许后端Java服务与前端Flex客户端进行通信。这个项目demo提供了实际操作的例子,帮助开发者理解和实现Spring与Flex的结合。 ...
赠送jar包:springfox-spring-webflux-3.0.0.jar; 赠送原API文档:springfox-spring-webflux-3.0.0-javadoc.jar; 赠送源代码:springfox-spring-webflux-3.0.0-sources.jar; 赠送Maven依赖信息文件:springfox-...