Here, I believe we refers to unique keys - Only difference is how to calculate keys (static vs dynamic- based on something in requests). A cache is a genaric concept that can be applied for many cases, especially when application data are retrieved from some other place and (or) that retrieving operation is expensive ( e.g database, file system), and(or) the application data exhibits properties such expiration.
On Sat, Jan 8, 2011 at 8:11 AM, Ruwan Linton <ruwan.lin...@gmail.com> wrote: > Indika, > > You cannot put the key as the index as the same key would result in > different XSLT's for different messages. > > I don't think Springs case is dynamic, it is just a matter of selecting > among a set of predefined XSLT's and also they have a static key it seems. > > Further, I don't see a need for a cache, as the SynapseConfiguration > entries already supports this, may be we need to create another type of an > entry type called cached entry, which are not getting serialized to > configuration file. > > Thanks, > Ruwan > > > On Fri, Jan 7, 2011 at 10:44 PM, indika kumara <indika.k...@gmail.com>wrote: > >> Ruwan, >> >> I have not tried multiple template caching but I feel that it should be >> possible. The value resulted from evaluating a key expression (key) vs a >> template instance(value). It is just key-value. Do we need to create an >> index? if so, what are the parameter for calculating the index? I believe it >> is a simple cache. A generic cache that can keep any domain >> object(application data - template, schema, etc) would be ideal. I believe a >> cache should be able to keep any application data. Such a cache can be put >> in the synapse configuration level, registry level, or any other place. >> >> BTW, It seems that Spring does multiple XSLT template caching [1] - it >> looks like their scenario is identical to ours. >> >> Thanks, >> >> Indika >> >> [1] http://forum.springsource.org/archive/index.php/t-13862.html >> >> >> On Fri, Jan 7, 2011 at 8:37 PM, Ruwan Linton <ruwan.lin...@gmail.com>wrote: >> >>> Indika, >>> >>> I agree about the other mediators, but XSLT this cannot be done I guess. >>> >>> being able to cache multiple templates on its own would not solve the >>> problem as it requires some indexing mechanism. In dynamic key case, the >>> XSLT is going be dynamic and caching the template with a key expression will >>> not work, I expect caching over the evaluated XSLT is not going to be that >>> effective too. >>> >>> Ruwan >>> >>> >>> On Fri, Jan 7, 2011 at 9:53 AM, indika kumara <indika.k...@gmail.com>wrote: >>> >>>> I have not checked the code. But I believe it is possible to modify the >>>> XSLT mediator to cache multiple templates. In the worst case, caching >>>> multiple transformer instances. We have to evaluate tradeoff between a >>>> mediator with multiple transformer (or templates) instances vs multiple >>>> mediator instances. >>>> >>>> BTW, the use case at [1] might be worth : use a single validate mediator >>>> instead of a filter mediator + multiple validate mediators. That applies >>>> for >>>> many mediators. >>>> >>>> >>>> Thanks, >>>> >>>> Indika >>>> >>>> [1] http://wso2.org/forum/thread/10462 >>>> >>>> On Fri, Jan 7, 2011 at 7:21 AM, Ruwan Linton <ruwan.lin...@gmail.com>wrote: >>>> >>>>> I agree with Paul 100%. >>>>> >>>>> Supun/Ranga, if you carefully look at the XSLT mediator, it caches the >>>>> XSLT template, template creation in XSLT (basically compiling it) is an >>>>> expensive task, with this approach we cannot cache the XSLT as the XSLT is >>>>> dynamic in this case. >>>>> >>>>> Thanks, >>>>> Ruwan >>>>> >>>>> >>>>> On Thu, Jan 6, 2011 at 3:44 PM, Paul Fremantle <pzf...@gmail.com>wrote: >>>>> >>>>>> Ok. I can see a few scenarios where this might be useful, but in >>>>>> general if there are a well-defined set of XSLTs (e.g. say we are >>>>>> choosing between 10) it would be more efficient to have separate >>>>>> mediators because they will do the initialization and this might >>>>>> include a compilation step for the XSLT. >>>>>> >>>>>> Paul >>>>>> >>>>>> On Thu, Jan 6, 2011 at 10:03 AM, Supun Kamburugamuva < >>>>>> supu...@gmail.com> wrote: >>>>>> > As an example lets take a XSLT transformation. >>>>>> > >>>>>> > Depending on the message content user may have several XSLT >>>>>> > transformations specified. >>>>>> > >>>>>> > With the current language user has to have several XSLT mediators >>>>>> > refereeing these XSLT's. >>>>>> > >>>>>> > But by calculating the XSLT key dynamically based on the message >>>>>> > content, user can use only one XSLT mediator. >>>>>> > >>>>>> > Thanks, >>>>>> > Supun.. >>>>>> > >>>>>> > On Thu, Jan 6, 2011 at 2:24 PM, Paul Fremantle <pzf...@gmail.com> >>>>>> wrote: >>>>>> >> Can you give an example use-case? >>>>>> >> >>>>>> >> Thanks >>>>>> >> Paul >>>>>> >> >>>>>> >> On Thu, Jan 6, 2011 at 7:18 AM, Ranga Siriwardena <ra...@wso2.com> >>>>>> wrote: >>>>>> >>> Hi All, >>>>>> >>> >>>>>> >>> Currently we are supporting only static registry keys with >>>>>> mediators. >>>>>> >>> For an example, XSLT Mediators only allows static keys when >>>>>> creating >>>>>> >>> the mediator. How about having dynamic keys with these kind of >>>>>> >>> mediators. In that case we can support dynamic keys and with that, >>>>>> >>> user will able to use XPath kind of approach to dynamically >>>>>> generate >>>>>> >>> the key instead of a static key. WDYT? >>>>>> >>> >>>>>> >>> Following is an example for that. >>>>>> >>> >>>>>> >>> <!-- using static key --> >>>>>> >>> <xslt key="xslt-key-req"/> >>>>>> >>> >>>>>> >>> <!-- using Dynamic key --> >>>>>> >>> <xslt key={ } /> >>>>>> >>> >>>>>> >>> If we are supporting this kind of dynamic key approach, what >>>>>> should be >>>>>> >>> the proper way of representing the dynamic key? >>>>>> >>> Thoughts are welcome. >>>>>> >>> >>>>>> >>> Thank You. >>>>>> >>> >>>>>> >>> -- >>>>>> >>> Ranga Siriwardena >>>>>> >>> Software Engineer >>>>>> >>> WSO2 Inc. >>>>>> >>> >>>>>> >>> >>>>>> --------------------------------------------------------------------- >>>>>> >>> To unsubscribe, e-mail: dev-unsubscr...@synapse.apache.org >>>>>> >>> For additional commands, e-mail: dev-h...@synapse.apache.org >>>>>> >>> >>>>>> >>> >>>>>> >> >>>>>> >> >>>>>> >> >>>>>> >> -- >>>>>> >> Paul Fremantle >>>>>> >> Co-Founder and CTO, WSO2 >>>>>> >> Apache Synapse PMC Chair >>>>>> >> OASIS WS-RX TC Co-chair >>>>>> >> >>>>>> >> blog: http://pzf.fremantle.org >>>>>> >> p...@wso2.com >>>>>> >> >>>>>> >> "Oxygenating the Web Service Platform", www.wso2.com >>>>>> >> >>>>>> >> >>>>>> --------------------------------------------------------------------- >>>>>> >> To unsubscribe, e-mail: dev-unsubscr...@synapse.apache.org >>>>>> >> For additional commands, e-mail: dev-h...@synapse.apache.org >>>>>> >> >>>>>> >> >>>>>> > >>>>>> > >>>>>> > >>>>>> > -- >>>>>> > Technical Lead, WSO2 Inc >>>>>> > http://wso2.org >>>>>> > supunk.blogspot.com >>>>>> > >>>>>> > >>>>>> --------------------------------------------------------------------- >>>>>> > To unsubscribe, e-mail: dev-unsubscr...@synapse.apache.org >>>>>> > For additional commands, e-mail: dev-h...@synapse.apache.org >>>>>> > >>>>>> > >>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Paul Fremantle >>>>>> Co-Founder and CTO, WSO2 >>>>>> Apache Synapse PMC Chair >>>>>> OASIS WS-RX TC Co-chair >>>>>> >>>>>> blog: http://pzf.fremantle.org >>>>>> p...@wso2.com >>>>>> >>>>>> "Oxygenating the Web Service Platform", www.wso2.com >>>>>> >>>>>> --------------------------------------------------------------------- >>>>>> To unsubscribe, e-mail: dev-unsubscr...@synapse.apache.org >>>>>> For additional commands, e-mail: dev-h...@synapse.apache.org >>>>>> >>>>>> >>>>> >>>>> >>>>> -- >>>>> Ruwan Linton >>>>> Software Architect & Product Manager >>>>> >>>>> WSO2 Inc.; http://wso2.org >>>>> >>>>> Lean . Enterprise . Middleware >>>>> >>>>> phone: +1 408 754 7388 ext 51789 >>>>> email: ru...@wso2.com; cell: +94 77 341 3097 >>>>> blog: http://blog.ruwan.org >>>>> linkedin: http://www.linkedin.com/in/ruwanlinton >>>>> google: http://www.google.com/profiles/ruwan.linton >>>>> tweet: http://twitter.com/ruwanlinton >>>>> >>>> >>>> >>> >>> >>> -- >>> Ruwan Linton >>> Software Architect & Product Manager >>> WSO2 Inc.; http://wso2.org >>> >>> Lean . Enterprise . Middleware >>> >>> phone: +1 408 754 7388 ext 51789 >>> email: ru...@wso2.com; cell: +94 77 341 3097 >>> blog: http://blog.ruwan.org >>> linkedin: http://www.linkedin.com/in/ruwanlinton >>> google: http://www.google.com/profiles/ruwan.linton >>> tweet: http://twitter.com/ruwanlinton >>> >> >> > > > -- > Ruwan Linton > Software Architect & Product Manager > WSO2 Inc.; http://wso2.org > > Lean . Enterprise . Middleware > > phone: +1 408 754 7388 ext 51789 > email: ru...@wso2.com; cell: +94 77 341 3097 > blog: http://blog.ruwan.org > linkedin: http://www.linkedin.com/in/ruwanlinton > google: http://www.google.com/profiles/ruwan.linton > tweet: http://twitter.com/ruwanlinton >