Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 /*
  * JBoss, Home of Professional Open Source.
  * Copyright 2011, Red Hat, Inc., and individual contributors
  * as indicated by the @author tags. See the copyright.txt file in the
  * distribution for a full listing of individual contributors.
  *
  * This is free software; you can redistribute it and/or modify it
  * under the terms of the GNU Lesser General Public License as
  * published by the Free Software Foundation; either version 2.1 of
 * the License, or (at your option) any later version.
 *
 * This software is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this software; if not, write to the Free
 * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
 * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
 */
package org.jboss.as.ejb3.subsystem;
import static org.jboss.as.controller.descriptions.ModelDescriptionConstants.*;

User: jpai
public class SetDefaultSLSBPool implements OperationStepHandler {
    public static final SetDefaultSLSBPool INSTANCE = new SetDefaultSLSBPool();
    @Override
    public void execute(OperationContext contextModelNode operationthrows OperationFailedException {
        // get the pool name value from the operation's "value" param
        final String poolName = operation.require(.).asString();
        // update the model
        // first get the ModelNode for the address on which this operation was executed. i.e. /subsystem=ejb3
        ModelNode model = context.readResourceForUpdate(.).getModel();
        model.get(.).set(poolName);
        // now create a runtime operation to update the default slsb pool config service
        if (context.getType() == ..) {
            context.addStep(new DefaultSLSBPoolConfigServiceUpdateHandler(poolName), ..);
        }
        // complete the step
        context.completeStep();
    }
        private final String poolName;
        DefaultSLSBPoolConfigServiceUpdateHandler(final String poolName) {
            this. = poolName;
        }
        @Override
        public void execute(OperationContext contextModelNode operationthrows OperationFailedException {
            final ServiceRegistry serviceRegistry = context.getServiceRegistry(true);
            ServiceController existingDefaultSLSBPoolConfigService = serviceRegistry.getService(.);
            // if a default SLSB pool is already installed, then remove it first
            if (existingDefaultSLSBPoolConfigService != null) {
                context.removeService(existingDefaultSLSBPoolConfigService);
            }
            // now install default slsb pool config service which points to an existing pool config service
            final ValueInjectionService<PoolConfignewDefaultSLSBPoolConfigService = new ValueInjectionService<PoolConfig>();
            context.getServiceTarget().addService(.newDefaultSLSBPoolConfigService)
                    .addDependency(..append(), PoolConfig.classnewDefaultSLSBPoolConfigService.getInjector())
                    .install();
            // complete the step
            context.completeStep();
        }
    }
New to GrepCode? Check out our FAQ X