BAEL-1175 - Finalized example and improved scripts
This commit is contained in:
+18
@@ -0,0 +1,18 @@
|
||||
package com.baeldung.twitterhdfs.aggregate;
|
||||
|
||||
import com.baeldung.twitterhdfs.processor.ProcessorApp;
|
||||
import com.baeldung.twitterhdfs.source.SourceApp;
|
||||
import com.baeldung.twitterhdfs.sink.SinkApp;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
import org.springframework.cloud.stream.aggregate.AggregateApplicationBuilder;
|
||||
|
||||
@SpringBootApplication
|
||||
public class AggregateApp {
|
||||
public static void main(String[] args) {
|
||||
new AggregateApplicationBuilder()
|
||||
.from(SourceApp.class).args("--fixedDelay=5000")
|
||||
.via(ProcessorApp.class)
|
||||
.to(SinkApp.class).args("--debug=true")
|
||||
.run(args);
|
||||
}
|
||||
}
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
package com.baeldung.twitterhdfs.processor;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
import org.springframework.cloud.stream.annotation.EnableBinding;
|
||||
import org.springframework.cloud.stream.messaging.Processor;
|
||||
import org.springframework.integration.annotation.Transformer;
|
||||
|
||||
@SpringBootApplication
|
||||
@EnableBinding(Processor.class)
|
||||
public class ProcessorApp {
|
||||
Logger log = LoggerFactory.getLogger(ProcessorApp.class);
|
||||
|
||||
@Transformer(inputChannel = Processor.INPUT, outputChannel = Processor.OUTPUT)
|
||||
public String processMessage(String payload) {
|
||||
log.info("Payload received!");
|
||||
return payload;
|
||||
}
|
||||
}
|
||||
+22
@@ -0,0 +1,22 @@
|
||||
package com.baeldung.twitterhdfs.sink;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
import org.springframework.cloud.stream.annotation.EnableBinding;
|
||||
import org.springframework.cloud.stream.app.hdfs.sink.HdfsSinkConfiguration;
|
||||
import org.springframework.cloud.stream.messaging.Sink;
|
||||
import org.springframework.context.annotation.Import;
|
||||
import org.springframework.integration.annotation.ServiceActivator;
|
||||
|
||||
@SpringBootApplication
|
||||
@EnableBinding(Sink.class)
|
||||
@Import(HdfsSinkConfiguration.class)
|
||||
public class SinkApp {
|
||||
Logger log = LoggerFactory.getLogger(SinkApp.class);
|
||||
|
||||
@ServiceActivator(inputChannel= Sink.INPUT)
|
||||
public void loggerSink(Object payload) {
|
||||
log.info("Received: " + payload);
|
||||
}
|
||||
}
|
||||
+26
@@ -0,0 +1,26 @@
|
||||
package com.baeldung.twitterhdfs.source;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
import org.springframework.cloud.stream.annotation.EnableBinding;
|
||||
import org.springframework.cloud.stream.app.twitterstream.source.TwitterstreamSourceConfiguration;
|
||||
import org.springframework.cloud.stream.messaging.Source;
|
||||
import org.springframework.context.annotation.Import;
|
||||
import org.springframework.integration.annotation.InboundChannelAdapter;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
|
||||
@SpringBootApplication
|
||||
@EnableBinding(Source.class)
|
||||
@Import(TwitterstreamSourceConfiguration.class)
|
||||
public class SourceApp {
|
||||
Logger log = LoggerFactory.getLogger(SourceApp.class);
|
||||
|
||||
@InboundChannelAdapter(value = Source.OUTPUT)
|
||||
public String timerMessageSource() {
|
||||
return new SimpleDateFormat().format(new Date());
|
||||
}
|
||||
|
||||
}
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
hdfs.fs-uri=hdfs://127.0.0.1:50010/
|
||||
|
||||
twitter.credentials.access-token=
|
||||
twitter.credentials.access-token-secret=
|
||||
twitter.credentials.consumer-key=
|
||||
twitter.credentials.consumer-secret=
|
||||
Reference in New Issue
Block a user