
io.vertx.up.uca.rs.config.WorkerExtractor Maven / Gradle / Ivy
The newest version!
package io.vertx.up.uca.rs.config;
import io.horizon.uca.cache.Cc;
import io.vertx.core.DeploymentOptions;
import io.vertx.up.fn.Fn;
import io.horizon.uca.log.Annal;
import io.vertx.up.runtime.deployment.DeployRotate;
import io.vertx.up.runtime.deployment.Rotate;
import io.vertx.up.uca.rs.Extractor;
import io.vertx.up.util.Ut;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
/**
* Worker verticle deployment
*/
public class WorkerExtractor implements Extractor {
private static final Annal LOGGER = Annal.get(WorkerExtractor.class);
private static final ConcurrentMap, DeploymentOptions>
OPTIONS = new ConcurrentHashMap<>();
private static final Cc, DeploymentOptions> CC_OPTIONS = Cc.open();
@Override
public DeploymentOptions extract(final Class> clazz) {
Fn.runAt(() -> LOGGER.info(Info.WORKER_HIT, clazz.getName()), clazz);
final Rotate rotate = Ut.singleton(DeployRotate.class);
return CC_OPTIONS.pick(() -> rotate.spinWorker(clazz), clazz);
// Fn.po?l(OPTIONS, clazz, () -> rotate.spinWorker(clazz));
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy