Dear Apache Edgent community,
I’m trying to figure out how to establish a HTTP connection between two
Apache Edgent instances.
I want to tail an active file and send the appended records via HTTP to
another Apache Edgent instance.
The second instance should receive these records via HTTP and write them to
disk.
My code for the first instance looks like this:
package com.mycompany.app;
import org.apache.edgent.connectors.http.*;
import org.apache.edgent.connectors.file.*;
import org.apache.edgent.providers.direct.DirectProvider;
import org.apache.edgent.topology.TStream;
import org.apache.edgent.topology.Topology;
/**
* Edgent Application template.
*/
public class TemplateApp {
public static void main(String[] args) throws Exception {
//Create a provider
DirectProvider dp = new DirectProvider();
//Create a topology
Topology top = dp.newTopology();
//Build the topology
String watchedDir = "/tmp/test/";
//Read file
TStream<String> pathnames = FileStreams.directoryWatcher(top, () ->
watchedDir, null);
TStream<String> lines = FileStreams.textFileReader(pathnames);
//Insert filter here
lines.print();
//Insert ‘send data to HTTP server’ here
//Submit the topology
dp.submit(top);
}
}
How do I fill the gap after “//Insert ‘send data to HTTP server’ here” to
be able to send the records to the second instance?
How does the HTTP part of the second instance have to look like to be able
to receive these records?
Best regards,
Tom