Author: ruwan
Date: Mon Jul 14 03:44:06 2008
New Revision: 676547
URL: http://svn.apache.org/viewvc?rev=676547&view=rev
Log:
Adding the ability to specify synapse initialization parameters through the
axis2.xml (this will enable the synapse OSGi bundles to be installed on an
axis2 OSGi environemnt very easily)
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/ServerManager.java
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/SynapseConstants.java
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseInitializationModule.java
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/ServerManager.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/ServerManager.java?rev=676547&r1=676546&r2=676547&view=diff
==============================================================================
---
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/ServerManager.java
(original)
+++
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/ServerManager.java
Mon Jul 14 03:44:06 2008
@@ -312,7 +312,11 @@
}
public String getSynapseHome() {
- return synapseHome;
+ if (synapseHome != null) {
+ return synapseHome;
+ } else {
+ return getParamValue(SynapseConstants.Axis2Param.SYNAPSE_HOME);
+ }
}
public void setSynapseHome(String synapseHome) {
@@ -320,7 +324,11 @@
}
public String getResolveRoot() {
- return resolveRoot;
+ if (resolveRoot != null) {
+ return resolveRoot;
+ } else {
+ return
getParamValue(SynapseConstants.Axis2Param.SYNAPSE_RESOLVE_ROOT);
+ }
}
public void setResolveRoot(String resolveRoot) {
@@ -332,15 +340,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) {
@@ -386,4 +406,13 @@
SynapseConstants.GLOBAL_TIMEOUT_INTERVAL,
SynapseConstants.DEFAULT_GLOBAL_TIMEOUT);
}
}
+
+ private String getParamValue(String paramKey) {
+ 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:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/SynapseConstants.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/SynapseConstants.java?rev=676547&r1=676546&r2=676547&view=diff
==============================================================================
---
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/SynapseConstants.java
(original)
+++
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/SynapseConstants.java
Mon Jul 14 03:44:06 2008
@@ -93,6 +93,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:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseInitializationModule.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseInitializationModule.java?rev=676547&r1=676546&r2=676547&view=diff
==============================================================================
---
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseInitializationModule.java
(original)
+++
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseInitializationModule.java
Mon Jul 14 03:44:06 2008
@@ -75,6 +75,11 @@
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);
+ }
+
// this will deploy the mediators in the mediator extensions folder
log.info("Loading mediator extensions...");
configurationContext.getAxisConfiguration().getConfigurator().loadServices();