Package org.apache.synapse.registry

Examples of org.apache.synapse.registry.RegistryEntry


    }

    private Object getResource(Entry entry, Properties properties) {

        OMNode omNode;
        RegistryEntry re = registry.getRegistryEntry(entry.getKey());
        omNode = registry.lookup(entry.getKey());

        if (re == null) {
            return null;
        }

        if ((!entry.isCached() || (re.getVersion() == Long.MIN_VALUE ||
                re.getVersion() != entry.getVersion())) || re.getLastModified() >= lastExecutionTime) {
            entry.setEntryProperties(registry.getResourceProperties(entry.getKey()));
            entry.setVersion(re.getVersion());

            // if we get here, we have received the raw omNode from the
            // registry and our previous copy (if we had one) has expired or is not valid
            Object expiredValue = entry.getValue();

            // if we have a XMLToObjectMapper for this entry, use it to convert this
            // resource into the appropriate object - e.g. sequence or endpoint
            if (entry.getMapper() != null) {
                entry.setValue(entry.getMapper().getObjectFromOMNode(omNode, properties));

                if (entry.getValue() instanceof SequenceMediator) {
                    SequenceMediator seq = (SequenceMediator) entry.getValue();
                    seq.setDynamic(true);
                    seq.setRegistryKey(entry.getKey());
                    seq.init(synapseEnvironment);
                } else if (entry.getValue() instanceof  Endpoint) {
                    Endpoint ep = (Endpoint) entry.getValue();
                    ep.init(synapseEnvironment);
                }
            } else {
                // if the type of the object is known to have a mapper, create the
                // resultant Object using the known mapper, and cache this Object
                // else cache the raw OMNode
                entry.setValue(omNode);
            }

            if (expiredValue != null) {
                // Destroy the old resource so that everything is properly cleaned up
                if (expiredValue instanceof SequenceMediator) {
                    ((SequenceMediator) expiredValue).destroy();
                } else if (expiredValue instanceof Endpoint) {
                    ((Endpoint) expiredValue).destroy();
                }
            }

            entry.setVersion(re.getVersion());
        }

        // renew cache lease for another cachable duration (as returned by the
        // new getRegistryEntry() call
        if (re.getCachableDuration() > 0) {
            entry.setExpiryTime(
                    System.currentTimeMillis() + re.getCachableDuration());
        } else {
            entry.setExpiryTime(-1);
        }

        return entry.getValue();
View Full Code Here


                    "esb-resources/policy", "esb-resources/schema", "esb-resources/scripts",
                    "esb-resources/wsdl", "esb-resources/xslt"};
        }

        for (String collectionName : defaultCollections) {
            RegistryEntry collectionEntry = registry.getRegistryEntry(collectionName);
            if (collectionEntry != null
                    && ESBRegistryConstants.FOLDER.equals(collectionEntry.getType())) {
                if (log.isDebugEnabled()) {
                    log.debug("Collection named " + collectionName + " is there on " +
                            "the ESB registry, collection creation skipped");
                }
            } else {
View Full Code Here

TOP

Related Classes of org.apache.synapse.registry.RegistryEntry

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.