[esb-java-dev] svn commit r23683 - in branches/synapse/modules/core/src/main/java/org/apache/synapse: . config core/axis2
ruwan at wso2.com
ruwan at wso2.com
Tue Nov 11 03:16:02 PST 2008
Author: ruwan
Date: Tue Nov 11 03:16:01 2008
New Revision: 23683
URL: http://wso2.org/svn/browse/wso2?view=rev&revision=23683
Log:
Fixing the OSGi related initialization issues
Modified:
branches/synapse/modules/core/src/main/java/org/apache/synapse/ServerManager.java
branches/synapse/modules/core/src/main/java/org/apache/synapse/SynapseConstants.java
branches/synapse/modules/core/src/main/java/org/apache/synapse/config/SynapseConfiguration.java
branches/synapse/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseInitializationModule.java
Modified: branches/synapse/modules/core/src/main/java/org/apache/synapse/ServerManager.java
URL: http://wso2.org/svn/browse/wso2/branches/synapse/modules/core/src/main/java/org/apache/synapse/ServerManager.java?rev=23683&r1=23682&r2=23683&view=diff
==============================================================================
--- branches/synapse/modules/core/src/main/java/org/apache/synapse/ServerManager.java (original)
+++ branches/synapse/modules/core/src/main/java/org/apache/synapse/ServerManager.java Tue Nov 11 03:16:01 2008
@@ -108,8 +108,6 @@
configctx = ConfigurationContextFactory.
createConfigurationContextFromFileSystem(axis2Repolocation, axis2Xml);
- addDefaultBuildersAndFormatters(configctx.getAxisConfiguration());
-
listenerManager = configctx.getListenerManager();
if (listenerManager == null) {
listenerManager = new ListenerManager();
@@ -162,8 +160,6 @@
}
}
- synConfig.init(configctx);
-
log.info("Ready for processing");
} catch (Throwable t) {
@@ -172,15 +168,6 @@
}
}
- private void addDefaultBuildersAndFormatters(AxisConfiguration axisConf) {
- if (axisConf.getMessageBuilder("text/plain") == null) {
- axisConf.addMessageBuilder("text/plain", new PlainTextBuilder());
- }
- if (axisConf.getMessageBuilder("application/octet-stream") == null) {
- axisConf.addMessageBuilder("application/octet-stream", new BinaryBuilder());
- }
- }
-
/**
* stop all the listeners
*/
@@ -208,17 +195,6 @@
listenerManager.stop();
listenerManager.destroy();
}
-
- // clear session information used for SA load balancing
- try {
- RMIRegistryController.getInstance().removeLocalRegistry();
- SALSessions.getInstance().reset();
- InMemoryDataSourceRegistry.getInstance().clear();
- JNDIBasedDataSourceRegistry registry = JNDIBasedDataSourceRegistry.getInstance();
- if (registry.isInitialized()) {
- registry.clear();
- }
- } catch (Throwable ignored) {}
// we need to call this method to clean the temp files we created.
if (configctx != null) {
@@ -326,7 +302,11 @@
}
public String getSynapseHome() {
- return synapseHome;
+ if (synapseHome != null) {
+ return synapseHome;
+ } else {
+ return getParamValue(SynapseConstants.Axis2Param.SYNAPSE_HOME);
+ }
}
public void setSynapseHome(String synapseHome) {
@@ -334,7 +314,11 @@
}
public String getResolveRoot() {
- return resolveRoot;
+ if (resolveRoot != null) {
+ return resolveRoot;
+ } else {
+ return getParamValue(SynapseConstants.Axis2Param.SYNAPSE_RESOLVE_ROOT);
+ }
}
public void setResolveRoot(String resolveRoot) {
@@ -346,15 +330,27 @@
}
public String getServerName() {
- return serverName;
+ if (serverName != null) {
+ return serverName;
+ } else {
+ return getParamValue(SynapseConstants.Axis2Param.SYNAPSE_SERVER_NAME);
+ }
}
public void setServerName(String serverName) {
this.serverName = serverName;
}
+ public void setConfigurationContext(ConfigurationContext configctx) {
+ this.configctx = configctx;
+ }
+
public String getSynapseXMLPath() {
- return synapseXMLPath;
+ if (synapseXMLPath != null) {
+ return synapseXMLPath;
+ } else {
+ return getParamValue(SynapseConstants.Axis2Param.SYNAPSE_CONFIG_LOCATION);
+ }
}
public void setSynapseXMLPath(String synapseXMLPath) {
@@ -400,4 +396,15 @@
SynapseConstants.GLOBAL_TIMEOUT_INTERVAL, SynapseConstants.DEFAULT_GLOBAL_TIMEOUT);
}
}
+
+ private String getParamValue(String paramKey) {
+ if (configctx != null) {
+ Parameter synCfgParam = configctx.getAxisConfiguration().getParameter(paramKey);
+ if (synCfgParam != null && synCfgParam.getValue() != null
+ && synCfgParam.getValue() instanceof String) {
+ return synCfgParam.getValue().toString();
+ }
+ }
+ return null;
+ }
}
\ No newline at end of file
Modified: branches/synapse/modules/core/src/main/java/org/apache/synapse/SynapseConstants.java
URL: http://wso2.org/svn/browse/wso2/branches/synapse/modules/core/src/main/java/org/apache/synapse/SynapseConstants.java?rev=23683&r1=23682&r2=23683&view=diff
==============================================================================
--- branches/synapse/modules/core/src/main/java/org/apache/synapse/SynapseConstants.java (original)
+++ branches/synapse/modules/core/src/main/java/org/apache/synapse/SynapseConstants.java Tue Nov 11 03:16:01 2008
@@ -89,6 +89,18 @@
/** The Axis2 client options property name for the Sandesha policy */
public static final String SANDESHA_POLICY = "sandeshaPolicy";
+ /** Parameter names in the axis2.xml that can be used to configure the synapse */
+ public static final class Axis2Param {
+ /** Synapse Configuration file location */
+ public static final String SYNAPSE_CONFIG_LOCATION = "SynapseConfig.ConfigurationFile";
+ /** Synapse Home directory */
+ public static final String SYNAPSE_HOME = "SynapseConfig.HomeDirectory";
+ /** Synapse resolve root */
+ public static final String SYNAPSE_RESOLVE_ROOT = "SynapseConfig.ResolveRoot";
+ /** Synapse server name */
+ public static final String SYNAPSE_SERVER_NAME = "SynapseConfig.ServerName";
+ }
+
/** The name of the Parameter set on the Axis2Configuration to hold the Synapse Configuration */
public static final String SYNAPSE_CONFIG = "synapse.config";
/** The name of the Parameter set on the Axis2Configuration to hold the Synapse Environment */
Modified: branches/synapse/modules/core/src/main/java/org/apache/synapse/config/SynapseConfiguration.java
URL: http://wso2.org/svn/browse/wso2/branches/synapse/modules/core/src/main/java/org/apache/synapse/config/SynapseConfiguration.java?rev=23683&r1=23682&r2=23683&view=diff
==============================================================================
--- branches/synapse/modules/core/src/main/java/org/apache/synapse/config/SynapseConfiguration.java (original)
+++ branches/synapse/modules/core/src/main/java/org/apache/synapse/config/SynapseConfiguration.java Tue Nov 11 03:16:01 2008
@@ -25,6 +25,9 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.synapse.*;
+import org.apache.synapse.util.RMIRegistryController;
+import org.apache.synapse.util.datasource.InMemoryDataSourceRegistry;
+import org.apache.synapse.util.datasource.JNDIBasedDataSourceRegistry;
import org.apache.synapse.task.TaskDescriptionRepository;
import org.apache.synapse.task.TaskDescriptionRepositoryFactory;
import org.apache.synapse.config.xml.MediatorFactoryFinder;
@@ -32,6 +35,7 @@
import org.apache.synapse.core.SynapseEnvironment;
import org.apache.synapse.core.axis2.ProxyService;
import org.apache.synapse.endpoints.Endpoint;
+import org.apache.synapse.endpoints.dispatch.SALSessions;
import org.apache.synapse.mediators.base.SequenceMediator;
import org.apache.synapse.mediators.ListMediator;
import org.apache.synapse.mediators.AbstractMediator;
@@ -804,6 +808,17 @@
}
}
}
+
+ // clear session information used for SA load balancing
+ try {
+ RMIRegistryController.getInstance().removeLocalRegistry();
+ SALSessions.getInstance().reset();
+ InMemoryDataSourceRegistry.getInstance().clear();
+ JNDIBasedDataSourceRegistry registry = JNDIBasedDataSourceRegistry.getInstance();
+ if (registry.isInitialized()) {
+ registry.clear();
+ }
+ } catch (Throwable ignored) {}
}
/**
@@ -894,7 +909,6 @@
e.init(cc);
}
-
private void handleException(String msg) {
log.error(msg);
throw new SynapseException(msg);
Modified: branches/synapse/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseInitializationModule.java
URL: http://wso2.org/svn/browse/wso2/branches/synapse/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseInitializationModule.java?rev=23683&r1=23682&r2=23683&view=diff
==============================================================================
--- branches/synapse/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseInitializationModule.java (original)
+++ branches/synapse/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseInitializationModule.java Tue Nov 11 03:16:01 2008
@@ -33,6 +33,8 @@
import org.apache.synapse.SynapseConstants;
import org.apache.synapse.SynapseException;
import org.apache.synapse.ServerManager;
+import org.apache.synapse.format.PlainTextBuilder;
+import org.apache.synapse.format.BinaryBuilder;
import org.apache.synapse.config.SynapseConfiguration;
import org.apache.synapse.config.SynapseConfigurationBuilder;
@@ -75,6 +77,13 @@
log.warn("Unable to determine hostname or IP address of the server for logging", e);
}
+ // incase of an existing running axis2 instance is used to deploy synapse
+ if (ServerManager.getInstance().getConfigurationContext() == null) {
+ ServerManager.getInstance().setConfigurationContext(configurationContext);
+ }
+
+ addDefaultBuildersAndFormatters(configurationContext.getAxisConfiguration());
+
// this will deploy the mediators in the mediator extensions folder
log.info("Loading mediator extensions...");
configurationContext.getAxisConfiguration().getConfigurator().loadServices();
@@ -137,6 +146,8 @@
proxy.stop(synCfg);
}
}
+
+ synCfg.init(configurationContext);
log.info("Synapse initialized successfully...!");
}
@@ -187,6 +198,15 @@
return synapseConfiguration;
}
+ private void addDefaultBuildersAndFormatters(AxisConfiguration axisConf) {
+ if (axisConf.getMessageBuilder("text/plain") == null) {
+ axisConf.addMessageBuilder("text/plain", new PlainTextBuilder());
+ }
+ if (axisConf.getMessageBuilder("application/octet-stream") == null) {
+ axisConf.addMessageBuilder("application/octet-stream", new BinaryBuilder());
+ }
+ }
+
public void engageNotify(AxisDescription axisDescription) throws AxisFault {
// ignore
}
More information about the Esb-java-dev
mailing list