Peter Antman wrote:

>Hi,
>I am now looking into the new mime based connent filtering/query stuff.
>I do look verry promissing. However I have one problem with it. Let me
>explain my problem domain.
>
>We use XPATH based querys to route content. To be able to do this before
>the mime filters where invented we stuffed the content XML into the key
>header part. This has worked fine. It however has a couple of flawes:
>
>1. The key part is merged into the dom. The more XML content, the more
>   expensive.
>
>2. Since XML blaster has not inherant notion of a destination in the JMS
>   sense all content published will be parsed/queried by all XPATH
>   queries, even if the are not at all applyable to the content.
>
>Therefore I would like to migrate to the mime based aproach. If I
>understand it correctly it would the be possible to publish with a for
>for example channel tag in key, have client filter exact on that (or
>oid, I do not remember) and then let the I_Access filter have its say
>only for the one that actually matched exact first. In that way we could
>lower the number of queries put against each message.
>
>However: we must be able to handle huge number of queries > 100 000.
>With the current I_AccesFilter implementation this does not seem like an
>options. Why. If I understand it correctly, each subscription means an
>instance of an I_AcessFilter.
>
No i don't think so, the plugin should only be loaded once.

> The broker will, for each subscriber,
>check the filter. The filter takes the "raw" MessageUntit. What does
>
No, it takes the preparsed (the xmlKey is preparsed) MessageUnitWrapper.

>that mean: if I want to write an XPath based content router I would have
>to recreate a DOM tree of the content in each filter. Say I have 5000
>different quieries to be placed against the same content, I would have
>to create 5000 DOM trees of the same content. This will be verry slow.
>
>Is there any chance we could for mime type xml have a precreated DOM
>tree of the content available in the filter?
>
The filter framework does not support it itself, but you are
free to code anything into the filter plugin you like.

Marcel

>
>//Peter
>  
>



Reply via email to