You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@synapse.apache.org by hi...@apache.org on 2011/12/05 14:16:19 UTC

svn commit: r1210452 - /synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/deployers/

Author: hiranya
Date: Mon Dec  5 13:16:19 2011
New Revision: 1210452

URL: http://svn.apache.org/viewvc?rev=1210452&view=rev
Log:
Fixing a few typos and minor issues with the deployers

Modified:
    synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/deployers/AbstractSynapseArtifactDeployer.java
    synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/deployers/ExtensionDeployer.java
    synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/deployers/PriorityExecutorDeployer.java
    synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/deployers/ProxyServiceDeployer.java
    synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/deployers/SynapseArtifactDeploymentStore.java
    synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/deployers/TaskDeployer.java
    synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/deployers/TemplateDeployer.java

Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/deployers/AbstractSynapseArtifactDeployer.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/deployers/AbstractSynapseArtifactDeployer.java?rev=1210452&r1=1210451&r2=1210452&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/deployers/AbstractSynapseArtifactDeployer.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/deployers/AbstractSynapseArtifactDeployer.java Mon Dec  5 13:16:19 2011
@@ -29,7 +29,6 @@ import org.apache.axis2.deployment.repos
 import org.apache.axis2.description.Parameter;
 import org.apache.axis2.util.XMLPrettyPrinter;
 import org.apache.commons.io.FileUtils;
-import org.apache.commons.io.FilenameUtils;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.synapse.ServerConfigurationInformation;
@@ -71,6 +70,15 @@ public abstract class AbstractSynapseArt
         this.cfgCtx = configCtx;
     }
 
+    private boolean isHotDeploymentEnabled() {
+        try {
+            return getSynapseConfiguration().isAllowHotUpdate();
+        } catch (DeploymentException e) {
+            log.warn("Error while retrieving the SynapseConfiguration", e);
+            return false;
+        }
+    }
+
     /**
      * This method is called by the axis2 deployment framework and it performs a synapse artifact
      * specific yet common across all the artifacts, set of tasks and delegate the actual deployment
@@ -84,7 +92,15 @@ public abstract class AbstractSynapseArt
      */
     public void deploy(DeploymentFileData deploymentFileData) throws DeploymentException {
 
-        String filename = FilenameUtils.normalize(deploymentFileData.getAbsolutePath());
+        if (!isHotDeploymentEnabled()) {
+            if (log.isDebugEnabled()) {
+                log.debug("Hot deployment has been suspended - Ignoring");
+            }
+            return;
+        }
+
+        String filename = SynapseArtifactDeploymentStore.getNormalizedAbsolutePath(
+                deploymentFileData.getAbsolutePath());
         if (log.isDebugEnabled()) {
             log.debug("Deployment of the synapse artifact from file : " + filename + " : STARTED");
         }
@@ -116,7 +132,7 @@ public abstract class AbstractSynapseArt
         }
         
         try {
-            InputStream in = new FileInputStream(filename);
+            InputStream in = FileUtils.openInputStream(new File(filename));
             try {
                 // construct the xml element from the file, it has to be XML,
                 // since all synapse artifacts are XML based
@@ -125,7 +141,7 @@ public abstract class AbstractSynapseArt
                 properties.put(SynapseConstants.RESOLVE_ROOT, getSynapseEnvironment()
                         .getServerContextInformation()
                         .getServerConfigurationInformation().getResolveRoot());
-                String artifatcName = null;
+                String artifactName = null;
                 if (deploymentStore.isUpdatingArtifact(filename)) {
 
                     if (log.isDebugEnabled()) {
@@ -136,7 +152,7 @@ public abstract class AbstractSynapseArt
                             = deploymentStore.getUpdatingArtifactWithFileName(filename);
                     deploymentStore.removeUpdatingArtifact(filename);
                     try {
-                        artifatcName = updateSynapseArtifact(
+                        artifactName = updateSynapseArtifact(
                                 element, filename, existingArtifactName, properties);
                     } catch (SynapseArtifactDeploymentException sade) {
                         log.error("Update of the Synapse Artifact from file : "
@@ -145,12 +161,12 @@ public abstract class AbstractSynapseArt
                                 + backupFile(deploymentFileData.getFile()));
                         log.info("Restoring the existing artifact into the file : " + filename);
                         restoreSynapseArtifact(existingArtifactName);
-                        artifatcName = existingArtifactName;
+                        artifactName = existingArtifactName;
                     }
                 } else {
                     // new artifact hot-deployment case
                     try {
-                        artifatcName = deploySynapseArtifact(element, filename, properties);
+                        artifactName = deploySynapseArtifact(element, filename, properties);
                     } catch (SynapseArtifactDeploymentException sade) {
                         log.error("Deployment of the Synapse Artifact from file : "
                                 + filename + " : Failed!", sade);
@@ -158,8 +174,8 @@ public abstract class AbstractSynapseArt
                                 + backupFile(deploymentFileData.getFile()));
                     }
                 }
-                if (artifatcName != null) {
-                    deploymentStore.addArtifact(filename, artifatcName);
+                if (artifactName != null) {
+                    deploymentStore.addArtifact(filename, artifactName);
                 }
             } finally {
                 in.close();
@@ -191,9 +207,16 @@ public abstract class AbstractSynapseArt
      */
     public void undeploy(String fileName) throws DeploymentException {
 
-        fileName = FilenameUtils.normalize(fileName);
+        if (!isHotDeploymentEnabled()) {
+            if (log.isDebugEnabled()) {
+                log.debug("Hot deployment has been suspended - Ignoring");
+            }
+            return;
+        }
+
+        fileName = SynapseArtifactDeploymentStore.getNormalizedAbsolutePath(fileName);
         if (log.isDebugEnabled()) {
-            log.debug("UnDeployment of the synapse artifact from file : "
+            log.debug("Undeployment of the synapse artifact from file : "
                     + fileName + " : STARTED");
         }
 
@@ -207,7 +230,7 @@ public abstract class AbstractSynapseArt
                 log.debug("BackedUp artifact detected with filename : " + fileName);
             }
             // only one undeployment trigger can happen after a backup and hence remove it from
-            // backedUpFiles at the first hit, allowing the further undeploymentsto take place
+            // backedUpFiles at the first hit, allowing the further undeployment to take place
             // as usual
             deploymentStore.removeBackedUpArtifact(fileName);
             return;
@@ -357,7 +380,7 @@ public abstract class AbstractSynapseArt
         SynapseArtifactDeploymentStore deploymentStore =
                 getSynapseConfiguration().getArtifactDeploymentStore();
         deploymentStore.addRestoredArtifact(fileName);
-        OutputStream out = new FileOutputStream(new File(fileName));
+        OutputStream out = FileUtils.openOutputStream(new File(fileName));
         XMLPrettyPrinter.prettify(content, out);
         out.flush();
         out.close();
@@ -389,7 +412,7 @@ public abstract class AbstractSynapseArt
 
     private void handleDeploymentError(String msg, Exception e, String fileName)
             throws DeploymentException {
-        fileName = FilenameUtils.normalize(fileName);
+        fileName = SynapseArtifactDeploymentStore.getNormalizedAbsolutePath(fileName);
         log.error(msg, e);
         SynapseArtifactDeploymentStore deploymentStore =
                 getSynapseConfiguration().getArtifactDeploymentStore();
@@ -404,8 +427,8 @@ public abstract class AbstractSynapseArt
     }
 
     private String backupFile(File file) throws DeploymentException {
-        String filePath = FilenameUtils.normalize(file.getAbsolutePath());
-
+        String filePath = SynapseArtifactDeploymentStore.getNormalizedAbsolutePath(
+                file.getAbsolutePath());
         SynapseArtifactDeploymentStore deploymentStore =
                 getSynapseConfiguration().getArtifactDeploymentStore();
 

Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/deployers/ExtensionDeployer.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/deployers/ExtensionDeployer.java?rev=1210452&r1=1210451&r2=1210452&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/deployers/ExtensionDeployer.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/deployers/ExtensionDeployer.java Mon Dec  5 13:16:19 2011
@@ -151,7 +151,7 @@ public class ExtensionDeployer extends A
                 = new BufferedReader(new InputStreamReader(servicesURL.openStream()));
             try {
                 String className;
-                while ((className = in.readLine()) != null) {
+                while ((className = in.readLine()) != null && (!className.trim().equals(""))) {
                     log.info("Loading the " + providerClassName + " implementation: " + className);
                     try {
                         Class<? extends T> clazz

Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/deployers/PriorityExecutorDeployer.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/deployers/PriorityExecutorDeployer.java?rev=1210452&r1=1210451&r2=1210452&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/deployers/PriorityExecutorDeployer.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/deployers/PriorityExecutorDeployer.java Mon Dec  5 13:16:19 2011
@@ -35,7 +35,8 @@ import java.io.File;
 import java.util.Properties;
 
 public class PriorityExecutorDeployer extends AbstractSynapseArtifactDeployer {
-    private static Log log = LogFactory.getLog(LocalEntryDeployer.class);
+
+    private static Log log = LogFactory.getLog(PriorityExecutorDeployer.class);
 
     @Override
     public String deploySynapseArtifact(OMElement artifactConfig,

Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/deployers/ProxyServiceDeployer.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/deployers/ProxyServiceDeployer.java?rev=1210452&r1=1210451&r2=1210452&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/deployers/ProxyServiceDeployer.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/deployers/ProxyServiceDeployer.java Mon Dec  5 13:16:19 2011
@@ -115,7 +115,8 @@ public class ProxyServiceDeployer extend
                 if (log.isDebugEnabled()) {
                     log.debug("Initialized the ProxyService : " + proxy.getName());
                 }
-                proxy.stop(getSynapseConfiguration());
+                ProxyService currentProxy = getSynapseConfiguration().getProxyService(existingArtifactName);
+                currentProxy.stop(getSynapseConfiguration());
                 getSynapseConfiguration().removeProxyService(existingArtifactName);
                 if (!existingArtifactName.equals(proxy.getName())) {
                     log.info("ProxyService named " + existingArtifactName + " has been Undeployed");

Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/deployers/SynapseArtifactDeploymentStore.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/deployers/SynapseArtifactDeploymentStore.java?rev=1210452&r1=1210451&r2=1210452&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/deployers/SynapseArtifactDeploymentStore.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/deployers/SynapseArtifactDeploymentStore.java Mon Dec  5 13:16:19 2011
@@ -24,10 +24,8 @@ import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 
 import java.io.File;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.io.IOException;
+import java.util.*;
 
 /**
  * Keeps track of the artifacts deployed with files inside the synapse repository</p>
@@ -41,6 +39,7 @@ import java.util.Map;
  * @see org.apache.synapse.config.xml.MultiXMLConfigurationBuilder
  */
 public final class SynapseArtifactDeploymentStore {
+
     /** Keeps track of the deployed artifacts in the synapse environment */
     private Map<String, String> fileName2ArtifactName = new HashMap<String, String>();
 
@@ -48,10 +47,10 @@ public final class SynapseArtifactDeploy
     private Map<String, String> updatingArtifacts = new HashMap<String, String>();
 
     /** Keeps track of the restored artifacts in the synapse environment in a particular instance */
-    private List<String> restoredFiles = new ArrayList<String>();
+    private Set<String> restoredFiles = new HashSet<String>();
 
     /** Keeps track of the backed up artifacts in the synapse environment in a particular instance */
-    private List<String> backedUpFiles = new ArrayList<String>();
+    private Set<String> backedUpFiles = new HashSet<String>();
    
     private static final Log log = LogFactory.getLog(SynapseArtifactDeploymentStore.class);
 
@@ -228,6 +227,14 @@ public final class SynapseArtifactDeploy
     }
 
     public static String getNormalizedAbsolutePath(String fileName) {
-        return FilenameUtils.normalize(new File(fileName).getAbsolutePath());
+        String path;
+        File file = new File(fileName);
+        try {
+            path = file.getCanonicalPath();
+        } catch (IOException e) {
+            log.warn("Error while computing the canonical path of file: " + fileName);
+            path = file.getAbsolutePath();
+        }
+        return FilenameUtils.normalize(path);
     }
 }

Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/deployers/TaskDeployer.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/deployers/TaskDeployer.java?rev=1210452&r1=1210451&r2=1210452&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/deployers/TaskDeployer.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/deployers/TaskDeployer.java Mon Dec  5 13:16:19 2011
@@ -48,22 +48,22 @@ public class TaskDeployer extends Abstra
 
         try {
             Startup st = StartupFinder.getInstance().getStartup(artifactConfig, properties);
-                st.setFileName((new File(fileName)).getName());
-                if (log.isDebugEnabled()) {
-                    log.debug("StartupTask named '" + st.getName()
-                            + "' has been built from the file " + fileName);
-                }
-                st.init(getSynapseEnvironment());
-                if (log.isDebugEnabled()) {
-                    log.debug("Initialized the StartupTask : " + st.getName());
-                }
-                getSynapseConfiguration().addStartup(st);
-                if (log.isDebugEnabled()) {
-                    log.debug("StartupTask Deployment from file : " + fileName + " : Completed");
-                }
-                log.info("StartupTask named '" + st.getName()
-                        + "' has been deployed from file : " + fileName);
-                return st.getName();
+            st.setFileName((new File(fileName)).getName());
+            if (log.isDebugEnabled()) {
+                log.debug("StartupTask named '" + st.getName()
+                        + "' has been built from the file " + fileName);
+            }
+            st.init(getSynapseEnvironment());
+            if (log.isDebugEnabled()) {
+                log.debug("Initialized the StartupTask : " + st.getName());
+            }
+            getSynapseConfiguration().addStartup(st);
+            if (log.isDebugEnabled()) {
+                log.debug("StartupTask Deployment from file : " + fileName + " : Completed");
+            }
+            log.info("StartupTask named '" + st.getName()
+                    + "' has been deployed from file : " + fileName);
+            return st.getName();
         } catch (Exception e) {
             handleSynapseArtifactDeploymentError(
                     "StartupTask Deployment from the file : " + fileName + " : Failed.", e);
@@ -87,9 +87,11 @@ public class TaskDeployer extends Abstra
             if (log.isDebugEnabled()) {
                 log.debug("StartupTask: " + st.getName() + " has been built from the file: " + fileName);
             }
-            st.init(getSynapseEnvironment());
 
             Startup existingSt = getSynapseConfiguration().getStartup(existingArtifactName);
+            existingSt.destroy();
+
+            st.init(getSynapseEnvironment());
             if (existingArtifactName.equals(st.getName())) {
                 getSynapseConfiguration().updateStartup(st);
             } else {
@@ -98,7 +100,6 @@ public class TaskDeployer extends Abstra
                 log.info("StartupTask: " + existingArtifactName + " has been undeployed");
             }
 
-            existingSt.destroy();
             log.info("StartupTask: " + st.getName() + " has been updated from the file: " + fileName);
             return st.getName();
 

Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/deployers/TemplateDeployer.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/deployers/TemplateDeployer.java?rev=1210452&r1=1210451&r2=1210452&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/deployers/TemplateDeployer.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/deployers/TemplateDeployer.java Mon Dec  5 13:16:19 2011
@@ -138,7 +138,7 @@ public class TemplateDeployer extends Ab
                         getEndpointTemplate(existingArtifactName);
 
                 if (existingArtifactName.equals(tm.getName())) {
-                    getSynapseConfiguration().updateEndpointTemplate(tm.getName(), existingSt);
+                    getSynapseConfiguration().updateEndpointTemplate(tm.getName(), tm);
                 } else {
                     getSynapseConfiguration().addEndpointTemplate(tm.getName(), tm);
                     getSynapseConfiguration().removeEndpointTemplate(existingSt.getName());
@@ -171,7 +171,7 @@ public class TemplateDeployer extends Ab
                                 getSequenceTemplate(existingArtifactName);
 
                         if (existingArtifactName.equals(tm.getName())) {
-                            getSynapseConfiguration().updateSequenceTemplate(tm.getName(), existingSt);
+                            getSynapseConfiguration().updateSequenceTemplate(tm.getName(), tm);
                         } else {
                             getSynapseConfiguration().addSequenceTemplate(tm.getName(), tm);
                             getSynapseConfiguration().removeSequenceTemplate(existingSt.getName());
@@ -206,10 +206,10 @@ public class TemplateDeployer extends Ab
             try {
                 st = getSynapseConfiguration().getEndpointTemplate(artifactName);
             } catch (SynapseException e) {
-                //could not locate an endpoint template for this particular un-delpoyment. This name refers
-                //probably to a sequence tempalte. Thus if  throws a Synapse exception with following message
+                //could not locate an endpoint template for this particular un-deployment. This name refers
+                //probably to a sequence template. Thus if  throws a Synapse exception with following message
                 //catch n log that and continue this process for undeployment of a sequence template
-                if (e.getMessage().indexOf("Cannot locate an either local or remote enrty for key") != -1) {
+                if (e.getMessage().indexOf("Cannot locate an either local or remote entry for key") != -1) {
                     if (log.isDebugEnabled()) {
                         log.debug("Undeploying template is not of endpoint type. Undeployer will now check " +
                                   "for sequence template for the key: " + artifactName);