Author: charith
Date: Tue Jun 21 16:09:18 2011
New Revision: 1138072
URL: http://svn.apache.org/viewvc?rev=1138072&view=rev
Log:
Fixing message processor deplyment issues due to wrong operation ordering
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/deployers/MessageProcessorDeployer.java
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/deployers/MessageProcessorDeployer.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/deployers/MessageProcessorDeployer.java?rev=1138072&r1=1138071&r2=1138072&view=diff
==============================================================================
---
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/deployers/MessageProcessorDeployer.java
(original)
+++
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/deployers/MessageProcessorDeployer.java
Tue Jun 21 16:09:18 2011
@@ -24,8 +24,10 @@ import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.synapse.config.xml.MessageProcessorFactory;
import org.apache.synapse.config.xml.MessageProcessorSerializer;
+import org.apache.synapse.config.xml.MessageStoreSerializer;
import org.apache.synapse.config.xml.MultiXMLConfigurationBuilder;
import org.apache.synapse.message.processors.MessageProcessor;
+import org.apache.synapse.message.store.MessageStore;
import java.io.File;
import java.util.Properties;
@@ -49,7 +51,15 @@ public class MessageProcessorDeployer
log.debug("Message Processor named '" + mp.getName()
+ "' has been built from the file " + fileName);
}
- mp.init(getSynapseEnvironment());
+
+
if(getSynapseConfiguration().getMessageStore(mp.getMessageStoreName()) != null)
{
+ mp.init(getSynapseEnvironment());
+ } else {
+ handleSynapseArtifactDeploymentError("Message Processor
Deployment from the file :" +
+ fileName + " : Failed. Can not create a Message
processor without a Message Store");
+ }
+
+
if (log.isDebugEnabled()) {
log.debug("Initialized the Message Processor : " +
mp.getName());
}
@@ -96,21 +106,22 @@ public class MessageProcessorDeployer
+ fileName);
}
- mp.init(getSynapseEnvironment());
+
MessageProcessor existingMp =
getSynapseConfiguration().getMessageProcessors().
get(existingArtifactName);
-
+ existingMp.destroy();
// We should add the updated MessageProcessor as a new
MessageProcessor
// and remove the old one
+
+ mp.init(getSynapseEnvironment());
getSynapseConfiguration().addMessageProcessor(mp.getName(), mp);
-
getSynapseConfiguration().removeMessageProcessor(existingArtifactName);
+ getSynapseConfiguration().removeMessageStore(existingArtifactName);
log.info("MessageProcessor: " + existingArtifactName + " has been
undeployed");
log.info("MessageProcessor: " + mp.getName() + " has been updated
from the file: " + fileName);
waitForCompletion();
- existingMp.destroy();
return mp.getName();
} catch (DeploymentException e) {
@@ -161,7 +172,7 @@ public class MessageProcessorDeployer
try {
MessageProcessor mp
=
getSynapseConfiguration().getMessageProcessors().get(artifactName);
- OMElement msElem =
MessageProcessorSerializer.serializeMessageProcessor(null, mp);
+ OMElement msElem =
MessageProcessorSerializer.serializeMessageProcessor(null,mp);
if (mp.getFileName() != null) {
String fileName =
getServerConfigurationInformation().getSynapseXMLLocation()
+ File.separator +
MultiXMLConfigurationBuilder.MESSAGE_PROCESSOR_DIR