Author: veithen
Date: Sun May 23 18:22:58 2010
New Revision: 947458
URL: http://svn.apache.org/viewvc?rev=947458&view=rev
Log:
AXIS2-4722: Introduced an abstract doInit method in AbstractTransportListenerEx
so that derived classes can properly do their initialization stuff before the
first endpoint is created.
Modified:
axis/axis2/java/transports/trunk/modules/base/src/main/java/org/apache/axis2/transport/base/AbstractPollingTransportListener.java
axis/axis2/java/transports/trunk/modules/base/src/main/java/org/apache/axis2/transport/base/AbstractTransportListener.java
axis/axis2/java/transports/trunk/modules/base/src/main/java/org/apache/axis2/transport/base/AbstractTransportListenerEx.java
axis/axis2/java/transports/trunk/modules/base/src/main/java/org/apache/axis2/transport/base/datagram/AbstractDatagramTransportListener.java
axis/axis2/java/transports/trunk/modules/jms/src/main/java/org/apache/axis2/transport/jms/JMSListener.java
axis/axis2/java/transports/trunk/modules/mail/src/main/java/org/apache/axis2/transport/mail/MailTransportListener.java
Modified:
axis/axis2/java/transports/trunk/modules/base/src/main/java/org/apache/axis2/transport/base/AbstractPollingTransportListener.java
URL:
http://svn.apache.org/viewvc/axis/axis2/java/transports/trunk/modules/base/src/main/java/org/apache/axis2/transport/base/AbstractPollingTransportListener.java?rev=947458&r1=947457&r2=947458&view=diff
==============================================================================
---
axis/axis2/java/transports/trunk/modules/base/src/main/java/org/apache/axis2/transport/base/AbstractPollingTransportListener.java
(original)
+++
axis/axis2/java/transports/trunk/modules/base/src/main/java/org/apache/axis2/transport/base/AbstractPollingTransportListener.java
Sun May 23 18:22:58 2010
@@ -18,8 +18,6 @@
*/
package org.apache.axis2.transport.base;
-import org.apache.axis2.context.ConfigurationContext;
-import org.apache.axis2.description.TransportInDescription;
import org.apache.axis2.AxisFault;
import java.util.ArrayList;
@@ -36,11 +34,8 @@ public abstract class AbstractPollingTra
private final List<T> endpoints = new ArrayList<T>();
@Override
- public void init(ConfigurationContext cfgCtx,
- TransportInDescription transportIn) throws AxisFault {
-
+ protected void doInit() throws AxisFault {
timer = new Timer("PollTimer");
- super.init(cfgCtx, transportIn);
}
@Override
Modified:
axis/axis2/java/transports/trunk/modules/base/src/main/java/org/apache/axis2/transport/base/AbstractTransportListener.java
URL:
http://svn.apache.org/viewvc/axis/axis2/java/transports/trunk/modules/base/src/main/java/org/apache/axis2/transport/base/AbstractTransportListener.java?rev=947458&r1=947457&r2=947458&view=diff
==============================================================================
---
axis/axis2/java/transports/trunk/modules/base/src/main/java/org/apache/axis2/transport/base/AbstractTransportListener.java
(original)
+++
axis/axis2/java/transports/trunk/modules/base/src/main/java/org/apache/axis2/transport/base/AbstractTransportListener.java
Sun May 23 18:22:58 2010
@@ -347,6 +347,10 @@ public abstract class AbstractTransportL
log.error(msg, e);
}
+ public TransportInDescription getTransportInDescription() {
+ return transportIn;
+ }
+
public String getTransportName() {
return transportIn.getName();
}
Modified:
axis/axis2/java/transports/trunk/modules/base/src/main/java/org/apache/axis2/transport/base/AbstractTransportListenerEx.java
URL:
http://svn.apache.org/viewvc/axis/axis2/java/transports/trunk/modules/base/src/main/java/org/apache/axis2/transport/base/AbstractTransportListenerEx.java?rev=947458&r1=947457&r2=947458&view=diff
==============================================================================
---
axis/axis2/java/transports/trunk/modules/base/src/main/java/org/apache/axis2/transport/base/AbstractTransportListenerEx.java
(original)
+++
axis/axis2/java/transports/trunk/modules/base/src/main/java/org/apache/axis2/transport/base/AbstractTransportListenerEx.java
Sun May 23 18:22:58 2010
@@ -48,11 +48,13 @@ public abstract class AbstractTransportL
protected boolean useGlobalListener = false;
@Override
- public void init(ConfigurationContext cfgCtx,
+ public final void init(ConfigurationContext cfgCtx,
TransportInDescription transportIn) throws AxisFault {
super.init(cfgCtx, transportIn);
+ doInit();
+
// Create endpoint configured at transport level (if available)
E endpoint = createEndpoint();
endpoint.init(this, null);
@@ -62,6 +64,15 @@ public abstract class AbstractTransportL
}
}
+ /**
+ * Initialize the transport. This method will be called after the
initialization work in
+ * {...@link AbstractTransportListener} and before the first endpoint is
created, i.e. before the
+ * first call to {...@link #createEndpoint()}.
+ *
+ * @throws AxisFault
+ */
+ protected abstract void doInit() throws AxisFault;
+
@Override
public void destroy() {
// Explicitly stop all endpoints not predispatched to services. All
other endpoints will
Modified:
axis/axis2/java/transports/trunk/modules/base/src/main/java/org/apache/axis2/transport/base/datagram/AbstractDatagramTransportListener.java
URL:
http://svn.apache.org/viewvc/axis/axis2/java/transports/trunk/modules/base/src/main/java/org/apache/axis2/transport/base/datagram/AbstractDatagramTransportListener.java?rev=947458&r1=947457&r2=947458&view=diff
==============================================================================
---
axis/axis2/java/transports/trunk/modules/base/src/main/java/org/apache/axis2/transport/base/datagram/AbstractDatagramTransportListener.java
(original)
+++
axis/axis2/java/transports/trunk/modules/base/src/main/java/org/apache/axis2/transport/base/datagram/AbstractDatagramTransportListener.java
Sun May 23 18:22:58 2010
@@ -23,8 +23,6 @@ import java.net.SocketException;
import java.net.SocketAddress;
import org.apache.axis2.AxisFault;
-import org.apache.axis2.context.ConfigurationContext;
-import org.apache.axis2.description.TransportInDescription;
import org.apache.axis2.transport.base.AbstractTransportListenerEx;
public abstract class AbstractDatagramTransportListener<E extends
DatagramEndpoint>
@@ -33,19 +31,8 @@ public abstract class AbstractDatagramTr
private DatagramDispatcher<E> dispatcher;
private String defaultIp;
- @Override
- public void init(ConfigurationContext cfgCtx, TransportInDescription
transportIn)
- throws AxisFault {
-
- super.init(cfgCtx, transportIn);
- initDispatcher();
- }
-
- private void initDispatcher() throws AxisFault {
- if (dispatcher != null) {
- return;
- }
-
+ @Override
+ protected void doInit() throws AxisFault {
DatagramDispatcherCallback callback = new DatagramDispatcherCallback()
{
public void receive(SocketAddress address,
@@ -80,8 +67,6 @@ public abstract class AbstractDatagramTr
@Override
protected void startEndpoint(E endpoint) throws AxisFault {
- initDispatcher();
-
try {
dispatcher.addEndpoint(endpoint);
} catch (IOException ex) {
Modified:
axis/axis2/java/transports/trunk/modules/jms/src/main/java/org/apache/axis2/transport/jms/JMSListener.java
URL:
http://svn.apache.org/viewvc/axis/axis2/java/transports/trunk/modules/jms/src/main/java/org/apache/axis2/transport/jms/JMSListener.java?rev=947458&r1=947457&r2=947458&view=diff
==============================================================================
---
axis/axis2/java/transports/trunk/modules/jms/src/main/java/org/apache/axis2/transport/jms/JMSListener.java
(original)
+++
axis/axis2/java/transports/trunk/modules/jms/src/main/java/org/apache/axis2/transport/jms/JMSListener.java
Sun May 23 18:22:58 2010
@@ -17,10 +17,8 @@ package org.apache.axis2.transport.jms;
import org.apache.axis2.AxisFault;
import org.apache.axis2.Constants;
-import org.apache.axis2.context.ConfigurationContext;
import org.apache.axis2.description.AxisService;
import org.apache.axis2.description.Parameter;
-import org.apache.axis2.description.TransportInDescription;
import org.apache.axis2.transport.base.AbstractTransportListenerEx;
import org.apache.axis2.transport.base.BaseConstants;
import org.apache.axis2.transport.base.ManagementSupport;
@@ -55,18 +53,9 @@ public class JMSListener extends Abstrac
private final TransportErrorSourceSupport tess = new
TransportErrorSourceSupport(this);
- /**
- * TransportListener initialization
- *
- * @param cfgCtx the Axis configuration context
- * @param trpInDesc the TransportIn description
- */
@Override
- public void init(ConfigurationContext cfgCtx,
- TransportInDescription trpInDesc) throws AxisFault {
-
- super.init(cfgCtx, trpInDesc);
- connFacManager = new JMSConnectionFactoryManager(trpInDesc);
+ protected void doInit() throws AxisFault {
+ connFacManager = new
JMSConnectionFactoryManager(getTransportInDescription());
log.info("JMS Transport Receiver/Listener initialized...");
}
Modified:
axis/axis2/java/transports/trunk/modules/mail/src/main/java/org/apache/axis2/transport/mail/MailTransportListener.java
URL:
http://svn.apache.org/viewvc/axis/axis2/java/transports/trunk/modules/mail/src/main/java/org/apache/axis2/transport/mail/MailTransportListener.java?rev=947458&r1=947457&r2=947458&view=diff
==============================================================================
---
axis/axis2/java/transports/trunk/modules/mail/src/main/java/org/apache/axis2/transport/mail/MailTransportListener.java
(original)
+++
axis/axis2/java/transports/trunk/modules/mail/src/main/java/org/apache/axis2/transport/mail/MailTransportListener.java
Sun May 23 18:22:58 2010
@@ -22,9 +22,7 @@ package org.apache.axis2.transport.mail;
import org.apache.axis2.AxisFault;
import org.apache.axis2.Constants;
import org.apache.axis2.addressing.EndpointReference;
-import org.apache.axis2.context.ConfigurationContext;
import org.apache.axis2.context.MessageContext;
-import org.apache.axis2.description.TransportInDescription;
import org.apache.axis2.engine.AxisConfiguration;
import org.apache.axis2.transport.TransportUtils;
import org.apache.axis2.transport.RequestResponseTransport;
@@ -68,18 +66,9 @@ public class MailTransportListener exten
private final TransportErrorSourceSupport tess = new
TransportErrorSourceSupport(this);
- /**
- * Initializes the Mail transport
- *
- * @param cfgCtx the Axsi2 configuration context
- * @param trpInDesc the POP3 transport in description from the axis2.xml
- * @throws AxisFault on error
- */
@Override
- public void init(ConfigurationContext cfgCtx, TransportInDescription
trpInDesc)
- throws AxisFault {
- super.init(cfgCtx, trpInDesc);
-
+ protected void doInit() throws AxisFault {
+ super.doInit();
// set the synchronise callback table
if (cfgCtx.getProperty(BaseConstants.CALLBACK_TABLE) == null){
cfgCtx.setProperty(BaseConstants.CALLBACK_TABLE, new
ConcurrentHashMap());