Example usage for com.google.common.io Closer create

List of usage examples for com.google.common.io Closer create

Introduction

In this page you can find the example usage for com.google.common.io Closer create.

Prototype

public static Closer create() 

Source Link

Document

Creates a new Closer .

Usage

From source file:gobblin.util.ClustersNames.java

protected ClustersNames() {

    try (Closer closer = Closer.create()) {
        InputStream propsInput = closer.register(getClass().getResourceAsStream(URL_TO_NAME_MAP_RESOURCE_NAME));
        if (null == propsInput) {
            propsInput = closer.register(ClassLoader.getSystemResourceAsStream(URL_TO_NAME_MAP_RESOURCE_NAME));
        }/* w ww .java 2  s .c o  m*/
        if (null != propsInput) {
            try {
                this.urlToNameMap.load(propsInput);
                LOG.info("Loaded cluster names map:" + this.urlToNameMap);
            } catch (IOException e) {
                LOG.warn("Unable to load cluster names map: " + e, e);
            }
        } else {
            LOG.info("no default cluster mapping found");
        }
    } catch (IOException e) {
        LOG.warn("unable to close resource input stream for " + URL_TO_NAME_MAP_RESOURCE_NAME + ":" + e, e);
    }
}

From source file:com.facebook.buck.remoteexecution.grpc.GrpcExecutionFactory.java

/**
 * The in-process strategy starts up a grpc remote execution service in process and connects to it
 * directly.//from   w w  w. j  ava 2  s.c  om
 */
public static RemoteExecutionClients createInProcess(BuckEventBus buckEventBus) throws IOException {
    NamedTemporaryDirectory workDir = new NamedTemporaryDirectory("__remote__");
    GrpcRemoteExecutionServiceServer remoteExecution = new GrpcRemoteExecutionServiceServer(
            new LocalContentAddressedStorage(workDir.getPath().resolve("__cache__"),
                    GrpcRemoteExecutionClients.PROTOCOL),
            workDir.getPath().resolve("__work__"));

    InProcessServerBuilder builder = InProcessServerBuilder.forName("unique");
    remoteExecution.getServices().forEach(builder::addService);
    Server server = builder.build().start();
    ManagedChannel channel = InProcessChannelBuilder.forName("unique").build();

    return new GrpcRemoteExecutionClients("in-process", channel, channel,
            MetadataProviderFactory.emptyMetadataProvider(), buckEventBus) {
        @Override
        public void close() throws IOException {
            try (Closer closer = Closer.create()) {
                closer.register(server::shutdown);
                closer.register(workDir);
                closer.register(super::close);
            }
            try {
                server.awaitTermination();
            } catch (InterruptedException e) {
                throw new RuntimeException(e);
            }
        }
    };
}

From source file:com.googlecode.jmxtrans.model.output.support.pool.DatagramChannelAllocator.java

@Override
public void deallocate(DatagramChannelPoolable poolable) throws Exception {
    Closer closer = Closer.create();
    try {//from w ww.j a v a 2 s  .  c  om
        Writer writer = closer.register(poolable.getWriter());
        writer.flush();
    } catch (Throwable t) {
        throw closer.rethrow(t);
    } finally {
        closer.close();
    }
}

From source file:com.android.build.gradle.internal.transforms.JarMerger.java

private void init() throws IOException {
    if (closer == null) {
        FileUtils.mkdirs(jarFile.getParentFile());

        closer = Closer.create();

        FileOutputStream fos = closer.register(new FileOutputStream(jarFile));
        BufferedOutputStream bos = closer.register(new BufferedOutputStream(fos));
        jarOutputStream = closer.register(new JarOutputStream(bos));
    }//w ww.ja v  a  2  s  .com
}

From source file:org.apache.gobblin.instrumented.fork.InstrumentedForkOperatorBase.java

protected InstrumentedForkOperatorBase(Optional<Class<?>> classTag) {
    this.closer = Closer.create();
    this.classTag = classTag;

    regenerateMetrics();
}

From source file:org.apache.gobblin.metrics.reporter.util.MetricReportUtils.java

/**
 * Parses a {@link org.apache.gobblin.metrics.MetricReport} from a byte array Avro serialization.
 * @param reuse MetricReport to reuse./*  w w w. j ava 2  s. c  o  m*/
 * @param bytes Input bytes.
 * @return MetricReport.
 * @throws java.io.IOException
 */
public synchronized static MetricReport deserializeReportFromAvroSerialization(MetricReport reuse, byte[] bytes)
        throws IOException {
    if (!READER.isPresent()) {
        READER = Optional.of(new SpecificDatumReader<>(MetricReport.class));
    }

    Closer closer = Closer.create();

    try {
        DataInputStream inputStream = closer.register(new DataInputStream(new ByteArrayInputStream(bytes)));

        // Check version byte
        int versionNumber = inputStream.readInt();
        if (versionNumber != SCHEMA_VERSION) {
            throw new IOException(
                    String.format("MetricReport schema version not recognized. Found version %d, expected %d.",
                            versionNumber, SCHEMA_VERSION));
        }

        // Decode the rest
        Decoder decoder = DecoderFactory.get().binaryDecoder(inputStream, null);
        return READER.get().read(reuse, decoder);
    } catch (Throwable t) {
        throw closer.rethrow(t);
    } finally {
        closer.close();
    }
}

From source file:com.googlecode.jmxtrans.test.UdpLoggingServer.java

private void start() {
    checkState(thread == null, "UDP Server already started");

    thread = new Thread(new Runnable() {
        @Override//from  w w  w.  ja v  a2 s.  c o m
        public void run() {
            Closer closer = Closer.create();
            try {
                try {
                    socket = closer.register(new DatagramSocket());
                    while (true) {
                        processRequests(socket);
                    }
                } catch (Throwable t) {
                    throw closer.rethrow(t);
                } finally {
                    closer.close();
                    socket = null;
                }
            } catch (IOException ioe) {
                log.error("Exception in TCP echo server", ioe);
            }
        }
    });
    thread.start();

    try {
        synchronized (startSynchro) {
            startSynchro.wait(1000);
        }
    } catch (InterruptedException interrupted) {
        log.error("UDP server seems to take too long to start", interrupted);
    }
}

From source file:alluxio.client.file.FileSystemMasterClientPool.java

@Override
public void close() throws IOException {
    FileSystemMasterClient client;// ww w.  j  a  va  2  s  . com
    Closer closer = Closer.create();
    while ((client = mClientList.poll()) != null) {
        closer.register(client);
    }
    closer.close();
}

From source file:gobblin.metrics.reporter.util.EventUtils.java

/**
 * Parses a {@link gobblin.metrics.MetricReport} from a byte array Avro serialization.
 * @param reuse MetricReport to reuse.//from  w w  w . ja  v  a  2  s .c o m
 * @param bytes Input bytes.
 * @return MetricReport.
 * @throws java.io.IOException
 */
public synchronized static GobblinTrackingEvent deserializeReportFromAvroSerialization(
        GobblinTrackingEvent reuse, byte[] bytes) throws IOException {
    if (!reader.isPresent()) {
        reader = Optional.of(new SpecificDatumReader<>(GobblinTrackingEvent.class));
    }

    Closer closer = Closer.create();

    try {
        DataInputStream inputStream = closer.register(new DataInputStream(new ByteArrayInputStream(bytes)));

        // Check version byte
        int versionNumber = inputStream.readInt();
        if (versionNumber != SCHEMA_VERSION) {
            throw new IOException(
                    String.format("MetricReport schema version not recognized. Found version %d, expected %d.",
                            versionNumber, SCHEMA_VERSION));
        }

        // Decode the rest
        Decoder decoder = DecoderFactory.get().binaryDecoder(inputStream, null);
        return reader.get().read(reuse, decoder);
    } catch (Throwable t) {
        throw closer.rethrow(t);
    } finally {
        closer.close();
    }
}

From source file:org.apache.gobblin.service.SimpleKafkaSpecExecutor.java

@Override
protected void startUp() throws Exception {
    optionalCloser = Optional.of(Closer.create());
    specProducer = optionalCloser.get().register((SimpleKafkaSpecProducer) specProducer);
}