private static long ms(final String durationValue, final TimeUnit defaultTU) { final Duration duration = new Duration(durationValue.trim()); // default was minutes // let say the user uses as before "1" as value // time unit will be null so simply set the unit // to the "old" default if (duration.getUnit() == null) { duration.setUnit(defaultTU); } return duration.getUnit().toMillis(duration.getTime()); }
private Duration getDuration(final Options options, final String property, final Duration defaultValue, final TimeUnit defaultUnit) { final String s = options.get(property, defaultValue.toString()); final Duration duration = new Duration(s); if (duration.getUnit() == null) { duration.setUnit(defaultUnit); } return duration; }
@Override public Duration unmarshal(final String v) throws Exception { return Duration.parse(v); }
public Duration subtract(final Duration that) { final Normalize n = new Normalize(this, that); return new Duration(n.a - n.b, n.base); }
public Duration(final String string) { final String[] strings = string.split(",| and "); Duration total = new Duration(); final Duration part = new Duration(); s = s.trim(); invalidFormat(s); u.append(c); } else { invalidFormat(s); part.unit = parseUnit(u.toString()); total = total.add(part);
public void initEviction() { if (!"true".equalsIgnoreCase(SystemInstance.get().getProperty("openejb.http.eviction", "true"))) { return; } final Duration duration = new Duration(SystemInstance.get().getProperty("openejb.http.eviction.duration", "1 minute")); es = Executors.newScheduledThreadPool(1, new DaemonThreadFactory(SessionManager.class)); es.scheduleWithFixedDelay(new Runnable() { @Override public void run() { for (final SessionWrapper data : new ArrayList<>(sessions.values())) { final HttpSession session = data.session; if (session.getMaxInactiveInterval() > 0 && session.getLastAccessedTime() + TimeUnit.SECONDS.toMillis(session.getMaxInactiveInterval()) < System.currentTimeMillis()) { doDestroy(data); sessions.remove(data.session.getId()); } } } }, duration.getTime(), duration.getTime(), duration.getUnit()); }
public SimpleCache(final CacheListener<V> listener, final PassivationStrategy passivator, final int capacity, final int bulkPassivate, final Duration timeOut) { this.listener = listener; this.passivator = passivator; this.capacity = capacity; this.bulkPassivate = bulkPassivate; this.timeOut = timeOut.getTime(TimeUnit.MILLISECONDS); }
@Override public String marshal(final Duration v) throws Exception { return v.toString(); } }
@Attribute(description = "How many time the resource will try to find the watchPort opened and give up if not.", sample = "2 minutes") public void setWatchTimeout(final String watchTimeout) { this.watchTimeout = new Duration(watchTimeout); }
public void deploy(CoreDeploymentInfo deploymentInfo) { Options options = new Options(deploymentInfo.getProperties()); final Pool.Builder builder = new Pool.Builder(poolBuilder); String timeString = options.get("Timeout", this.timeout.toString()); timeString = options.get("AccessTimeout", timeString); Duration accessTimeout = new Duration(timeString); final ObjectRecipe recipe = PassthroughFactory.recipe(builder); recipe.setAllProperties(deploymentInfo.getProperties()); builder.setSupplier(new StatelessSupplier(deploymentInfo)); builder.setExecutor(executor); Data data = new Data(builder.build(), accessTimeout); deploymentInfo.setContainerData(data); final int min = builder.getMin(); long maxAge = builder.getMaxAge().getTime(TimeUnit.MILLISECONDS); double maxAgeOffset = builder.getMaxAgeOffset(); for (int i = 0; i < min; i++) { Instance obj = createInstance(deploymentInfo); if (obj == null) continue; long offset = maxAge > 0 ? ((long) (maxAge / min * i * maxAgeOffset)) % maxAge : 0l; data.getPool().add(obj, offset); } data.getPool().start(); }
public Duration(final String string) { final String[] strings = string.split(",| and "); Duration total = new Duration(); final Duration part = new Duration(); s = s.trim(); invalidFormat(s); u.append(c); } else { invalidFormat(s); part.unit = parseUnit(u.toString()); total = total.add(part);