You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@synapse.apache.org by ru...@apache.org on 2008/04/25 06:50:19 UTC

svn commit: r651486 - in /synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport: base/ fix/ jms/ mail/ vfs/

Author: ruwan
Date: Thu Apr 24 21:49:59 2008
New Revision: 651486

URL: http://svn.apache.org/viewvc?rev=651486&view=rev
Log:
Finalizing the issue SYNAPSE-273, now the transports which are not configured properly for a particular service is disabled at the startup

Modified:
    synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/base/AbstractPollingTransportListener.java
    synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/base/AbstractTransportListener.java
    synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/fix/FIXTransportListener.java
    synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/jms/JMSListener.java
    synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/mail/MailTransportListener.java
    synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/vfs/VFSTransportListener.java

Modified: synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/base/AbstractPollingTransportListener.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/base/AbstractPollingTransportListener.java?rev=651486&r1=651485&r2=651486&view=diff
==============================================================================
--- synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/base/AbstractPollingTransportListener.java (original)
+++ synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/base/AbstractPollingTransportListener.java Thu Apr 24 21:49:59 2008
@@ -110,6 +110,11 @@
     public void onPoll() {}
 
     protected void startListeningForService(AxisService service) {
+
+        if (service.getName().startsWith("__")) {
+            return;
+        }
+
         Parameter param = service.getParameter(TRANSPORT_POLL_INTERVAL);
         long pollInterval = DEFAULT_POLL_INTERVAL;
         if (param != null && param.getValue() instanceof String) {
@@ -118,6 +123,7 @@
             } catch (NumberFormatException e) {
                 log.error("Invalid poll interval : " + param.getValue() + " for service : " +
                     service.getName() + " Using defaults", e);
+                disableTransportForService(service);
             }
         }
         schedulePoll(service, pollInterval);

Modified: synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/base/AbstractTransportListener.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/base/AbstractTransportListener.java?rev=651486&r1=651485&r2=651486&view=diff
==============================================================================
--- synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/base/AbstractTransportListener.java (original)
+++ synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/base/AbstractTransportListener.java Thu Apr 24 21:49:59 2008
@@ -165,6 +165,25 @@
         }
     }
 
+    public void disableTransportForService(AxisService service) {
+
+        log.warn("Disabling the " + getTransportName() + " transport for the service "
+                + service.getName() + ", because it is not configured properly for the service");
+
+        if (service.isEnableAllTransports()) {
+            ArrayList<String> exposedTransports = new ArrayList<String>();
+            for(Object obj: cfgCtx.getAxisConfiguration().getTransportsIn().values()) {
+                String transportName = ((TransportInDescription) obj).getName();
+                if (!transportName.equals(getTransportName())) {
+                    exposedTransports.add(transportName);
+                }
+            }
+            service.setExposedTransports(exposedTransports);
+        } else {
+            service.removeExposedTransport(getTransportName());
+        }
+    }
+
     protected abstract void startListeningForService(AxisService service);
 
     protected abstract void stopListeningForService(AxisService service);

Modified: synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/fix/FIXTransportListener.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/fix/FIXTransportListener.java?rev=651486&r1=651485&r2=651486&view=diff
==============================================================================
--- synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/fix/FIXTransportListener.java (original)
+++ synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/fix/FIXTransportListener.java Thu Apr 24 21:49:59 2008
@@ -77,6 +77,11 @@
      * @param service the service for which to listen for messages
      */
     protected void startListeningForService(AxisService service) {
+
+        if (service.getName().startsWith("__")) {
+            return;
+        }
+        
         fixSessionFactory.createFIXAcceptor(service);
     }
 

Modified: synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/jms/JMSListener.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/jms/JMSListener.java?rev=651486&r1=651485&r2=651486&view=diff
==============================================================================
--- synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/jms/JMSListener.java (original)
+++ synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/jms/JMSListener.java Thu Apr 24 21:49:59 2008
@@ -155,6 +155,7 @@
                          "available over the JMS transport";
             log.warn(msg);
             BaseUtils.markServiceAsFaulty(service.getName(), msg, service.getAxisConfiguration());
+            disableTransportForService(service);
             return;
         }
 

Modified: synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/mail/MailTransportListener.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/mail/MailTransportListener.java?rev=651486&r1=651485&r2=651486&view=diff
==============================================================================
--- synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/mail/MailTransportListener.java (original)
+++ synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/mail/MailTransportListener.java Thu Apr 24 21:49:59 2008
@@ -486,6 +486,10 @@
 
     protected void startListeningForService(AxisService service) {
 
+        if (service.getName().startsWith("__")) {
+            return;
+        }
+
         Parameter param = service.getParameter(BaseConstants.TRANSPORT_POLL_INTERVAL);
         long pollInterval = BaseConstants.DEFAULT_POLL_INTERVAL;
         if (param != null && param.getValue() instanceof String) {
@@ -565,11 +569,13 @@
             String msg = "Error configuring the Mail transport for Service : " +
                 service.getName() + " :: " + axisFault.getMessage();
             log.warn(msg);
+            disableTransportForService(service);
         } catch (AddressException e) {
             String msg = "Error configuring the Mail transport for Service : " +
                 " Invalid email address specified by '" + MailConstants.TRANSPORT_MAIL_ADDRESS +
                 "'parameter for service : " + service.getName() + " :: " + e.getMessage();
             log.warn(msg);
+            disableTransportForService(service);
         }
     }
 

Modified: synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/vfs/VFSTransportListener.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/vfs/VFSTransportListener.java?rev=651486&r1=651485&r2=651486&view=diff
==============================================================================
--- synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/vfs/VFSTransportListener.java (original)
+++ synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/vfs/VFSTransportListener.java Thu Apr 24 21:49:59 2008
@@ -481,6 +481,10 @@
 
     protected void startListeningForService(AxisService service) {
 
+        if (service.getName().startsWith("__")) {
+            return;
+        }
+
         Parameter param = service.getParameter(BaseConstants.TRANSPORT_POLL_INTERVAL);
         long pollInterval = BaseConstants.DEFAULT_POLL_INTERVAL;
         if (param != null && param.getValue() instanceof String) {
@@ -488,7 +492,9 @@
                 pollInterval = Integer.parseInt(param.getValue().toString());
             } catch (NumberFormatException e) {
                 log.error("Invalid poll interval : " + param.getValue() + " for service : " +
-                    service.getName() + " default to : " + (BaseConstants.DEFAULT_POLL_INTERVAL/1000) + "sec", e);
+                    service.getName() + " default to : "
+                        + (BaseConstants.DEFAULT_POLL_INTERVAL/1000) + "sec", e);
+                disableTransportForService(service);
             }
         }
 
@@ -496,10 +502,10 @@
         try {
             entry.setFileURI(
                 BaseUtils.getRequiredServiceParam(service, VFSConstants.TRANSPORT_FILE_FILE_URI));
-            entry.setFileNamePattern(
-                BaseUtils.getOptionalServiceParam(service, VFSConstants.TRANSPORT_FILE_FILE_NAME_PATTERN));
-            entry.setContentType(
-                BaseUtils.getRequiredServiceParam(service, VFSConstants.TRANSPORT_FILE_CONTENT_TYPE));
+            entry.setFileNamePattern(BaseUtils.getOptionalServiceParam(service,
+                    VFSConstants.TRANSPORT_FILE_FILE_NAME_PATTERN));
+            entry.setContentType(BaseUtils.getRequiredServiceParam(service,
+                    VFSConstants.TRANSPORT_FILE_CONTENT_TYPE));
             String option = BaseUtils.getOptionalServiceParam(
                 service, VFSConstants.TRANSPORT_FILE_ACTION_AFTER_PROCESS);
             entry.setActionAfterProcess(
@@ -548,7 +554,7 @@
             String msg = "Error configuring the File/VFS transport for Service : " +
                 service.getName() + " :: " + axisFault.getMessage();
             log.warn(msg);
-            //cfgCtx.getAxisConfiguration().getFaultyServices().put(service.getName(), msg);
+            disableTransportForService(service);
         }
     }