diff --git a/modules/core/src/main/java/org/apache/synapse/config/SynapseConfiguration.java b/modules/core/src/main/java/org/apache/synapse/config/SynapseConfiguration.java index daed29abc7..dd0ccd3149 100644 --- a/modules/core/src/main/java/org/apache/synapse/config/SynapseConfiguration.java +++ b/modules/core/src/main/java/org/apache/synapse/config/SynapseConfiguration.java @@ -1600,6 +1600,11 @@ public synchronized void destroy(boolean preserverState) { } } + // destroy the managed mediators + for (ManagedLifecycle seq : getDefinedSequences().values()) { + seq.destroy(); + } + //destroy sequence templates for (TemplateMediator seqTemplate : getSequenceTemplates().values()) { seqTemplate.destroy(); @@ -1611,6 +1616,11 @@ public synchronized void destroy(boolean preserverState) { // from registry. Only un-deployment should remove task from registry. Ref product-ei#1206 endpoint.destroy(false); } + + // destroy the managed endpoints + for (Endpoint endpoint : getDefinedEndpoints().values()) { + endpoint.destroy(); + } // destroy the startups for (ManagedLifecycle stp : startups.values()) { @@ -1657,16 +1667,6 @@ public synchronized void destroy(boolean preserverState) { for (API api : apiTable.values()) { api.destroy(); } - - // destroy the managed endpoints - for (Endpoint endpoint : getDefinedEndpoints().values()) { - endpoint.destroy(); - } - - // destroy the managed sequences - for (ManagedLifecycle seq : getDefinedSequences().values()) { - seq.destroy(); - } } /**