/* * myLib - https://github.com/taktod/myLib * Copyright (c) 2014 ttProject. All rights reserved. * * Licensed under The MIT license. */ package com.ttProject.pipe.test; import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.PrintWriter; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import org.apache.log4j.Logger; import com.ttProject.pipe.PipeHandler; import com.ttProject.pipe.PipeManager; /** * namePipe work test. * @author taktod */ public class PipeTest { /** logger */ private Logger logger = Logger.getLogger(PipeTest.class); /** * tail test * @throws Exception */ // @Test public void test() throws Exception { logger.info("start"); PipeManager manager = new PipeManager(); final PipeHandler handler = manager.getPipeHandler("tail"); handler.setCommand("tail -f ${pipe}"); // execute process. handler.executeProcess(); ExecutorService ex = Executors.newCachedThreadPool(); ex.execute(new Runnable() { @Override public void run() { try { BufferedReader reader = new BufferedReader(new InputStreamReader(handler.getInputStream())); String line = null; while((line = reader.readLine()) != null) { logger.info(line); } logger.info("end"); } catch(Exception e) { logger.error("get Exception for pipeline response", e); } } }); PrintWriter writer = new PrintWriter(handler.getPipeTarget()); writer.println("test"); writer.flush(); writer.println("aiueo"); writer.flush(); writer.close(); Thread.sleep(1000); logger.info("finish"); ex.shutdownNow(); // kill the execute threads. } }