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]