Hi Kasun,

I tried to identify any possibility of changing the parsing logic at the
synapse level and still couldn't find a feasible way to change the parsing
logic. This parsing logic change was based on top of the following
configuration. Will continue further on finding out a feasible way of doing
so.


*<property name="registry_value" expression="$reg:conf:Resource/bar@hello"
/>*
Meanwhile I added the fixes for operation and system scope context
variables and can find the PR at [1]

[1] https://github.com/wso2/wso2-synapse/pull/575

Thanks,

*Nadeeshaan Gunasinghe*
Software Engineer, WSO2 Inc. http://wso2.com
+94770596754 | [email protected] | Skype: nadeeshaan.gunasinghe <#>
<http://www.facebook.com/nadeeshaan.gunasinghe>
<http://lk.linkedin.com/in/nadeeshaan>  <http://twitter.com/Nadeeshaan>
<http://nadeeshaan.blogspot.com/>
Get a signature like this: Click here!
<http://ws-promos.appspot.com/r?rdata=eyJydXJsIjogImh0dHA6Ly93d3cud2lzZXN0YW1wLmNvbS9lbWFpbC1pbnN0YWxsP3dzX25jaWQ9NjcyMjk0MDA4JnV0bV9zb3VyY2U9ZXh0ZW5zaW9uJnV0bV9tZWRpdW09ZW1haWwmdXRtX2NhbXBhaWduPXByb21vXzU3MzI1Njg1NDg3Njk3OTIiLCAiZSI6ICI1NzMyNTY4NTQ4NzY5NzkyIn0=&u=947403768332810>

On Tue, Jun 21, 2016 at 2:25 PM, Kasun Indrasiri <[email protected]> wrote:

>
>
> On Tue, Jun 14, 2016 at 9:48 AM, Isuru Udana <[email protected]> wrote:
>
>> Hi All,
>>
>> Performance issue with get-property() caused by unnecessary registry
>> access is now fixed with
>> https://github.com/wso2/wso2-synapse/pull/570
>>
>> That's great. So, we don't need to worry about migrating the existing
> config. But for consistency, we need to get the above changes included in
> the ESB.
>
> @Nadeeshan : Any luck with a better config to retrieve the registry
> properties?
>
>> Thanks.
>>
>> On Tue, Jun 14, 2016 at 10:14 PM, Isuru Udana <[email protected]> wrote:
>>
>>> Hi Nadeeshan,
>>>
>>>
>>> On Tue, Jun 14, 2016 at 12:38 AM, Nadeeshaan Gunasinghe <
>>> [email protected]> wrote:
>>>
>>>> Hi all,
>>>>
>>>> After analyzing the possibility of adding the synapse variable for the
>>>> registry scope I could come up with a feasible solution.
>>>>
>>>>
>>>>    - Here, one of the key concern was to preserve the backward
>>>>    compatibility and the consistency with the current synapse variable
>>>>    implementation. First solution was the following, adhering to the 
>>>> existing
>>>>    synapse variable related configurations.
>>>>
>>>>
>>>>
>>>>
>>>> * <property name="registry_value"
>>>>    expression="$reg:conf:Resource/bar@hello" /> *
>>>>    - When we try to include this configuration, it throws a jaxen
>>>>    exception since this is invalid xpath expression.
>>>>
>>>>
>>>>
>>>>
>>>> *class org.jaxen.saxpath.XPathSyntaxException:
>>>>    $reg:conf:Resource/bar@hello: 9: Unexpected ':' *
>>>>    - Since we need to include a registry path in the xpath expression
>>>>    we have to go for a configuration option slightly drifted away from the
>>>>    current synapse variable related configuration. By following the bellow
>>>>    configuration we can achieve the expected outcome successfully. As the
>>>>    first step we need to have a property to keep the registry path as,
>>>>
>>>>
>>>>
>>>>
>>>> * <property name="registry_path" value="conf:Resource/bar@hello"/> *
>>>>    - Then the registry scope synapse variable configuration is as
>>>>    follows,
>>>>
>>>>    *<property name="registry_value" expression="$reg:**registry_path*
>>>> *"/> *
>>>>
>>>> IMO this is not an elegant solution. Intension of introducing context
>>> variables is to make things simpler, which is not address in this solution.
>>> I think we should try do a better implementation.
>>>
>>> Thanks.
>>>
>>>>
>>>>    -
>>>>
>>>> - In this case, instead of providing the full registry path in the
>>>>    synapse expression we use the property name, where we set with the 
>>>> registry
>>>>    path.
>>>>
>>>>    - Adhering to the above configuration, in the implementation we get
>>>>    the corresponding property name as the *localName *and we can get
>>>>    the respective registry path as bellow.
>>>>
>>>> else if (SynapseXPathConstants.REGISTRY_VARIABLE_PREFIX.equals(prefix)) {
>>>>     *String key = (String)synCtx.getProperty(localName);*
>>>>     String[] regParam = key.split("@");
>>>>     String regPath = null;
>>>>     String propName = null;
>>>>
>>>>
>>>>    - As highlighted I'm getting the registry path for processing,
>>>>    through the synapse context using the property name.
>>>>
>>>>
>>>> This is the current solution for the new registry scope as a synapse
>>>> variable and can we consider this as the viable solution for the registry
>>>> scope, because of this is a special case where we consider a registry path?
>>>> WDYT?
>>>>
>>>> Thanks,
>>>>
>>>> *Nadeeshaan Gunasinghe*
>>>> Software Engineer, WSO2 Inc. http://wso2.com
>>>> +94770596754 | [email protected] | Skype: nadeeshaan.gunasinghe
>>>> <#m_-7657216895435078815_m_3233678506527721877_m_-7945033807554017813_m_6820348976097291375_>
>>>> <http://www.facebook.com/nadeeshaan.gunasinghe>
>>>> <http://lk.linkedin.com/in/nadeeshaan>  <http://twitter.com/Nadeeshaan>
>>>>   <http://nadeeshaan.blogspot.com/>
>>>> Get a signature like this: Click here!
>>>> <http://ws-promos.appspot.com/r?rdata=eyJydXJsIjogImh0dHA6Ly93d3cud2lzZXN0YW1wLmNvbS9lbWFpbC1pbnN0YWxsP3dzX25jaWQ9NjcyMjk0MDA4JnV0bV9zb3VyY2U9ZXh0ZW5zaW9uJnV0bV9tZWRpdW09ZW1haWwmdXRtX2NhbXBhaWduPXByb21vXzU3MzI1Njg1NDg3Njk3OTIiLCAiZSI6ICI1NzMyNTY4NTQ4NzY5NzkyIn0=&u=602853038872535>
>>>>
>>>> On Wed, Jun 1, 2016 at 8:05 PM, Isuru Udana <[email protected]> wrote:
>>>>
>>>>> Hi Kasun,
>>>>>
>>>>> We also need to add system scope.
>>>>>
>>>>> Are we talking about removing get-property function or just implement
>>>>> what ever we can do with get-property() to do with context variables and
>>>>> recommending to use variables. I believe we are doing the latter.
>>>>> Completely removing it is not an option due to migration issues, need to 
>>>>> do
>>>>> massive changes in  samples, articles, blogs, documentation.
>>>>>
>>>>> And also regarding the unnecessary registry access, I think we should
>>>>> check again whether we can fix it. I will check the possibility doing 
>>>>> that.
>>>>>
>>>>> Thanks.
>>>>>
>>>>> On Thu, Jun 2, 2016 at 5:27 AM, Nadeeshaan Gunasinghe <
>>>>> [email protected]> wrote:
>>>>>
>>>>>> Hi Kasun,
>>>>>>
>>>>>> Will go through the aforementioned fact.
>>>>>>
>>>>>> Thanks,
>>>>>>
>>>>>> *Nadeeshaan Gunasinghe*
>>>>>> Software Engineer, WSO2 Inc. http://wso2.com
>>>>>> +94770596754 | [email protected] | Skype: nadeeshaan.gunasinghe
>>>>>> <#m_-7657216895435078815_m_3233678506527721877_m_-7945033807554017813_m_6820348976097291375_m_4205543007657424697_m_-6918896767413548059_>
>>>>>> <http://www.facebook.com/nadeeshaan.gunasinghe>
>>>>>> <http://lk.linkedin.com/in/nadeeshaan>
>>>>>> <http://twitter.com/Nadeeshaan>  <http://nadeeshaan.blogspot.com/>
>>>>>> Get a signature like this: Click here!
>>>>>> <http://ws-promos.appspot.com/r?rdata=eyJydXJsIjogImh0dHA6Ly93d3cud2lzZXN0YW1wLmNvbS9lbWFpbC1pbnN0YWxsP3dzX25jaWQ9NjcyMjk0MDA4JnV0bV9zb3VyY2U9ZXh0ZW5zaW9uJnV0bV9tZWRpdW09ZW1haWwmdXRtX2NhbXBhaWduPXByb21vXzU3MzI1Njg1NDg3Njk3OTIiLCAiZSI6ICI1NzMyNTY4NTQ4NzY5NzkyIn0=&u=789400881267119>
>>>>>>
>>>>>> On Wed, Jun 1, 2016 at 3:08 PM, Kasun Indrasiri <[email protected]>
>>>>>> wrote:
>>>>>>
>>>>>>> We need to add this to ESB 5. (We just came across another perf
>>>>>>> issue due to the redundant use of get-property)
>>>>>>>
>>>>>>> @Nadeeshan : Can you please check the limitations on adding this to
>>>>>>> other scopes such as operations/registry?
>>>>>>>
>>>>>>> On Wed, Jun 17, 2015 at 7:49 PM, Chanaka Fernando <[email protected]
>>>>>>> > wrote:
>>>>>>>
>>>>>>>> Also some customers use the "operation" scope to store and retrieve
>>>>>>>> values within the mediation flow. Better if we can add "$operation" 
>>>>>>>> also.
>>>>>>>>
>>>>>>>> On Thu, Jun 18, 2015 at 1:44 AM, Isabelle Mauny <[email protected]>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>> Totally +1 to that suggestion.. backward compatibility is key ..
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> -------------------------------------------------------------------------------------
>>>>>>>>> *Isabelle Mauny*
>>>>>>>>> VP, Product Management - WSO2, Inc. - http://wso2.com/
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Wed, Jun 17, 2015 at 3:17 PM, Colin Roy-Ehri <[email protected]>
>>>>>>>>> wrote:
>>>>>>>>>
>>>>>>>>>> +1
>>>>>>>>>> It would be great to simplify the options available for property
>>>>>>>>>> lookup.  I think this would increase the usability of our product.  
>>>>>>>>>> I am
>>>>>>>>>> also concerned about customers migrating their existing xml code.
>>>>>>>>>>
>>>>>>>>>> In order to gain performance by moving away from get-property,
>>>>>>>>>> would customers need to revise all their use of these mediators?  I 
>>>>>>>>>> support
>>>>>>>>>> deprecating the get-property from the UI wizard and Dev Studio, but 
>>>>>>>>>> it
>>>>>>>>>> would also be great to revise the get-property implementation for 
>>>>>>>>>> future
>>>>>>>>>> versions.  In other words, would it be possible to change the 
>>>>>>>>>> get-property
>>>>>>>>>> implementation so that proxies, APIs and sequences could be migrated
>>>>>>>>>> forward without change, and still use the more efficient scoped-style
>>>>>>>>>> efficient implementation?  This would prevent the registry 
>>>>>>>>>> performance hit,
>>>>>>>>>> and prevent the necessity for customers to modify all their xml code.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Thanks,
>>>>>>>>>> Colin Roy-Ehri
>>>>>>>>>> Software Engineer
>>>>>>>>>> *WSO2, Inc. : wso2.com <http://wso2.com/>*
>>>>>>>>>> *Mobile*          : 812-219-6517
>>>>>>>>>>
>>>>>>>>>> On Wed, Jun 17, 2015 at 2:41 AM, Kasun Indrasiri <[email protected]>
>>>>>>>>>> wrote:
>>>>>>>>>>
>>>>>>>>>>> Hi,
>>>>>>>>>>>
>>>>>>>>>>> It seems we can get rid of the usage of get-property and stick
>>>>>>>>>>> to the usage of scope variable declarations only (the current impl 
>>>>>>>>>>> of
>>>>>>>>>>> get-property function always triggers a call to ESB registry 
>>>>>>>>>>> interface,
>>>>>>>>>>> which can be a performance hit).
>>>>>>>>>>>
>>>>>>>>>>> For example we can use:
>>>>>>>>>>>
>>>>>>>>>>> $ctx, $trp etc to get required property values from the context.
>>>>>>>>>>> @Nadeeshan : we need to include $registry: as well.
>>>>>>>>>>>
>>>>>>>>>>> Any other use cases that we need to cover?
>>>>>>>>>>>
>>>>>>>>>>> --
>>>>>>>>>>> Kasun Indrasiri
>>>>>>>>>>> Software Architect
>>>>>>>>>>> WSO2, Inc.; http://wso2.com
>>>>>>>>>>> lean.enterprise.middleware
>>>>>>>>>>>
>>>>>>>>>>> cell: +94 77 556 5206
>>>>>>>>>>> Blog : http://kasunpanorama.blogspot.com/
>>>>>>>>>>>
>>>>>>>>>>> _______________________________________________
>>>>>>>>>>> Architecture mailing list
>>>>>>>>>>> [email protected]
>>>>>>>>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> _______________________________________________
>>>>>>>>>> Architecture mailing list
>>>>>>>>>> [email protected]
>>>>>>>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> _______________________________________________
>>>>>>>>> Architecture mailing list
>>>>>>>>> [email protected]
>>>>>>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> --
>>>>>>>> Chanaka Fernando
>>>>>>>> Senior Technical Lead
>>>>>>>> WSO2, Inc.; http://wso2.com
>>>>>>>> lean.enterprise.middleware
>>>>>>>>
>>>>>>>> mobile: +94 773337238
>>>>>>>> Blog : http://soatutorials.blogspot.com
>>>>>>>> LinkedIn:http://www.linkedin.com/pub/chanaka-fernando/19/a20/5b0
>>>>>>>> Twitter:https://twitter.com/chanakaudaya
>>>>>>>> Wordpress:http://chanakaudaya.wordpress.com
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> Architecture mailing list
>>>>>>>> [email protected]
>>>>>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Kasun Indrasiri
>>>>>>> Software Architect
>>>>>>> WSO2, Inc.; http://wso2.com
>>>>>>> lean.enterprise.middleware
>>>>>>>
>>>>>>> cell: +94 77 556 5206
>>>>>>> Blog : http://kasunpanorama.blogspot.com/
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> *Isuru Udana*
>>>>> Technical Lead
>>>>> WSO2 Inc.; http://wso2.com
>>>>> email: [email protected] cell: +94 77 3791887
>>>>> blog: http://mytecheye.blogspot.com/
>>>>>
>>>>
>>>>
>>>
>>>
>>> --
>>> *Isuru Udana*
>>> Technical Lead
>>> WSO2 Inc.; http://wso2.com
>>> email: [email protected] cell: +94 77 3791887
>>> blog: http://mytecheye.blogspot.com/
>>>
>>
>>
>>
>> --
>> *Isuru Udana*
>> Technical Lead
>> WSO2 Inc.; http://wso2.com
>> email: [email protected] cell: +94 77 3791887
>> blog: http://mytecheye.blogspot.com/
>>
>
>
>
> --
> Kasun Indrasiri
> Software Architect
> WSO2, Inc.; http://wso2.com
> lean.enterprise.middleware
>
> cell: +94 77 556 5206
> Blog : http://kasunpanorama.blogspot.com/
>
_______________________________________________
Architecture mailing list
[email protected]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to