[
https://issues.apache.org/jira/browse/SYNAPSE-532?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12758583#action_12758583
]
Hiranya Jayathilaka commented on SYNAPSE-532:
---------------------------------------------
I had a look at the proposal and have some comments. First of all I need to
mention that Saliya has done a pretty good research job and design work when
creating this proposal. It is indeed well thought and well designed and from
the looks of it he hasn't missed anything. However I'm afraid that implementing
this proposal would mean a number of small changes have to be introduced to a
large number of source files in our code base. Also as I understand Synapse
cannot directly benefit from a dependency management system since Synapse
doesn't allow its configuration to be changed at runtime. So IMO this feature
needs to be implemented outside of Synapse using the extension points Synapse
provides. FYI few weeks back I did something similar with WSO2 ESB using the
recently added Synapse configuration observer API. In that case I used the API
to monitor the Synapse configuration and construct a model which captures
dependencies among various configuration elements. Then that model was used to
restrict how users can add/remove items in the Synapse configuration.
So it is my opinion that this feature should be implemented outside of Synapse.
I would like to get the feedback of other as well on this. Folks, WDYT?
> Dependency Management in Synapse
> --------------------------------
>
> Key: SYNAPSE-532
> URL: https://issues.apache.org/jira/browse/SYNAPSE-532
> Project: Synapse
> Issue Type: New Feature
> Components: Core
> Reporter: Saliya Ekanayake
> Assignee: Hiranya Jayathilaka
> Attachments: diag1.jpeg, diag2.jpeg
>
>
> At present Synapse may fail due to dangling references. As an example
> consider a proxy service which refers to a sequence. If the sequence
> definition is not there it will be a dangling reference and Synapse will fail
> to mediate properly.
> The following items are the possible items on which others may depend.
> 1. sequences
> 2. endpoints
> 3. local entries
> 4. resources in the registry (remote)
> A way to overcome the issue is to resolve dependencies at start up. This,
> however, has an issue since we cannot distinguish between references for
> local entries and for registry. If we force the user to have all the
> referring items either in local entries or in registry prior to start
> Synapse, then we can clearly identify missing resources. Anyway if the user
> removes a used resource from registry then again Synapse will not be able to
> handle it. Therefore, IMHO it will be good to omit the dependency management
> on registry resources and focus only on whatever the information available in
> synapse.xml.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]