Stanczak Group wrote:
How does one get Derby embedded in a servlet under Tomcat. In my development environment I'm using Netbeans and Tomcat. Tomcat install is under root so I can't write to is, just my web modules directories. I can connect to a path with Netbeans's database tool, but when I launch the app on Tomcat I get errors that it can't create files like createDD.jdbc and derby.log. I'm guessing this is because Derby is showing it's home as the root of the Tomcat server. The question is why and how can I fix this? I have an absolute path set, but it still does it. Shouldn't it write everything to that path and not just start writing to where ever it decides home is?

Hi -

For embedded Derby to work properly it needs to be loaded high in the classloader hierarchy of the server. As far as I know this cannot be done by an application, the application layer has too many restrictions and Derby is designed to be a shared resource. Sharing Derby is done by integrating Derby with Tomcat as described in the JPetStore write-up at:

http://db.apache.org/derby/integrate/DerbyTomcat5512JPetStor.html

I believe that Derby in client/server architecture might be your only choice if you cannot get Derby embedded as a global resource at the Server level.


Reply via email to