public static void main(String[] args) throws Exception {
System.setProperty("hazelcast.logging.type", "log4j");
JetInstance localJet = Jet.newJetInstance();
try {
HazelcastInstance externalHz = startExternalHazelcast();
IMap<Integer, Integer> sourceMap = externalHz.getMap(MAP_1);
for (int i = 0; i < ITEM_COUNT; i++) {
sourceMap.put(i, i);
}
ClientConfig clientConfig = clientConfigForExternalHazelcast();
Pipeline p1 = Pipeline.create();
p1.drawFrom(Sources.remoteMap(MAP_1, clientConfig))
.drainTo(Sinks.map(MAP_1));
Pipeline p2 = Pipeline.create();
p2.drawFrom(Sources.map(MAP_1))
.drainTo(Sinks.remoteMap(MAP_2, clientConfig));
localJet.newJob(p1).join();
System.out.println("Local map-1 contents: " + localJet.getMap(MAP_1).entrySet());
localJet.newJob(p2).join();
System.out.println("Remote map-2 contents: " + externalHz.getMap(MAP_2).entrySet());
} finally {
Jet.shutdownAll();
Hazelcast.shutdownAll();
}
}