package com.blu.imdg.flume.rpc; import org.apache.flume.Event; import org.apache.flume.EventDeliveryException; import org.apache.flume.api.RpcClient; import org.apache.flume.api.RpcClientFactory; import org.apache.flume.event.EventBuilder; /** * Created by shamim on 11/08/16. */ public class RpcEventGenerator { private org.apache.flume.api.RpcClient rpcClient; private String hostName; private int port; public RpcEventGenerator(String hostName, int port) { this.hostName = hostName; this.port = port; this.rpcClient = RpcClientFactory.getDefaultInstance(hostName, port); } public void sendData(String data){ Event event = EventBuilder.withBody(data.getBytes()); try { rpcClient.append(event); } catch (EventDeliveryException e) { e.printStackTrace(); rpcClient.close(); rpcClient = RpcClientFactory.getDefaultInstance(this.hostName, this.port); } } public void cleanUp(){ if(rpcClient.isActive()){ rpcClient.close(); } } }