Package org.rioproject.monitor.service

Examples of org.rioproject.monitor.service.ProvisionRequest


             * the service elements that have been processed */
            synchronized (collection) {
                Set<Key> requests = collection.keySet();
                int numDeployed = 0;
                for (Key requestKey : requests) {
                    ProvisionRequest request = collection.get(requestKey);
                    try {
                        if (clearedMaxPerMachineAndIsolated(request, ir.getHostAddress()) && ir.canProvision(request)) {
                            numDeployed = doDeploy(resource, request);
                        }
                    } catch (ProvisionException e) {
                        request.setType(ProvisionRequest.Type.UNINSTANTIABLE);
                        logger.warn("Service [{}] is un-instantiable, do not resubmit",
                                    LoggingUtil.getLoggingName(request));
                        processProvisionFailure(request, e);
                    }

View Full Code Here


            StringBuilder b = new StringBuilder();
            b.append("doDeploy ").append(numAllowed).append(" [");
            b.append(LoggingUtil.getLoggingName(req)).append("] instances");

            for (int i = 0; i < numAllowed; i++) {
                ProvisionRequest request = ProvisionRequest.copy(req);
                ServiceProvisionContext spc = getServiceProvisionContext();
                long nextID = (changeInstanceID ?
                               request.getInstanceIDMgr().getNextInstanceID() : currentID);
                if(changeInstanceID)
                    logger.warn("[{}] Changing instanceID", LoggingUtil.getLoggingName(request));
                request.setServiceElement(ServiceElementUtil.prepareInstanceID(request.getServiceElement(),
                                                                               true,
                                                                               nextID));
                logger.trace("[{}] instanceID : {}",
                             LoggingUtil.getLoggingName(request),
                             request.getServiceElement().getServiceBeanConfig().getInstanceID());
                spc.getInProcess().add(request.getServiceElement());
                spc.setProvisionRequest(request);
                spc.setServiceResource(resource);
                spc.getProvisioningPool().execute(new ProvisionTask(spc, null));
            }
            logger.debug(b.toString());
View Full Code Here

        List<ProvisionRequest> removed = new ArrayList<ProvisionRequest>();
       
        synchronized(collection) {
            Set<Key> keys = collection.keySet();
            for (Key key : keys) {
                ProvisionRequest pr = collection.get(key);
                if (pr != null && sElem.equals(pr.getServiceElement()))
                    removals.add(key);
            }
        }
        if(!removals.isEmpty()) {
            if(removals.size()>numToRemove) {
                removals = removals.subList((removals.size()-numToRemove),
                                            removals.size());                               
            }
            logger.info("{}: removing [{}] [{}] instances", type, removals.size(), LoggingUtil.getLoggingName(sElem));
            synchronized(collection) {
                for (Key removal : removals) {
                    ProvisionRequest pr = collection.remove(removal);
                    removed.add(pr);
                }
            }
        }
        return (removed.toArray(new ProvisionRequest[removed.size()]));
View Full Code Here

        List<ProvisionRequest> removed = new ArrayList<ProvisionRequest>();
       
        synchronized(collection) {
            Set<Key> keys = collection.keySet();
            for (Key key : keys) {
                ProvisionRequest pr = collection.get(key);
                if (pr != null && sElem.equals(pr.getServiceElement()))
                    removals.add(key);
            }
        }
        if(!removals.isEmpty()) {
            logger.debug("{}: removing [{}] [{}] instances", type, removals.size(), LoggingUtil.getLoggingName(sElem));
            synchronized(collection) {
                for (Key removal : removals) {
                    ProvisionRequest pr = collection.remove(removal);
                    removed.add(pr);
                }
            }
        } else {
            logger.debug("{}: There are no pending instances of [{}] to remove ", type, LoggingUtil.getLoggingName(sElem));
View Full Code Here

    public boolean hasServiceElement(ServiceElement sElem) {
        boolean contains = false;
        synchronized(collection) {
            Set<Key> keys = collection.keySet();
            for (Key key : keys) {
                ProvisionRequest pr = collection.get(key);
                if (sElem.equals(pr.getServiceElement())) {
                    contains = true;
                    break;
                }
            }
        }
View Full Code Here

    public void updateProvisionRequests(ServiceElement sElem,
                                        ServiceProvisionListener listener) {
        synchronized(collection) {
            Set<Key> keys = collection.keySet();
            for (Key key : keys) {
                ProvisionRequest pr = collection.get(key);
                if (sElem.equals(pr.getServiceElement())) {
                    /* Preserve instance IDs */
                    Long id = pr.getServiceElement().getServiceBeanConfig().getInstanceID();
                    ServiceElement newElem = sElem;
                    if (id != null)
                        newElem = ServiceElementUtil.prepareInstanceID(sElem, id.intValue());
                    pr.setServiceElement(newElem);
                    if(listener!=null) {
                        pr.setServiceProvisionListener(listener);
                    }
                }
            }
        }
    }
View Full Code Here

            } else {
                /* Get the ProvisionRequest instances for a ServiceElement */
                ArrayList<ProvisionRequest> items = new ArrayList<ProvisionRequest>();
                Set<Key> keys = collection.keySet();
                for (Key key : keys) {
                    ProvisionRequest pr = collection.get(key);
                    if (sElem.equals(pr.getServiceElement())) {
                        items.add(pr);
                    }
                }
                prs = items.toArray(new ProvisionRequest[items.size()]);
            }
View Full Code Here

            synchronized (collection) {
                Set<Key> keySet = collection.keySet();
                keys = keySet.toArray(new Key[keySet.size()]);
            }
            for (Key key : keys) {
                ProvisionRequest request;
                ServiceResource resource = null;
                synchronized (collection) {
                    request = collection.get(key);
                    if (request != null && request.getServiceElement() != null) {
                        request.getFailureReasons().clear();
                        resource = Selector.acquireServiceResource(request, context.getSelector());
                        if (resource != null) {
                            synchronized (collection) {
                                collection.remove(key);
                            }
View Full Code Here

TOP

Related Classes of org.rioproject.monitor.service.ProvisionRequest

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.