public Boolean getBoolean(T key) { return getBoolean(key, null); }
@Override public ImmediateContext create(String name, Options options) { final boolean singleton = options.getBoolean(DaemonContext.CreateOption.SINGLETON); return new ImmediateContext(name, clusterParticipant(name, singleton), singleton); } }
@Override public DaemonContext create(final String name, final Options options) { final boolean singleton = options.getBoolean(DaemonContext.CreateOption.SINGLETON); return new ConcreteDaemonContext(name, clusterParticipant(name, singleton), singleton, options.getLong(DaemonContext.CreateOption.STOP_TIMEOUT)); } }
@Override public synchronized boolean schedule(String name, Runnable fn, Map<ScheduleOption, Object> opts) throws Exception { Options<ScheduleOption> options = new Options<>(opts); validateOptions(options); start(); final boolean replacedExisting = unschedule(name); final JobDataMap jobDataMap = new JobDataMap(); final Map contextOptions = new HashMap(); contextOptions.put(ExecutionContext.CreateOption.SINGLETON, options.getBoolean(SINGLETON)); final ImmediateContext context = WunderBoss.findOrCreateComponent(ImmediateContext.class, name, contextOptions); context.setAction(fn); // TODO: Quartz says only serializable things should be in here jobDataMap.put(RunnableJob.RUN_FUNCTION_KEY, context); JobBuilder jobBuilder; if (options.getBoolean(ALLOW_CONCURRENT_EXEC)) { jobBuilder = JobBuilder.newJob(RunnableJob.class); } else { jobBuilder = JobBuilder.newJob(RunnableJob.NotConcurrentlyExecuting.class); } JobDetail job = jobBuilder.usingJobData(jobDataMap).build(); this.scheduler.scheduleJob(job, initTrigger(name, options)); this.currentJobs.put(name, job.getKey()); return replacedExisting; }
queue = createQueue(name, opts.getString(CreateQueueOption.SELECTOR, ""), opts.getBoolean(CreateQueueOption.DURABLE)); addCreatedDestination(DestinationUtil.fullName(name, JMSDestination.Type.QUEUE));
opts.getBoolean(PublishOption.PERSISTENT) ? DeliveryMode.PERSISTENT : DeliveryMode.NON_PERSISTENT, opts.getInt(PublishOption.PRIORITY),
protected boolean registerHandler(HttpHandler httpHandler, Map<RegisterOption, Object> opts, Runnable cleanup) { final Options<RegisterOption> options = new Options<>(opts); final String context = options.getString(RegisterOption.PATH); httpHandler = wrapWithSessionHandler(httpHandler); if (options.has(RegisterOption.STATIC_DIR)) { httpHandler = wrapWithStaticHandler(httpHandler, options.getString(RegisterOption.STATIC_DIR)); } if (options.getBoolean(RegisterOption.DISPATCH)) { httpHandler = wrapWithDispatcher(httpHandler); } final boolean replacement = pathology.add(context, options.getList(RegisterOption.VHOSTS), httpHandler); if (cleanup != null) { pathology.epilogue(httpHandler, cleanup); } if (autoStart) { start(); } log.info("Registered web context {}", context); return replacement; }
void transact() { if (options.getBoolean(Caching.CreateOption.TRANSACTIONAL)) { LockingMode mode = LockingMode.valueOf(options.getString(Caching.CreateOption.LOCKING).toUpperCase()); builder.transaction() .transactionMode(TransactionMode.TRANSACTIONAL) .transactionManagerLookup(TM_LOOKUP) .lockingMode(mode) .recovery() .versioning().enabled(mode==LockingMode.OPTIMISTIC).scheme(VersioningScheme.SIMPLE) .locking() .isolationLevel(mode==LockingMode.OPTIMISTIC ? IsolationLevel.REPEATABLE_READ : IsolationLevel.READ_COMMITTED) .writeSkewCheck(mode==LockingMode.OPTIMISTIC); } else { builder.transaction().transactionMode(TransactionMode.NON_TRANSACTIONAL); } }
@Override public Context createContext(Map<CreateContextOption, Object> options) throws Exception { final Options<CreateContextOption> opts = new Options<>(options); JMSSpecificContext context; boolean xa = opts.getBoolean(CreateContextOption.XA); ConnectionFactory cf; if (opts.has(CreateContextOption.HOST)) { cf = createRemoteConnectionFactory(opts); } else { start(); cf = (ConnectionFactory)lookupJNDI(xa ? JNDI_XA_CF_NAME : JNDI_CF_NAME); } if (xa) { context = createXAContext((XAConnectionFactory)cf, opts); } else { context = createContext(cf, opts); } if (opts.has(CreateContextOption.CLIENT_ID)) { context.jmsConnection().setClientID(opts.getString(CreateContextOption.CLIENT_ID)); } return context; }
private void configure(Options<CreateOption> options) { autoStart = options.getBoolean(CreateOption.AUTO_START); Undertow.Builder builder = (Undertow.Builder) options.get(CreateOption.CONFIGURATION); if (builder != null) { undertow = builder .setHandler(Handlers.header(pathology.handler(), Headers.SERVER_STRING, "undertow")) .build(); } else { int port = options.getInt(CreateOption.PORT); String host = options.getString(CreateOption.HOST); undertow = Undertow.builder() .addHttpListener(port, host) .setHandler(Handlers.header(pathology.handler(), Headers.SERVER_STRING, "undertow")) .build(); } }