public void exchangeDelivered()

in jbi/deployer/src/main/java/org/apache/servicemix/jbi/deployer/artifacts/AssemblyReferencesListener.java [115:134]


    public void exchangeDelivered(Exchange exchange) {
        // Check if the exchange is finished
        if (exchange.getStatus() != Status.Active) {
            if (exchange instanceof InternalExchange) {
                InternalExchange ie = (InternalExchange) exchange;
                // Decrement references to source and destination SA
                unreference(ie.getSource());
                unreference(ie.getDestination());
                pending.remove(exchange);
            }
            // Check if this is a new exchange
        } else if (exchange.getStatus() == Status.Active && exchange.getRole() == Role.Provider &&
                exchange.getOut(false) == null && exchange.getFault(false) == null) {
            if (exchange instanceof InternalExchange) {
                // Increment reference to the destination SA
                InternalExchange ie = (InternalExchange) exchange;
                reference(ie.getDestination());
            }
        }
    }