gpt4 book ai didi

java - 在运行 tomcat 服务器/实例时打开 ObjectDB 资源管理器

转载 作者:行者123 更新时间:2023-11-28 22:11:52 27 4
gpt4 key购买 nike

我是 ObjectDB 的新手,不确定我是否在这里做错了什么,但我遇到了几个问题,我希望社区可以帮助我。

首先是在服务器运行时无法在资源管理器中查看数据库这一恼人的问题。如果先打开资源管理器,则 tomcat/server/idea 将崩溃并烧毁。

我明白了: rage

另一方面,如果资源管理器打开并且我尝试重新启动服务器:

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 以外的版本,那么一切都会崩溃,我不确定最好的行动方案是什么。正如您所想象的那样,它会造成一个非常糟糕的调试环境。

非常感谢任何帮助,谢谢!

来 self 的 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 或持久性

详情:http://m2.objectdb.com

更新的 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 .

关于java - 在运行 tomcat 服务器/实例时打开 ObjectDB 资源管理器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32444847/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com