Hello Godmar,
your email mentions topics that are of high relevance for us as well.
Last year we started to use BaseX as the database of a master data server, it plays a central role in maintaining the product data of more than 100 catalogs in a sector of German industry. The concrete processing is done in individual local instance of BaxeX for each catalog.
And it works great. A big "Thank you" to the BaseX team. You do an outstanding job.
Now we want to make portions of the data available via webservices by JBoss, and access BaseX servers on remote boxes (with an LVM load balancer in between).
* Which of the BaseX interfaces do you use: XQJ or just the plain ClientSession's?
* Have you found an example to use XQJ for a remote BaseX - Database?
* Have you found some documentation about the Java-client and transactional support (for example to use BaseX even for a 'logging table')?
* Are there substantial benefits of the Java-client versus the rest client for such an application?
* Have you already some experiences with the Java-client and BaseX under high concurrent load?
Thank you for your attention and any help/feedback is highly appreciated!
With best regards
Andreas
Am 11.02.2012 14:30, schrieb Godmar Back:
Hi,
I have a question about the BaseX server. We're using it from a J2EE application (which is the client), and so we've implemented a connection pool in the style done by many other database drivers.
We are getting Broken Pipe errors, indicating that a connection has been disconnected. My question: when does BaseX disconnect, and is there a way for a client to learn this? For instance, if there's a syntax error in a XQUERY, should BaseX disconnect? If a BaseXException is thrown by the Java driver? Currently, we mark the connection as dead when an IOException or EOF occurs during the handling of one request, but we keep it alive when a BaseXException occurs, such as when we submit an ill-formed XQUERY.
We could avoid pooling, connecting and disconnecting for every query, but obviously that would be expensive. Or we could "ping" the server before issueing the actual query, but that's awkward, too.
How do others handle this problem?
- Godmar
BaseX-Talk mailing list BaseX-Talk@mailman.uni-konstanz.de https://mailman.uni-konstanz.de/mailman/listinfo/basex-talk