/** * Copyright 2015-2016 Red Hat, Inc, and individual contributors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.wildfly.swarm.jca; import java.util.HashMap; import java.util.Map; import org.wildfly.swarm.config.JCA; import org.wildfly.swarm.config.jca.ArchiveValidation; import org.wildfly.swarm.config.jca.BeanValidation; import org.wildfly.swarm.config.jca.BootstrapContext; import org.wildfly.swarm.config.jca.CachedConnectionManager; import org.wildfly.swarm.config.jca.LongRunningThreads; import org.wildfly.swarm.config.jca.ShortRunningThreads; import org.wildfly.swarm.config.jca.Workmanager; import org.wildfly.swarm.spi.api.Fraction; import org.wildfly.swarm.spi.api.annotations.MarshalDMR; import org.wildfly.swarm.spi.api.annotations.WildFlyExtension; /** * @author Bob McWhirter */ @WildFlyExtension(module = "org.jboss.as.connector", classname = "org.jboss.as.connector.subsystems.jca.JcaExtension") @MarshalDMR public class JCAFraction extends JCA<JCAFraction> implements Fraction<JCAFraction> { private static final String DEFAULT = "default"; public static JCAFraction createDefaultFraction() { return new JCAFraction().applyDefaults(); } public JCAFraction applyDefaults() { Map<Object, Object> keepAlive = new HashMap<>(); keepAlive.put("time", "10"); keepAlive.put("unit", "SECONDS"); archiveValidation(new ArchiveValidation() .enabled(true) .failOnError(true) .failOnWarn(true)) .beanValidation(new BeanValidation() .enabled(true)) .workmanager(new Workmanager(DEFAULT) .name(DEFAULT) .shortRunningThreads(new ShortRunningThreads(DEFAULT) .coreThreads(50) .queueLength(50) .maxThreads(50) .keepaliveTime(keepAlive)) .longRunningThreads(new LongRunningThreads(DEFAULT) .coreThreads(50) .queueLength(50) .maxThreads(50) .keepaliveTime(keepAlive))) .bootstrapContext(new BootstrapContext(DEFAULT) .workmanager(DEFAULT) .name(DEFAULT)) .cachedConnectionManager(new CachedConnectionManager().install(true)); return this; } }