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
