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/05/06 12:54:18 UTC

svn commit: r1100167 - in /synapse/trunk/java/modules/core/src/main/java/org/apache/synapse: config/ config/xml/ deployers/ message/processors/forward/

Author: charith
Date: Fri May  6 10:54:18 2011
New Revision: 1100167

URL: http://svn.apache.org/viewvc?rev=1100167&view=rev
Log:
Fixing deployment Errors in MessageStore and Message Processor

Modified:
    synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/SynapseConfiguration.java
    synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/MultiXMLConfigurationSerializer.java
    synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/deployers/MessageProcessorDeployer.java
    synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/message/processors/forward/ForwardingJob.java

Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/SynapseConfiguration.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/SynapseConfiguration.java?rev=1100167&r1=1100166&r2=1100167&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/SynapseConfiguration.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/SynapseConfiguration.java Fri May  6 10:54:18 2011
@@ -1246,6 +1246,19 @@ public class SynapseConfiguration implem
         for(PriorityExecutor pe : executors.values()) {
             pe.destroy();
         }
+
+        // destroy the Message Stores
+        for(MessageStore ms : messageStores.values()) {
+            ms.destroy();
+        }
+
+        // destroy the Message processors
+        for(MessageProcessor mp : messageProcessors.values()) {
+            mp.destroy();
+        }
+
+
+
     }
 
     /**

Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/MultiXMLConfigurationSerializer.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/MultiXMLConfigurationSerializer.java?rev=1100167&r1=1100166&r2=1100167&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/MultiXMLConfigurationSerializer.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/MultiXMLConfigurationSerializer.java Fri May  6 10:54:18 2011
@@ -105,8 +105,10 @@ public class MultiXMLConfigurationSerial
                     synapseConfig, definitions);
             serializeExecutors(synapseConfig.getPriorityExecutors().values(),
                     synapseConfig, definitions);
-            serializeMessageStores(synapseConfig.getMessageStores().values(), definitions);
-            serializeMessageProcessors(synapseConfig.getMessageProcessors().values(),definitions);
+            serializeMessageStores(synapseConfig.getMessageStores().values(), synapseConfig,
+                    definitions);
+            serializeMessageProcessors(synapseConfig.getMessageProcessors().values(),synapseConfig,
+                    definitions);
             serializeSynapseXML(definitions);
 
             serializationDone = true;
@@ -459,7 +461,7 @@ public class MultiXMLConfigurationSerial
         return eventDirElem;
     }
 
-    public OMElement serializeMessageStore(MessageStore messagestore,
+    public OMElement serializeMessageStore(MessageStore messagestore,SynapseConfiguration synConfig,
                                            OMElement parent) throws Exception {
 
         File messageStoreDir = createDirectory(currentDirectory,
@@ -481,6 +483,7 @@ public class MultiXMLConfigurationSerial
 
 
      public OMElement serializeMessageProcessor(MessageProcessor messageProcessor,
+                                                SynapseConfiguration synapseConfiguration ,
                                            OMElement parent) throws Exception {
 
         File messageProcessorDir = createDirectory(currentDirectory,
@@ -490,7 +493,10 @@ public class MultiXMLConfigurationSerial
 
         String fileName = messageProcessor.getFileName();
         if (fileName != null) {
-            // TODO: Call handleDeployment
+            if (currentDirectory == rootDirectory) {
+                handleDeployment(messageProcessorDir, fileName, messageProcessor.getName(),
+                        synapseConfiguration.getArtifactDeploymentStore());
+            }
             File messageProcessorFile = new File(messageProcessorDir , fileName);
             writeToFile(messageProcessorElem , messageProcessorFile);
 
@@ -564,16 +570,18 @@ public class MultiXMLConfigurationSerial
     }
 
     private void serializeMessageStores(Collection<MessageStore> messaegeStores,
+                                        SynapseConfiguration configuration,
                                          OMElement parent) throws Exception{
         for (MessageStore messageStore : messaegeStores) {
-            serializeMessageStore(messageStore, parent);
+            serializeMessageStore(messageStore,configuration ,parent);
         }
     }
 
     private void serializeMessageProcessors(Collection<MessageProcessor> messageProcessors,
+                                            SynapseConfiguration configuration,
                                          OMElement parent) throws Exception{
         for (MessageProcessor messageProcessor : messageProcessors) {
-            serializeMessageProcessor(messageProcessor, parent);
+            serializeMessageProcessor(messageProcessor,configuration,parent);
         }
     }
 
@@ -602,6 +610,8 @@ public class MultiXMLConfigurationSerial
         createDirectory(tempDirectory, MultiXMLConfigurationBuilder.SEQUENCES_DIR);
         createDirectory(tempDirectory, MultiXMLConfigurationBuilder.TASKS_DIR);
         createDirectory(tempDirectory, MultiXMLConfigurationBuilder.EXECUTORS_DIR);
+        createDirectory(tempDirectory, MultiXMLConfigurationBuilder.MESSAGE_STORE_DIR);
+        createDirectory(tempDirectory, MultiXMLConfigurationBuilder.MESSAGE_PROCESSOR_DIR);
 
         return tempDirectory;
     }
@@ -683,6 +693,20 @@ public class MultiXMLConfigurationSerial
             }
         }
 
+        for(MessageStore ms : synapseConfig.getMessageStores().values()) {
+            if(ms.getFileName() != null) {
+                handleDeployment(new File(rootDirectory,MultiXMLConfigurationBuilder.
+                        MESSAGE_STORE_DIR),ms.getFileName(), ms.getName(),deploymentStore);
+            }
+        }
+
+        for(MessageProcessor mp : synapseConfig.getMessageProcessors().values()) {
+            if(mp.getFileName() != null) {
+                handleDeployment(new File(rootDirectory,MultiXMLConfigurationBuilder.
+                        MESSAGE_PROCESSOR_DIR),mp.getFileName(), mp.getName(),deploymentStore);
+            }
+        }
+
         for (TemplateMediator medTempl : synapseConfig.getSequenceTemplates().values()) {
             if (medTempl.getFileName() != null) {
                 handleDeployment(new File(rootDirectory, MultiXMLConfigurationBuilder.

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=1100167&r1=1100166&r2=1100167&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 Fri May  6 10:54:18 2011
@@ -23,10 +23,9 @@ import org.apache.axis2.deployment.Deplo
 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.MessageStoreSerializer;
+import org.apache.synapse.config.xml.MessageProcessorSerializer;
 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;
@@ -98,19 +97,20 @@ public class MessageProcessorDeployer ex
             }
 
             mp.init(getSynapseEnvironment());
-            MessageStore existingMs = getSynapseConfiguration().getMessageStore(existingArtifactName);
+            MessageProcessor existingMp = getSynapseConfiguration().getMessageProcessors().
+                    get(existingArtifactName);
 
             // We should add the updated MessageProcessor as a new MessageProcessor
             // and remove the old one
             getSynapseConfiguration().addMessageProcessor(mp.getName(), mp);
-            getSynapseConfiguration().removeMessageStore(existingArtifactName);
+            getSynapseConfiguration().removeMessageProcessor(existingArtifactName);
             log.info("MessageProcessor: " + existingArtifactName + " has been undeployed");
 
 
             log.info("MessageProcessor: " + mp.getName() + " has been updated from the file: " + fileName);
 
             waitForCompletion();
-            existingMs.destroy();
+            existingMp.destroy();
             return mp.getName();
 
         } catch (DeploymentException e) {
@@ -132,7 +132,7 @@ public class MessageProcessorDeployer ex
             MessageProcessor mp =
                     getSynapseConfiguration().getMessageProcessors().get(artifactName);
             if (mp != null) {
-                getSynapseConfiguration().removeMessageStore(artifactName);
+                getSynapseConfiguration().removeMessageProcessor(artifactName);
                 if (log.isDebugEnabled()) {
                     log.debug("Destroying the MessageProcessor named : " + artifactName);
                 }
@@ -159,13 +159,13 @@ public class MessageProcessorDeployer ex
         }
 
         try {
-            MessageStore ms
-                    = getSynapseConfiguration().getMessageStore(artifactName);
-            OMElement msElem = MessageStoreSerializer.serializeMessageStore(null, ms);
-            if (ms.getFileName() != null) {
+            MessageProcessor mp
+                    = getSynapseConfiguration().getMessageProcessors().get(artifactName);
+            OMElement msElem = MessageProcessorSerializer.serializeMessageProcessor(null, mp);
+            if (mp.getFileName() != null) {
                 String fileName = getServerConfigurationInformation().getSynapseXMLLocation()
                         + File.separator + MultiXMLConfigurationBuilder.MESSAGE_PROCESSOR_DIR
-                        + File.separator + ms.getFileName();
+                        + File.separator + mp.getFileName();
                 writeToFile(msElem, fileName);
                 if (log.isDebugEnabled()) {
                     log.debug("Restoring the MessageProcessor with name : "

Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/message/processors/forward/ForwardingJob.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/message/processors/forward/ForwardingJob.java?rev=1100167&r1=1100166&r2=1100167&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/message/processors/forward/ForwardingJob.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/message/processors/forward/ForwardingJob.java Fri May  6 10:54:18 2011
@@ -74,7 +74,9 @@ public class ForwardingJob implements St
             }
         }
 
-        if(!processor.isActive()) {
+        // WE do not try to process if the processor is inactive or
+        // there is no message store attached.
+        if(!processor.isActive() || messageStore == null) {
             return;
         }