Asankha, the objective is to make it possible for a Spring user to configure Synapse without touching anything outside of a Spring configuration. While you may not find that useful, there are others that do!

We mustn't tell people "do more useful stuff" - if there are changes needed to support different uses from what you believe is the one true usecase then *if* the changes don't break anything then we cannot say no to that!

(I haven't looked at the details of the changes - indeed they may be wrongly executed and maybe need to be re-written or whatever. However, I'm not willing to accept your position that there are other more important issues and hence we can say no to someone doing something that you don't find useful!!!!)

Sanjiva.

Asankha C. Perera wrote:
Hi Charith

While I value your intent to contribute to Synapse to make it better, I think we already have issues reported by real users as JIRAs, which should IMHO take higher priority over a new feature such as this - which I consider just nice to have at most. We already have a well established configuration language from Synapse 1.0 (almost 3 years old now), and according to my knowledge no user has requested for another mechanism to initialize Synapse - although we left room at the start to be even able to do that. If you are still keen on this, I would like you to first suggest a concrete sample of a Synapse configuration in this 'other' way - to compare if implementing support for that really is more meaningful.. If you check the Synapse archives back into 2006, you will see the birth of the current configuration language [1]

cheers
asankha

[1] http://markmail.org/message/u7rxhs4irw73c7j3
Hi devs,

In order to be able to configure synapse in other ways than the XML
configuration language, I have abstracted out the initialization into a
one level higher layer where you can specify the mechanism by which you
 want to load the configuration. This will not affect the usual synapse
initialization flow, but is just an abstraction layer.
With this users will be able to plug their own Synapse Configuration and ConfigurationContext with out touching the synapse code base.

 Following is a brief  description of this improvement and if this is OK
 to be committed into synapse I will attach the patch for further reviews.
* org.apache.synapse.ConfigurationBuilder
 *
 This is the abstraction layer added to Synapse for it to be able to
 extend or rather use new Configuration mechanism (DSL) than using the
 default Synapse Configuration Language. With this improvement users can
 use other Configurations by enabling the ConfigurationBuilder.
Eg: ConfigurationBuilder cbuilder=ConfigurationBuilder.getInstence();
 cbuilder.setEnable(true);
 (this is done in users code not in synapse codebase)

 Then users must set the Builder Class in the ConfigurationBuilder.(This
 must be the fully qualified name of the Builder Class that users use to
 build the Configuration) And then users can set parameters needed to the
 build the configuration. The only restriction that Builder Class (the
 third party class that used to build the configuration) have is its
 configuration builder method must have the name
 "createSynapseConfiguration".
The Configuration Builder class will find the appropriate method form
 the Builder class using the class name and the parameter list and then
 it will build the Synapse configuration.The advantage of using this
 abstraction layer is Synapse ServerManager does not depend on the third
 party Synapse configuration builders.
*org.apache.synapse.ConfigurationContextBuilder* This is the abstraction layer added to the Synapse project to Start Axis2 and Synapse using a Different application context this works as same as the ConfigurationBuilder described above. Users who wants to extent synapse to Start using a different application context can use this.
Here the restriction that is given to the Builder class is it must have
the method "createConfigurationContext" to Create configuration
context.The ConfigurationContextBuilder will locate the correct method and build the Configuration Context to start the Axis2 and Synapse in
that context.

thank you,
Charith Dhanushka Wickramarachchi
http://charithwiki.blogspot.com/



--
Asankha C. Perera
http://adroitlogic.org

http://esbmagic.blogspot.com



--
Sanjiva Weerawarana, Ph.D.
Founder & Director; Lanka Software Foundation; http://www.opensource.lk/
Founder, Chairman & CEO; WSO2, Inc.; http://www.wso2.com/
Member; Apache Software Foundation; http://www.apache.org/
Visiting Lecturer; University of Moratuwa; http://www.cse.mrt.ac.lk/

Blog: http://sanjiva.weerawarana.org/

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to