Author: hiranya
Date: Mon Jul 27 11:43:34 2009
New Revision: 798106
URL: http://svn.apache.org/viewvc?rev=798106&view=rev
Log:
Adding the capability to specify observers in synapse.properties file.
Modified:
synapse/branches/1.3/modules/core/src/main/java/org/apache/synapse/config/SynapseConfigUtils.java
synapse/branches/1.3/modules/core/src/main/java/org/apache/synapse/config/SynapseConfiguration.java
synapse/branches/1.3/modules/core/src/main/java/org/apache/synapse/config/SynapseConfigurationBuilder.java
synapse/branches/1.3/modules/core/src/main/java/org/apache/synapse/config/xml/MultiXMLConfigurationBuilder.java
synapse/branches/1.3/modules/core/src/main/java/org/apache/synapse/config/xml/SynapseXMLConfigurationFactory.java
Modified:
synapse/branches/1.3/modules/core/src/main/java/org/apache/synapse/config/SynapseConfigUtils.java
URL:
http://svn.apache.org/viewvc/synapse/branches/1.3/modules/core/src/main/java/org/apache/synapse/config/SynapseConfigUtils.java?rev=798106&r1=798105&r2=798106&view=diff
==============================================================================
---
synapse/branches/1.3/modules/core/src/main/java/org/apache/synapse/config/SynapseConfigUtils.java
(original)
+++
synapse/branches/1.3/modules/core/src/main/java/org/apache/synapse/config/SynapseConfigUtils.java
Mon Jul 27 11:43:34 2009
@@ -702,5 +702,33 @@
}
return null;
}
+
+ /**
+ * Construct a fresh SynapseConfiguration instance and registers the
observers
+ * with it as specified in the synapse.properties file. Use the
initial.observers
+ * property in the synapse.properties file to specify observers as a comma
separated
+ * list.
+ *
+ * @return a SynapseConfiguration instance
+ */
+ public static SynapseConfiguration newConfiguration() {
+ SynapseConfiguration synConfig = new SynapseConfiguration();
+ Properties synapseProps =
SynapsePropertiesLoader.loadSynapseProperties();
+ String propValue = synapseProps.getProperty("synapse.observers");
+ if (propValue != null) {
+ String[] observerNames = propValue.split(",");
+ for (String observer : observerNames) {
+ try {
+ Class clazz = SynapseConfigUtils.class.getClassLoader().
+ loadClass(observer.trim());
+ SynapseObserver o = (SynapseObserver) clazz.newInstance();
+ synConfig.registerObserver(o);
+ } catch (Exception e) {
+ handleException("Error while initializing Synapse
observers", e);
+ }
+ }
+ }
+ return synConfig;
+ }
}
Modified:
synapse/branches/1.3/modules/core/src/main/java/org/apache/synapse/config/SynapseConfiguration.java
URL:
http://svn.apache.org/viewvc/synapse/branches/1.3/modules/core/src/main/java/org/apache/synapse/config/SynapseConfiguration.java?rev=798106&r1=798105&r2=798106&view=diff
==============================================================================
---
synapse/branches/1.3/modules/core/src/main/java/org/apache/synapse/config/SynapseConfiguration.java
(original)
+++
synapse/branches/1.3/modules/core/src/main/java/org/apache/synapse/config/SynapseConfiguration.java
Mon Jul 27 11:43:34 2009
@@ -1083,6 +1083,10 @@
}
}
+ public List<SynapseObserver> getObservers() {
+ return Collections.unmodifiableList(observers);
+ }
+
private void assertAlreadyExists(String key, String type) {
if (key == null || "".equals(key)) {
Modified:
synapse/branches/1.3/modules/core/src/main/java/org/apache/synapse/config/SynapseConfigurationBuilder.java
URL:
http://svn.apache.org/viewvc/synapse/branches/1.3/modules/core/src/main/java/org/apache/synapse/config/SynapseConfigurationBuilder.java?rev=798106&r1=798105&r2=798106&view=diff
==============================================================================
---
synapse/branches/1.3/modules/core/src/main/java/org/apache/synapse/config/SynapseConfigurationBuilder.java
(original)
+++
synapse/branches/1.3/modules/core/src/main/java/org/apache/synapse/config/SynapseConfigurationBuilder.java
Mon Jul 27 11:43:34 2009
@@ -49,7 +49,7 @@
*/
public static SynapseConfiguration getDefaultConfiguration() {
// programatically create an empty configuration which just log and
drop the messages
- SynapseConfiguration config = new SynapseConfiguration();
+ SynapseConfiguration config = SynapseConfigUtils.newConfiguration();
SequenceMediator mainmediator = new SequenceMediator();
mainmediator.addChild(new LogMediator());
mainmediator.addChild(new DropMediator());
Modified:
synapse/branches/1.3/modules/core/src/main/java/org/apache/synapse/config/xml/MultiXMLConfigurationBuilder.java
URL:
http://svn.apache.org/viewvc/synapse/branches/1.3/modules/core/src/main/java/org/apache/synapse/config/xml/MultiXMLConfigurationBuilder.java?rev=798106&r1=798105&r2=798106&view=diff
==============================================================================
---
synapse/branches/1.3/modules/core/src/main/java/org/apache/synapse/config/xml/MultiXMLConfigurationBuilder.java
(original)
+++
synapse/branches/1.3/modules/core/src/main/java/org/apache/synapse/config/xml/MultiXMLConfigurationBuilder.java
Mon Jul 27 11:43:34 2009
@@ -98,7 +98,7 @@
log.debug("Building Synapse configuration from the directory
heirarchy at : " + root);
}
- SynapseConfiguration synapseConfig = new SynapseConfiguration();
+ SynapseConfiguration synapseConfig =
SynapseConfigUtils.newConfiguration();
synapseConfig.setDefaultQName(XMLConfigConstants.DEFINITIONS_ELT);
try {
Modified:
synapse/branches/1.3/modules/core/src/main/java/org/apache/synapse/config/xml/SynapseXMLConfigurationFactory.java
URL:
http://svn.apache.org/viewvc/synapse/branches/1.3/modules/core/src/main/java/org/apache/synapse/config/xml/SynapseXMLConfigurationFactory.java?rev=798106&r1=798105&r2=798106&view=diff
==============================================================================
---
synapse/branches/1.3/modules/core/src/main/java/org/apache/synapse/config/xml/SynapseXMLConfigurationFactory.java
(original)
+++
synapse/branches/1.3/modules/core/src/main/java/org/apache/synapse/config/xml/SynapseXMLConfigurationFactory.java
Mon Jul 27 11:43:34 2009
@@ -58,7 +58,7 @@
throw new SynapseException(
"Wrong QName for this configuration factory " +
definitions.getQName());
}
- SynapseConfiguration config = new SynapseConfiguration();
+ SynapseConfiguration config = SynapseConfigUtils.newConfiguration();
config.setDefaultQName(definitions.getQName());
SequenceMediator rootSequence = new SequenceMediator();