Hi Johannes,

> ·         Is it expected behavior that multiple instances of a Java 
> QueryModule (M1, in my scenario) may be created and used during an execution 
> of a query scenario like the one described above – or in general?

Yes, this is currently expected behavior; the import mechanisms of
XQuery and Java modules differ in various aspects. The customary way
to proceed is to organize the Java calls in a single XQuery module.
Both the Java class and the XQuery module can then optionally be
bundled as JAR file (see [1]).

Hope this helps,
Christian

[1] http://docs.basex.org/wiki/Repository#Combined



 Or should there only ever be a single such instance, regardless of
how many times the module is imported?
>
> o   Note: The functions used to initialize M1 are non-deterministic and 
> declared as such. Not entirely sure if that makes a difference regarding how 
> many times M1 would be created.
>
> ·         I have the same questions for the case that the Java QueryModule M1 
> was packaged in a XAR (as described in 
> http://docs.basex.org/wiki/Repository#EXPath_Packaging). Would such a 
> packaging approach actually make any difference?
>
> Apologies that I do not have a small, self-contained example project to 
> demonstrate this. I hope that I explained the issue with sufficient detail 
> and clarity. If not, just let me know.
>
> Best regards,
>
> Johannes
>
> P.S.: If you have suggestions for a better approach of handling such a 
> scenario, where a QueryModule must be initialized before it can be used, and 
> there shall only be a single instance of this module within the execution of 
> an XQuery, let me know.
>
>

Reply via email to