在 3.0.0 中与 ODatabaseDocumentTx 不同,OrientDB 构造函数在内存 DB 中抛出异常

用户458617

概括

我正在使用 OrientDB 3.0.0,并且我正在尝试避免使用 ODatabaseDocumentTx 等已弃用的 API。但是,当我用 com.orientechnologies.orient.core.db.OrientDB 替换它时;对于其他工作正常的相同配置,它会爆炸。

详情如下...

配置



    odb.url=memory:neurosys_orientdb_odb
    odb.username=admin
    odb.password=admin
    odb.maxPartitionSize=2
    odb.maxPoolSize=10

使用有效的 ODatabaseDocumentTx 的 Spring 配置

    <bean id="dataSourceOdb" class="com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx" init-method="create">
        <constructor-arg value = "${odb.url}"/>     
</bean>

<bean id="connectionPoolDataSourceOdb" class="com.orientechnologies.orient.core.db.OPartitionedDatabasePool">
    <constructor-arg value = "${odb.url}" index="0"/>
    <constructor-arg value = "${odb.username}" index="1"/>
    <constructor-arg value = "${odb.password}" index="2"/>
    <constructor-arg value = "${odb.maxPartitionSize}" index="3"/>
    <constructor-arg value = "${odb.maxPoolSize}" index="4"/>       
</bean>

春天CONFIGS使用com.orientechnologies.orient.core.db.OrientDB,做工作

只需更换dataSourceOdb豆子。

<bean id="dataSourceOdbNew" class="com.orientechnologies.orient.core.db.OrientDB">  
<constructor-arg value = "${odb.url}"/>
    <constructor-arg value = "${odb.username}" />
    <constructor-arg value = "${odb.password}" />       
<constructor-arg><null /></constructor-arg>

抛出异常

com.orientechnologies.orient.core.exception.ODatabaseException:无法在 com.orientechnologies.orient.core.db.OrientDBEmbedded.open (OrientDBEmbedded.java:140) 在 com.orientechnologies.orient.core.db 打开数据库'neurosys_orientdb_odb'。 document.ODatabaseDocumentTx.open (ODatabaseDocumentTx.java:908) at com.orientechnologies.orient.core.db.OPartitionedDatabasePool $ DatabaseDocumentTxPooled.internalOpen (OPartitionedDatabasePool.java:441) at com.oritionPoolDab.D. OPartitioned:com30Pool.java .orientechnologies.orient.core.db.OPartitionedDatabasePool.acquire (OPartitionedDatabasePool.java:261) ... at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main (RemoteTestRunner.jain: 192) 由:com. orienttechnologies.orient.core.exception.OStorageException:无法打开存储“neurosys_orientdb_odb”,因为它不存在于 com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.open(OAbstractPaginatedStorage.java:267) 的路径中:D:\orientdb./neurosys_orientdb_odb。 orientechnologies.orient.core.db.OrientDBEmbedded.open(OrientDBEmbedded.java:131) ... 34 更多

可能的原因假设一个 Unix 约定路径,即使对于内存数据库,路径看起来也很混乱。我在 Windows 上,但我不明白为什么这对内存数据库很重要。此外,它适用于已弃用的 API,所以我认为这是一个错误。如果没有,请让我知道我缺少什么。

用户458617

我通过使区别开来解决我的问题url,并database和不包含在URL中的数据库。

然后使事情 1 步 IOC 友好;写了一个返回的工厂pool

        OrientDB odb = new OrientDB(url, OrientDBConfig.defaultConfig());
    odb.createIfNotExists(database, odbType==null?ODatabaseType.MEMORY:odbType);    

    OrientDBConfig config = OrientDBConfig.builder().build(); //... configBuilder.addConfig(OGlobalConfiguration key, value);
    ODatabasePool pool = new ODatabasePool(odb, database, username, password, config);

配置现在在哪里:(orientdb&see https://orientdb.com/docs/2.1.x/Configuration.html

odb.url=memory:
odb.database=neurosys_orientdb_odb
odb.username=admin
odb.password=admin
odb.pool.min=1
odb.pool.max=5

注意:上述配置是针对应用程序自定义的,但映射到一个OGlobalConfiguration常量

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

索引0请求的大小为0 SQLITE DB中的错误

来自分类Dev

致命异常:无效的索引0,在0中

来自分类Dev

如果我从构造函数抛出异常,构造函数中的已分配内存会发生什么?

来自分类Dev

如何在 Swift 中从与 (0, 0) 不同的坐标开始?

来自分类Dev

从C中的函数返回{0}?

来自分类Dev

0 不是 Scheme 中的函数

来自分类Dev

在内存中创建函数

来自分类Dev

在Slick中使用DB Function(TRIM(列中的LEADING'0'))

来自分类Dev

在结果集中,DB2中包括“ 0”个计数

来自分类Dev

mongo db中的MapReduce对大型数据采用0输入

来自分类Dev

构造函数中的内存分配异常

来自分类Dev

在SCSI1(0,0,0)(sda)的分区#3中创建交换空间失败

来自分类Dev

Java在超级属性的子构造函数中抛出异常

来自分类Dev

maxIdleTimeExcessConnections与c3p0中的maxIdleTime有何不同?

来自分类Dev

我如何从 3 个不同但相同的表中获取列值大于 0 的列数

来自分类Dev

tcl中逻辑运算的结果((0x5C0&0x3C0)>> 6)

来自分类Dev

内存在0行代码中泄漏。

来自分类Dev

如何在异步函数中抛出异常?

来自分类Dev

Redis概念:是在内存中还是在DB中?

来自分类Dev

BigDecimal加法在函数中给出0

来自分类Dev

jQuery中的“ $(...)[0] .append不是函数”

来自分类Dev

在python中输出-1或0或1的函数

来自分类Dev

BigDecimal加法在函数中给出0

来自分类Dev

在 firebase 函数中存根 auth0

来自分类Dev

函数参数如何存储在内存中?

来自分类Dev

函数参数如何存储在内存中?

来自分类Dev

如果bool和_Bool在内存中占用1个字节,为什么只能存储0或1?

来自分类Dev

在Linux中的R9 380 OC STRIX显卡中禁用0db功能

来自分类Dev

要求在a中声明a [0]

Related 相关文章

热门标签

归档