打开 ObjectDB 资源管理器,同时 运行 tomcat 服务器/实例
Open ObjectDB explorer whilst running the tomcat server / instance
我是 ObjectDB 的新手,不确定我是否在这里做错了什么,但我遇到了几个问题,我希望社区可以帮助我。
首先是当服务器 运行 时无法在资源管理器中查看数据库的烦人问题。如果先打开资源管理器,那么 tomcat/server/idea 将崩溃并烧毁。
我明白了:
另一方面,如果资源管理器打开并且我尝试重新启动服务器:
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is com.objectdb.o._PersistenceException: Attempt to open a database file '/Users/SteveGreen/Development/Dev Workspace/RatedPlate_Java/RatedPlate/target/RatedPlate/WEB-INF/db/ratedplate.odb' that is currently in use by another process
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:978)
然后我需要关闭资源管理器中的连接并重新启动服务器,但是传奇仍在继续,因为我现在收到:
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is com.objectdb.o._PersistenceException: Attempt to open a database file '/Users/SteveGreen/Development/Dev Workspace/RatedPlate_Java/RatedPlate/target/RatedPlate/WEB-INF/db/ratedplate.odb' with an old unsupported format
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:978)
我需要在再次继续之前清理安装 mV 版本。
根据 pom,我使用的是 2.2.5 版,资源管理器来自 2.6.3 版,因为我下载的映射到我的版本的早期 jar 没有显示查询选项。如果我向 IDE 建议我现在使用 2.2.5 以外的版本,那么一切都会崩溃,我不确定最好的行动方案是什么。正如您所想象的那样,它会造成一个非常糟糕的调试环境。
非常感谢任何帮助,谢谢!
来自我的 pom:
com.objectdb
对象数据库
2.2.5
坚持:
<?xml version="1.0" encoding="UTF-8"?>
http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
<persistence-unit name="RatedPlateDB" transaction-type="RESOURCE_LOCAL">
<provider>com.objectdb.jpa.Provider</provider>
<properties>
<property name="javax.persistence.jdbc.url" value="$objectdb/db/ratedplate.odb"/>
<property name="javax.persistence.jdbc.user" value="admin"/>
<property name="javax.persistence.jdbc.password" value="admin"/>
</properties>
</persistence-unit>
编辑:我相信我已经找到并解决了升级问题 - 2.6.3 不附带 Jta 或持久性
更新的 pom:
<dependency>
<groupId>com.objectdb</groupId>
<artifactId>objectdb</artifactId>
<version>2.6.3</version>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>javax.persistence</artifactId>
<version>2.1.0</version>
</dependency>
<dependency>
<groupId>javax.transaction</groupId>
<artifactId>jta</artifactId>
<version>1.1</version>
</dependency>
在嵌入式模式下,数据库文件被一个进程锁定,因此您无法在资源管理器和您的应用程序中同时访问同一个数据库(在嵌入式模式下)。
要同时通过多个进程访问数据库,请使用客户端-服务器模式或embedded-server mode。
我是 ObjectDB 的新手,不确定我是否在这里做错了什么,但我遇到了几个问题,我希望社区可以帮助我。
首先是当服务器 运行 时无法在资源管理器中查看数据库的烦人问题。如果先打开资源管理器,那么 tomcat/server/idea 将崩溃并烧毁。
我明白了:
另一方面,如果资源管理器打开并且我尝试重新启动服务器:
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is com.objectdb.o._PersistenceException: Attempt to open a database file '/Users/SteveGreen/Development/Dev Workspace/RatedPlate_Java/RatedPlate/target/RatedPlate/WEB-INF/db/ratedplate.odb' that is currently in use by another process
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:978)
然后我需要关闭资源管理器中的连接并重新启动服务器,但是传奇仍在继续,因为我现在收到:
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is com.objectdb.o._PersistenceException: Attempt to open a database file '/Users/SteveGreen/Development/Dev Workspace/RatedPlate_Java/RatedPlate/target/RatedPlate/WEB-INF/db/ratedplate.odb' with an old unsupported format
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:978)
我需要在再次继续之前清理安装 mV 版本。
根据 pom,我使用的是 2.2.5 版,资源管理器来自 2.6.3 版,因为我下载的映射到我的版本的早期 jar 没有显示查询选项。如果我向 IDE 建议我现在使用 2.2.5 以外的版本,那么一切都会崩溃,我不确定最好的行动方案是什么。正如您所想象的那样,它会造成一个非常糟糕的调试环境。
非常感谢任何帮助,谢谢!
来自我的 pom: com.objectdb 对象数据库 2.2.5
坚持:
<?xml version="1.0" encoding="UTF-8"?>
http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
<persistence-unit name="RatedPlateDB" transaction-type="RESOURCE_LOCAL">
<provider>com.objectdb.jpa.Provider</provider>
<properties>
<property name="javax.persistence.jdbc.url" value="$objectdb/db/ratedplate.odb"/>
<property name="javax.persistence.jdbc.user" value="admin"/>
<property name="javax.persistence.jdbc.password" value="admin"/>
</properties>
</persistence-unit>
编辑:我相信我已经找到并解决了升级问题 - 2.6.3 不附带 Jta 或持久性
更新的 pom:
<dependency>
<groupId>com.objectdb</groupId>
<artifactId>objectdb</artifactId>
<version>2.6.3</version>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>javax.persistence</artifactId>
<version>2.1.0</version>
</dependency>
<dependency>
<groupId>javax.transaction</groupId>
<artifactId>jta</artifactId>
<version>1.1</version>
</dependency>
在嵌入式模式下,数据库文件被一个进程锁定,因此您无法在资源管理器和您的应用程序中同时访问同一个数据库(在嵌入式模式下)。
要同时通过多个进程访问数据库,请使用客户端-服务器模式或embedded-server mode。