BAEL-80 - spring integration
(cherry picked from commit ce66553)
This commit is contained in:
@@ -0,0 +1,7 @@
|
||||
package com.baeldung.samples.endpoints;
|
||||
|
||||
public interface Activator<T> {
|
||||
|
||||
public void handleMessage(T input);
|
||||
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
package com.baeldung.samples.endpoints;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import org.springframework.integration.IntegrationMessageHeaderAccessor;
|
||||
import org.springframework.messaging.Message;
|
||||
|
||||
public class ActivatorImpl implements Activator<Message<File>> {
|
||||
|
||||
@Override
|
||||
public void handleMessage(Message<File> input) {
|
||||
File filePayload = input.getPayload();
|
||||
IntegrationMessageHeaderAccessor accessor = new IntegrationMessageHeaderAccessor(input);
|
||||
Logger.getAnonymousLogger().info("The file size "+filePayload.length());
|
||||
Logger.getAnonymousLogger().info("The time of the message "+accessor.getTimestamp());
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
<?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:file="http://www.springframework.org/schema/integration/file"
|
||||
xmlns:ftp="http://www.springframework.org/schema/integration/ftp"
|
||||
xmlns:mail="http://www.springframework.org/schema/integration/mail"
|
||||
xmlns:twitter="http://www.springframework.org/schema/integration/twitter"
|
||||
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.xsd
|
||||
http://www.springframework.org/schema/integration/file
|
||||
http://www.springframework.org/schema/integration/file/spring-integration-file.xsd
|
||||
http://www.springframework.org/schema/integration/ftp
|
||||
http://www.springframework.org/schema/integration/ftp/spring-integration-ftp.xsd
|
||||
http://www.springframework.org/schema/integration/mail
|
||||
http://www.springframework.org/schema/integration/mail/spring-integration-mail.xsd
|
||||
http://www.springframework.org/schema/integration/twitter
|
||||
http://www.springframework.org/schema/integration/twitter/spring-integration-twitter.xsd">
|
||||
|
||||
<file:inbound-channel-adapter id="videoFolder"
|
||||
directory="C:\projects\baeldung\clean-start-tutorials\tutorials\spring-integration\src\main\resources\source"
|
||||
channel="videoChannel"
|
||||
prevent-duplicates="true">
|
||||
<int:poller fixed-rate="1000"/>
|
||||
</file:inbound-channel-adapter>
|
||||
|
||||
<file:outbound-channel-adapter id="destFileFolder"
|
||||
directory="C:\projects\baeldung\clean-start-tutorials\tutorials\spring-integration\src\main\resources\destination"
|
||||
channel="videoChannel"
|
||||
>
|
||||
</file:outbound-channel-adapter>
|
||||
|
||||
<int:channel id="videoChannel"/>
|
||||
|
||||
<!-- <int:service-activator input-channel="videoChannel" output-channel="destFileFolder" method="handleMessage"
|
||||
ref="customActivator"/>
|
||||
|
||||
<bean name="customActivator" class="com.baeldung.samples.endpoints.ActivatorImpl"/>-->
|
||||
|
||||
|
||||
</beans>
|
||||
@@ -0,0 +1,43 @@
|
||||
<?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:file="http://www.springframework.org/schema/integration/file"
|
||||
xmlns:ftp="http://www.springframework.org/schema/integration/ftp"
|
||||
xmlns:mail="http://www.springframework.org/schema/integration/mail"
|
||||
xmlns:twitter="http://www.springframework.org/schema/integration/twitter"
|
||||
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.xsd
|
||||
http://www.springframework.org/schema/integration/file
|
||||
http://www.springframework.org/schema/integration/file/spring-integration-file.xsd
|
||||
http://www.springframework.org/schema/integration/ftp
|
||||
http://www.springframework.org/schema/integration/ftp/spring-integration-ftp.xsd
|
||||
http://www.springframework.org/schema/integration/mail
|
||||
http://www.springframework.org/schema/integration/mail/spring-integration-mail.xsd
|
||||
http://www.springframework.org/schema/integration/twitter
|
||||
http://www.springframework.org/schema/integration/twitter/spring-integration-twitter.xsd">
|
||||
|
||||
<file:inbound-channel-adapter id="videoFolder"
|
||||
directory="C:\projects\baeldung\clean-start-tutorials\tutorials\spring-integration\src\main\resources\source"
|
||||
channel="videoChannel"
|
||||
prevent-duplicates="true">
|
||||
<int:poller fixed-rate="1000"/>
|
||||
</file:inbound-channel-adapter>
|
||||
|
||||
<file:outbound-channel-adapter id="destFileFolder"
|
||||
directory="C:\projects\baeldung\clean-start-tutorials\tutorials\spring-integration\src\main\resources\destination"
|
||||
channel="videoChannel"
|
||||
>
|
||||
</file:outbound-channel-adapter>
|
||||
|
||||
<int:channel id="videoChannel"/>
|
||||
|
||||
<!-- <int:service-activator input-channel="videoChannel" output-channel="destFileFolder" method="handleMessage"
|
||||
ref="customActivator"/>
|
||||
|
||||
<bean name="customActivator" class="com.baeldung.samples.endpoints.ActivatorImpl"/>-->
|
||||
|
||||
|
||||
</beans>
|
||||
BIN
spring-integration/src/main/resources/source/penguins.jpg
Normal file
BIN
spring-integration/src/main/resources/source/penguins.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 760 KiB |
@@ -0,0 +1,48 @@
|
||||
/*
|
||||
* Copyright 2002-2013 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package com.baeldung.samples;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
import org.junit.Test;
|
||||
import org.springframework.context.support.AbstractApplicationContext;
|
||||
import org.springframework.context.support.ClassPathXmlApplicationContext;
|
||||
|
||||
import java.util.Scanner;
|
||||
|
||||
|
||||
/**
|
||||
* Starts the Spring Context and will initialize the Spring Integration routes.
|
||||
*
|
||||
* @author Baeldung
|
||||
* @since 1.0
|
||||
*
|
||||
*/
|
||||
public final class FileCopyTest {
|
||||
|
||||
private static final Logger LOGGER = Logger.getLogger(FileCopyTest.class);
|
||||
|
||||
@Test
|
||||
public void test() throws InterruptedException {
|
||||
|
||||
|
||||
final AbstractApplicationContext context =
|
||||
new ClassPathXmlApplicationContext("classpath:META-INF/spring/integration/spring-integration-file-copy-context.xml");
|
||||
|
||||
Thread.sleep(5000);
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user