Merge pull request #17 from auke-/fix-notify-when-proxy-started
Notify observers when starting proxy services
diff --git a/modules/core/src/main/java/org/apache/synapse/Axis2SynapseController.java b/modules/core/src/main/java/org/apache/synapse/Axis2SynapseController.java
index ace8f3b..cece905 100644
--- a/modules/core/src/main/java/org/apache/synapse/Axis2SynapseController.java
+++ b/modules/core/src/main/java/org/apache/synapse/Axis2SynapseController.java
@@ -475,6 +475,18 @@
* @return SynapseEnvironment instance
*/
public SynapseEnvironment createSynapseEnvironment() {
+ synapseEnvironment = new Axis2SynapseEnvironment(
+ configurationContext, synapseConfiguration, serverContextInformation);
+ MessageContextCreatorForAxis2.setSynEnv(synapseEnvironment);
+
+ Parameter synapseEnvironmentParameter = new Parameter(
+ SynapseConstants.SYNAPSE_ENV, synapseEnvironment);
+ try {
+ configurationContext.getAxisConfiguration().addParameter(synapseEnvironmentParameter);
+ } catch (AxisFault e) {
+ handleFatal("Could not set parameter '" + SynapseConstants.SYNAPSE_ENV +
+ "' to the Axis2 configuration : " + e.getMessage(), e);
+ }
try {
deploySynapseService();
@@ -485,20 +497,6 @@
throw new SynapseException("Synapse startup failed", axisFault);
}
- synapseEnvironment = new Axis2SynapseEnvironment(
- configurationContext, synapseConfiguration, serverContextInformation);
- MessageContextCreatorForAxis2.setSynEnv(synapseEnvironment);
-
- Parameter synapseEnvironmentParameter = new Parameter(
- SynapseConstants.SYNAPSE_ENV, synapseEnvironment);
- try {
- configurationContext.getAxisConfiguration().addParameter(synapseEnvironmentParameter);
- } catch (AxisFault e) {
- handleFatal("Could not set parameter '" + SynapseConstants.SYNAPSE_ENV +
- "' to the Axis2 configuration : " + e.getMessage(), e);
-
- }
-
synapseEnvironment.getTaskManager().init(taskDescriptionRepository, taskScheduler);
synapseConfiguration.init(synapseEnvironment);
synapseEnvironment.setInitialized(true);
@@ -778,7 +776,9 @@
configurationContext.getAxisConfiguration());
if (proxyService != null) {
log.info("Deployed Proxy service : " + proxy.getName());
- if (!proxy.isStartOnLoad()) {
+ if (proxy.isStartOnLoad()) {
+ proxy.start(synapseConfiguration);
+ } else {
proxy.stop(synapseConfiguration);
}
} else {
diff --git a/modules/core/src/main/java/org/apache/synapse/core/axis2/ProxyService.java b/modules/core/src/main/java/org/apache/synapse/core/axis2/ProxyService.java
index 3796295..4b500a0 100644
--- a/modules/core/src/main/java/org/apache/synapse/core/axis2/ProxyService.java
+++ b/modules/core/src/main/java/org/apache/synapse/core/axis2/ProxyService.java
@@ -577,7 +577,6 @@
axisCfg.addServiceToExistingServiceGroup(proxyService, serviceGroup);
}
}
- this.setRunning(true);
} catch (AxisFault axisFault) {
try {
if (axisCfg.getService(proxyService.getName()) != null) {