在tomcat中作为GlobalNamingResource创建的嵌入式Derby数据库的存储位置是什么?

时间:2016-12-05 12:58:08

标签: tomcat java-ee derby

目前我正在使用通过首次使用tomcat 8.0的server.xml(在Windows 7上)中指定的GlobalNamingResource创建的嵌入式Derby数据库。

目前我可以在Java代码中使用它,但如果我想使用其他工具(如Eclipse Data Source Explorer)访问它,我无法在我的文件系统(Windows 7)中找到它。

我的server.xml的相关部分如下所示:

<Resource auth="Container"
    driverClassName="org.apache.derby.jdbc.EmbeddedDriver" 
    maxActive="100" maxIdle="30" maxWait="10000" 
    name="jdbc/myDB" password="" username=""
    type="javax.sql.DataSource" 
    url="jdbc:derby:Databases/myDerbyDB;create=true" />

context.xml包含:

<ResourceLink name="jdbc/myDBLink" global="jdbc/myDB" 
    auth="Container" type="javax.sql.DataSource" /> 

Java代码使用(稍微缩短):

DataSource ds = (DataSource) env.lookup("java:/comp/env/jdbc/myDBLink");

这可以很好地重启并重新启动我的tomcat服务器。可以使用Hibernate,EclipseLink,纯JDBC,...来访问数据库,并且数据很好地保存在其中。文档状态,应该存储在CATALINA_HOME下面的某个地方,但在那里我找不到任何看起来像Derby DB的东西。此外,当我搜索我的所有磁盘时,我找不到名为myDerbyDB的文件夹,也找不到包含相关内容的文件夹Databases

所以我的问题是:Derby在哪里存储我的数据?

1 个答案:

答案 0 :(得分:0)

因此,根据布莱恩和史蒂夫的评论,我找到了自己问题的答案。

对于Tomcat管理的Derby嵌入式数据库,在Windows下的Eclipse中运行tomcat,derby.system.home似乎是指Eclipse 安装文件夹而不是它的工作区。

所以当你的Eclipse IDE安装在

下面时
D:\eclipse

JDBC URL

jdbc:derby:Databases/myDerbyDB

将引用位于

中的Derby数据库
D:\eclipse\Databases\myDerbyDB

谢谢Steve和Bryan!