/* # Licensed Materials - Property of IBM # Copyright IBM Corp. 2015 */ package simple; import com.ibm.streamsx.topology.TStream; import com.ibm.streamsx.topology.Topology; import com.ibm.streamsx.topology.context.StreamsContextFactory; /** * Sample echo topology application. This Java application builds a * simple topology that echos its command line arguments to standard output. * <BR> * The application implements the typical pattern of code that declares a * topology followed by submission of the topology to a Streams context * {@code com.ibm.streamsx.topology.context.StreamsContext}. * <BR> * This demonstrates passing in values (the command line arguments) into a topology, * so that the same application can produce different ouput depending on the passed * in values. * <P> * This topology is always executed in embedded mode, * within this JVM. * <BR> * This may be executed from the {@code samples/java/functional} directory as: * <UL> * <LI>{@code ant run.echo} - Using Apache Ant, this will run in embedded * mode.</LI> * <LI> * {@code java -cp functionalsamples.jar:../../../com.ibm.streamsx.topology/lib/com.ibm.streamsx.topology.jar:$STREAMS_INSTALL/lib/com.ibm.streams.operator.samples.jar * simple.Echo text to echo * } - Run directly from the command line in embedded mode. * <LI> * An application execution within your IDE once you set the class path to include the correct jars.</LI> * </UL> * </P> */ public class Echo { /** * Sample Echo topology application. This Java application builds a * simple topology that echos its command line arguments to standard output. * <BR> * The application implements the typical pattern * of code that declares a topology followed by * submission of the topology to a Streams context * (@code com.ibm.streamsx.topology.context.StreamsContext}. * @param args Arguments to be echoed to standard out. * @throws Exception */ public static void main(String[] args) throws Exception { Topology topology = new Topology("Echo"); /* * The command line arguments (args) are captured by * the strings() method and will be used at runtime * as the contents of the echo stream. */ TStream<String> echo = topology.strings(args); echo.print(); /* * At this point the topology is declared with a single * stream that is printed to System.out. */ /* * Now execute the topology by submitting to an * embedded (within this JVM) StreamsContext. */ StreamsContextFactory.getEmbedded().submit(topology).get(); } }