private void release(final ByteBuffer buffer) { synchronized (this.buffers) { if (this.buffers.size() < BUFFER_NUM_WRITE + Environment.getCores() + 1) { buffer.clear(); this.buffers.add(buffer); } } }
private Fetcher(final InputStream stream, final byte delimiter) { this.queue = new ArrayBlockingQueue<Object>(BUFFER_NUM_READ, false); this.stream = stream; this.delimiter = delimiter; this.buffers = new ArrayList<ByteBuffer>(); this.references = 0; this.exception = null; this.latch = new CountDownLatch(1); Environment.getPool().submit(this); }
public static String getName() { if (frozenName == null) { frozenName = getProperty("utils.environment.name", "application"); } return frozenName; }
.getProperty("cmd." + program.replace('-', '.'), program).split("\\s+"))); Iterables.addAll(command, args); final ProcessBuilder processBuilder = new ProcessBuilder(command); Environment.getPool().submit(new Runnable() {
if (template == null) { final String property = "utils.environment.cmd." + command; String cmd = getProperty(property); if (cmd != null) { try { template = new ProcessBuilder(); cmd = cmd.trim(); final String[] tokens = tokenize(cmd, Pattern.compile("[\\s]+|(=)")); int i = 0; for (; i + 3 <= tokens.length; i += 3) {
builder = Environment.getProcessBuilder("bzip2", "-dck"); } else if (ext.endsWith(".gz")) { builder = Environment.getProcessBuilder("gzip", "-dc"); } else if (ext.endsWith(".xz")) { builder = Environment.getProcessBuilder("xz", "-dc"); } else if (ext.endsWith(".7z")) { builder = Environment.getProcessBuilder("7za", "-so", "e"); } else if (ext.endsWith(".lz4")) { builder = Environment.getProcessBuilder("lz4", "-dc"); builder.redirectError(Redirect.INHERIT); final Process process = builder.start(); Environment.getPool().execute(new Runnable() {
public static Map<String, String> getPlugins(final Class<?> baseClass) { Objects.requireNonNull(baseClass); if (frozenPlugins == null) { loadPlugins(); } final Map<String, String> map = new HashMap<>(); for (final Plugin plugin : frozenPlugins) { if (baseClass.isAssignableFrom(plugin.factory.getReturnType())) { map.put(plugin.names.get(0), plugin.description); } } return map; }
public static ExecutorService getPool() { if (frozenPool == null) { synchronized (Environment.class) { if (frozenPool == null) { frozenPool = configuredPool; if (frozenPool == null) { frozenPool = Executors.newCachedThreadPool(new ThreadFactoryBuilder() .setDaemon(true).setPriority(Thread.NORM_PRIORITY) .setNameFormat(getName() + "-%03d").build()); } LOGGER.debug("Using pool {}", frozenPool); } } } return frozenPool; }
builder = Environment.getProcessBuilder("bzip2", "-c", "-9"); } else if (ext.endsWith(".gz")) { builder = Environment.getProcessBuilder("gzip", "-c", "-9"); } else if (ext.endsWith(".xz")) { builder = Environment.getProcessBuilder("xz", "-c", "-9"); } else if (ext.endsWith(".lz4")) { builder = Environment.getProcessBuilder("lz4", "-c", "-9");
public static <T> T newPlugin(final Class<T> baseClass, final String name, final String... args) { Objects.requireNonNull(baseClass); Objects.requireNonNull(name); if (Arrays.asList(args).contains(null)) { throw new NullPointerException(); } if (frozenPlugins == null) { loadPlugins(); } for (final Plugin plugin : frozenPlugins) { if (baseClass.isAssignableFrom(plugin.factory.getReturnType()) && plugin.names.contains(name)) { try { return baseClass.cast(plugin.factory.invoke(null, name, args)); } catch (final IllegalAccessException ex) { throw new Error("Unexpected error (!)", ex); // checked when // loading // plugins } catch (final InvocationTargetException ex) { final Throwable cause = ex.getCause(); throw cause instanceof RuntimeException ? (RuntimeException) cause : new RuntimeException(ex); } } } throw new IllegalArgumentException( "Unknown " + baseClass.getSimpleName() + " plugin '" + name + "'"); }
private Emitter(final OutputStream stream) { this.queue = new ArrayBlockingQueue<Object>(BUFFER_NUM_WRITE, false); this.stream = stream; this.buffers = new ArrayList<ByteBuffer>(); this.references = 0; this.exception = null; this.latch = new CountDownLatch(1); Environment.getPool().submit(this); }
private void release(final ByteBuffer buffer) { synchronized (this.buffers) { if (this.buffers.size() < BUFFER_NUM_READ + Environment.getCores() + 1) { buffer.clear(); this.buffers.add(buffer); } } }
public static int getCores() { if (frozenCores <= 0) { frozenCores = Integer.parseInt(getProperty("utils.environment.cores")); } return frozenCores; }
private Emitter(final Writer writer) { this.queue = new ArrayBlockingQueue<Object>(BUFFER_NUM_WRITE, false); this.writer = writer; this.buffers = new ArrayList<CharBuffer>(); this.references = 0; this.exception = null; this.latch = new CountDownLatch(1); Environment.getPool().submit(this); }
private void release(final CharBuffer buffer) { synchronized (this.buffers) { if (this.buffers.size() < BUFFER_NUM_WRITE + Environment.getCores() + 1) { buffer.clear(); this.buffers.add(buffer); } } }
@Nullable public static String getProperty(final String name, @Nullable final String valueIfNull) { final String value = getProperty(name); return value != null ? value : valueIfNull; }
private Fetcher(final Reader reader, final char delimiter) { this.queue = new ArrayBlockingQueue<Object>(BUFFER_NUM_READ, false); this.reader = reader; this.delimiter = delimiter; this.buffers = new ArrayList<CharBuffer>(); this.references = 0; this.exception = null; this.latch = new CountDownLatch(1); Environment.getPool().submit(this); }
private void release(final CharBuffer buffer) { synchronized (this.buffers) { if (this.buffers.size() < BUFFER_NUM_READ + Environment.getCores() + 1) { buffer.clear(); this.buffers.add(buffer); } } }