You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@synapse.apache.org by ch...@apache.org on 2011/06/21 18:09:18 UTC
svn commit: r1138072 -
/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/deployers/MessageProcessorDeployer.java
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