[ 
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]

Reply via email to