+1, actually I also generally like the idea of separating Axis2 related
functionality from Synapse functionality. Also this is currently quite hard as
there are a lot of places where it is very closely coupled and could not easily
be replaced. In some areas it only looks quite open at the first glance when
noticing factories which could also create other specific instances.
Anyway you are right about the targeted separation. With my changes I also
tried to follow this road. That’s why I for example moved all the Axis2
transport related action in a helper class within an Axis2 package. I also
removed direct references to any specific scheduler implementation.
I think this all could also help to separate the user API of Synapse to an own
artefact with clear dependencies. This is something I would dream of for the
next major release after 1.3.
Regards,
Eric
________________________________
From: Ruwan Linton [mailto:[email protected]]
Sent: Saturday, May 02, 2009 12:35 AM
To: [email protected]
Subject: Re: [jira] Commented: (SYNAPSE-537) Possibility to put server in
maintenance mode and reload synapse configuration via JMX
+1 for the propose refactoring... I think it is better to move the
Axis2SynapseController to the package 'synapse.server.axis2'.
Would you like to do this as well?
Thanks,
Ruwan
On Sat, May 2, 2009 at 3:48 AM, Hubert, Eric <[email protected]> wrote:
> With few other changes I have committed the patch. I must say this is a
> great improvement and this also fixes the shutdown issue.
Great to hear that. Ruwan, thanks for reviewing and applying this patch!
What do you and others think about my suggestion of moving all the server
related classes from the top level to a new sub package server.
Here is my original comment from the JIRA:
> > While working on this patch I thought about moving some of the classes
> in the synapse top level package to a new server subpackage. I actually
> did not perform this change to ease the review, but I still think it would
> be a good idea.
> > So what about moving the following classes:
> > Axis2SynapseController
> > JmxAdapter
> > ServerConfigurationInformation
> > ServerConfigurationInformationFactory
> > ServerContextInformation
> > ServerManager
> > ServerState
> > ServerStateDetectionStrategy
> > SynapseController
> > SynapseControllerFactory
> > SynapseServer
> > to
> > synapse.server
> > and
> > ServerManagerView
> > ServerManagerViewMBean
> > to
> > synapse.server.mbean (maybe also renaming them to ServerManagerControl
> and ServerManagerControlMBean.
--
Ruwan Linton
Senior Software Engineer & Product Manager; WSO2 ESB; http://wso2.org/esb
WSO2 Inc.; http://wso2.org
email: [email protected]; cell: +94 77 341 3097
blog: http://ruwansblog.blogspot.com