<beans xmlns="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.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/integration http://www.springframework.org/schema/integration/spring-integration.xsd http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task.xsd http://www.springframework.org/schema/integration/ftp http://www.springframework.org/schema/integration/ftp/spring-integration-ftp.xsd" xmlns:context="http://www.springframework.org/schema/context" xmlns:int="http://www.springframework.org/schema/integration" xmlns:task="http://www.springframework.org/schema/task" xmlns:int-ftp="http://www.springframework.org/schema/integration/ftp"> <int:poller default="true" max-messages-per-poll="10" cron="*/10 * * * * *" /> <task:executor id="taskExecutor" pool-size="20" queue-capacity="20" /> <int:publish-subscribe-channel id="eventPublishChannel" /> <int:publish-subscribe-channel id="asyncEventPublishChannel" task-executor="taskExecutor" /> <int:channel id="ftpChannel"> <!-- <int:queue capacity="25" /> --> </int:channel> <bean id="ftpSessionFactory" class="org.springframework.integration.ftp.session.DefaultFtpSessionFactory"> <property name="host" value="${sudoor.ftp.host}" /> <property name="port" value="${sudoor.ftp.port}" /> <property name="username" value="${sudoor.ftp.username}" /> <property name="password" value="${sudoor.ftp.password}" /> <property name="clientMode" value="${sudoor.ftp.clientMode}" /> <property name="fileType" value="${sudoor.ftp.fileType}" /> <property name="bufferSize" value="${sudoor.ftp.bufferSize}" /> </bean> <int-ftp:outbound-channel-adapter id="ftpOutbound" channel="ftpChannel" session-factory="ftpSessionFactory" charset="UTF-8" remote-file-separator="/" auto-create-directory="true" remote-directory="${sudoor.ftp.directory}" mode="REPLACE" /> </beans>
import org.springframework.integration.annotation.Gateway; import org.springframework.integration.annotation.MessagingGateway; @MessagingGateway public interface AsyncEventMessageGateway { @Gateway(requestChannel = "asyncEventPublishChannel") public void publishEvent(Object event); }
import java.util.Date; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.integration.annotation.MessageEndpoint; import org.springframework.integration.annotation.ServiceActivator; @MessageEndpoint public class DefaultEventServiceActivator { final Logger logger = LoggerFactory.getLogger(DefaultEventServiceActivator.class); @ServiceActivator(inputChannel = "eventPublishChannel") public void handle(Object event) throws Exception { logger.debug("Get Event: {} @ {}", event, new Date()); } @ServiceActivator(inputChannel = "asyncEventPublishChannel") public void handleAsyncEvent(Object event) throws Exception { logger.debug("Get Asnyc Event: {} @ {}", event, new Date()); } }
import org.springframework.integration.annotation.Gateway; import org.springframework.integration.annotation.MessagingGateway; @MessagingGateway public interface EventMessageGateway { @Gateway(requestChannel = "eventPublishChannel") public void publishEvent(Object event); }
import org.springframework.integration.annotation.Gateway; import org.springframework.integration.annotation.MessagingGateway; @MessagingGateway public interface FtpMessageGateway { @Gateway(requestChannel = "ftpChannel") public void sendFtpMessage(Object event); }
@MessageEndpoint public class RegisterManagerActivator { private static Logger logger = LoggerFactory.getLogger(RegisterManagerActivator.class); //private EventMessageGateway eventMessageGateway; @Autowired private AsyncEventMessageGateway asyncEventMessageGateway;//异步 @ServiceActivator(inputChannel = "asyncEventPublishChannel") public void handle(Object event) throws Exception { } }
@Component public class SignUtils{ @Autowired private AsyncEventMessageGateway asyncEventMessageGateway;//异步 public void addResponseChinapnrLogEventPublish(String responseType,String responseCode,String responseKey ,String responseDescription){ ResponseLog responseLog = new ResponseLog(); responseLog.setResponseType(responseType); responseLog.setResponseCode(responseCode); responseLog.setResponseKey(responseKey); responseLog.setResponseDescription(responseDescription); responseLog.setResponseDate(new Date()); asyncEventMessageGateway.publishEvent(responseLog); } }
相关推荐
Spring Integration。 官网 Spring Integration API。 Spring Integration 开发文档。
1: Introduction to Spring Integration 2: Enterprise Integration Fundamentals Part 2 - Messaging 3: Messages and Channels 4: Message Endpoints 5: Getting Down to Business 6: Go beyond ...
SpringIntegration整合SpringWS,其实Spring Integration用的WebService服务就是Spring WS的。这是两个组件的小demo,对新手入门比较有用。
Spring Integration Essentials 英文epub 本资源转载自网络,如有侵权,请联系上传者或csdn删除 查看此书详细信息请在美国亚马逊官网搜索此书
Spring Integration Essentials 英文无水印转化版pdf pdf所有页面使用FoxitReader、PDF-XChangeViewer、SumatraPDF和Firefox测试都可以打开 本资源转载自网络,如有侵权,请联系上传者或csdn删除 查看此书详细...
spring Integration 介绍
Spring Integration in action英文版pdf
Manning Pro Spring Integration github 上面也有相关书下载资料
Pro Spring Integration, 英文版. Apress 出版.. 是Spring框架创建的又一个API,面向企业应用集成(EAI)。Spring Integration非常轻量、易于测试;几乎没有入门门槛,概念上比任何“自己编写”的解决方法都要简单。...
Manning Pro Spring Integration
spring-integration是一个功能强大的EIP(Enterprise Integration Patterns),即企业集成模式。对,spring-integration是一个集大成者。就我自己的理解,集成了众多功能的它,是一种便捷的事件驱动消息框架用来在系统...
spring integration 示例
Spring Integration 中的新增功能 Spring Integration 中的新增功能
关于Spring,也是我们常用的IOC在java下一种实现了,不过相对.net下IOC的实现,Spring相对更强大(反正之前在.Net下,我是习惯了啥都去配置,在Java下才知道有一种Scan模式,本Demo中也用到了,不知道的可以查查...
spring integration reference, eip
是讲解通过springsorce进行系统集成的经典,你可以当做轻量级的ESB使用
NULL 博文链接:https://melin.iteye.com/blog/647796
discuss the problem space that Spring Integration Framework is addressing. We introduce the framework very briefly and analyze Spring Integration’s role in creating a sound messaging solution.