问题标签 [ektorp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
308 浏览

java - ektorp couchdb IllegalStateException 消耗的内容

自从我使用 Java 特别是异常以来已经有一段时间了。我正在将 ektorp couchdb 集成添加到我正在做的事情中。但是我遇到了内容消耗异常。

有问题的程序使用 twitter4j,我正在获取我的状态并将它们写入 couchdb 实例。

起初我也试过 db.create(newTweetDoc) 。每次我尝试这个时都需要重新创建 couchdbConnector 吗?

db 是一个全局的 CouchDbConnector:public CouchDbConnector db = null;

导致错误的是 db.create(doc) 或 flushBulkBuffer。这是堆栈跟踪:

我在上面看到两个单独的实体类都调用 .getContent(),我最近一直在玩我引用的库,它有可能调用旧的 apache Http 库以及当前的库吗?

0 投票
2 回答
3540 浏览

java - 检索泛型类的 .class 属性

我正在尝试使用构造函数(来自 Ektorp 库)扩展以下类:

这是我的实现:

问题出在Order<MenuItem>.class零件上。Java 编译器告诉我:

我试过了(Order<MenuItem>).classOrder.classnew Order<MenuItem>().getClass()没有更好的运气。

如何检索泛型类的 .class 属性?

0 投票
1 回答
249 浏览

couchdb - ektorp / CouchDB 混合 HashMap 和 Annotations

在 jcouchdb 中,我曾经扩展 BaseDocument,然后以透明的方式混合注释和未声明的字段。例子:

然后使用它:

我同时使用通过注释定义的文档字段(站点)和未定义的属性字段(描述),当我保存文档时,两者都会被序列化。

这对我来说很方便,因为我可以处理半结构化文档。

当我尝试对 Ektorp 做同样的事情时,我有使用注释的文档和使用 HashMap 的文档但是我找不到一种简单的方法来混合两者(我尝试过使用我自己的序列化程序,但这似乎对某些事情很有用我在 jcouchdb 中免费获得)。还尝试注释 HashMap 字段,但随后被序列化为对象,并且我将字段自动保存在具有 HashMap 字段名称的对象内。

是否可以(轻松/免费)使用 Ektorp?

0 投票
1 回答
455 浏览

couchdb - ektorp / CouchDB 更新 / 同步文件夹

在 jcouchdb 中有一个实用类 org.jcouchdb.util.CouchDBUpdater,它允许将文档从本地文件系统更新到 CouchDB(例如用于将设计文档复制到 CouchDB)。ektorp 有类似的东西吗?

0 投票
1 回答
959 浏览

java - 使用 Java 和 Ektorp 在 CouchDB 中进行 BulkUpdate

我有一个派生自 org.ektorp.support.CouchDbDocument 的类:

还有一个存储库类:

存储库类有一个方法:

该方法用于创建和更新项目。创作进展顺利。但是在更新时,Ektorp 会抛出这个异常:

我正在做的是发送一组最初由同一存储库中的视图获取的对象 - 当然,这些对象确实有一个非空的 Id。这当然不应该发生,因为对象确实有一个 id 并且必须更新,而不是创建。根据 Ektorp 文档,db.executeBulk 应该处理创建和更新文档。

在 CouchDbDocument.setId 中引发了异常:

但为什么 ?发送的对象确实设置了 ID(也设置了修订版),因此 Ektorp 应该检测到我们正在谈论现有对象,而不是尝试为它们生成新的 ID。任何人都知道如何解决这个问题,或者在这种情况下放弃 Ektorp 并在 http 上使用纯 json 的解决方案?

(项目在 Jboss 7.1.1.Final、CouchDB 1.2.0、Ektorp 1.2.2 上运行)

0 投票
1 回答
879 浏览

eclipse - 从类路径中排除 jar 的 Eclipse 运行配置

如何创建从类路径中排除一些 jar 的 Ecipe 运行配置?!

背景说明:

我正在开发使用 Embedded Jetty 作为 Web 服务器的 webapp,Ektorp 库从 CouchDB 数据库中获取数据,Jersey 为前端提供 REST 服务和 GWT。

所有这四个库都导入到同一个 Eclipse 项目中: - 通过 Maven 导入的 Ektorp、Embedded Jetty 和 Jersey - 使用 jar 导入的 GWT

不幸的是,Ektorp 和 GWT 使用不同版本的类以某种方式进入冲突:org.apache.http.conn.scheme.Scheme

我尝试将 GWT 包移动到另一个项目并导入 Jetty/Ektorp/Jersey 项目,但随后 GWT 无法找到 Jersey 资源...

因此,为这个特定项目重新制定问题:

如何创建运行 Embedded Jetty 服务器并从类路径中排除 GWT jar 的 Ecipe 运行配置?!

谢谢!

0 投票
2 回答
2070 浏览

android - 如何将我的 Android 应用程序与 Couchbase 服务器同步?

我正在努力区分所有不同的沙发*技术。对于我正在开发的 Android 游戏,我一直在使用 CouchDB 和使用 Couchbase Server 之间摇摆不定,缺乏文档令人沮丧。

我对技术的理解:

  • CouchDB - 一种非 SQL 数据库,过去几年一直在开发,并使用 RESTful API 进行通信。它已被其主要开发人员放弃,转而使用 Couchbase Server。

  • Couchbase Server - 一个大型数据库的企业解决方案,其中低延迟是最重要的。它使用 memcached 将“热”数据保存在内存中,但数据保存在 CouchDB 数据库中。

  • Couchbase Mobile - CouchDB <--Legacy的移动实现

  • TouchDB - CouchDB 的移动实现。

  • Ektorp - 一个允许开发人员与 Java 中的 CouchDB 实例对话和同步的框架。

我的列表中缺少的是从Android(以及最终的 iOS)与Couchbase Server 通信的框架。

这样的框架存在吗?

0 投票
1 回答
537 浏览

couchdb - CouchDB-Ektorp 中的批量更新 - 不应该返回更新冲突吗?

我一直在使用 Ektorp (1.3.0) 框架连接到我的 CouchDB 数据库。但是,当存在更新冲突时会出现问题。我正在使用 executeAllOrNothing批量更新的方法。如文档所述,此方法(以及等效的 HTTP API _bulk_docs?all_or_nothing":true不会对冲突进行任何检查。来自HTTP API 文档

但是,如果 id 为 0 的文档发生冲突,则两个版本都将出现在数据库中,并且可以任意选择哪个版本出现在视图中。您可以使用带有 ?conflicts=true 的 GET 检查此状态

还:

依赖此功能的应用程序应该能够容忍某些文档丢失或处于冲突状态,直到发生冲突解决。

但是,该方法的 Ektorp 的 javadocs 说:

该列表(返回)将仅包含具有从 CouchDB 返回的任何类型的错误代码的文档的条目。即如果一切都成功完成,列表将为空。

我发现事实并非如此。当发生冲突时,Ektorp 仍然返回一个空列表。我发现获取失败操作列表的唯一方法是使用executeBulk而不是executeAllOrNothing,但这并不令人满意,因为我需要这是一个事务。

有什么方法可以知道调用是否executeAllOrNothing成功,如果没有成功,哪些文档有冲突问题(无需重复使用GET with conflicts=true每个文档,因为我可能会尝试一次保存数千个文档,所以这个不切实际)?

0 投票
2 回答
1194 浏览

java - 在连续更新的批处理中运行时,couchdb 查询超时

我在 couchdb 上使用简单的批量获取和更新。

getMsisdnsFrom 是一个沙发查询,它在几次后开始超时。我知道沙发仅在读取完成后才索引视图,但由于我只更新记录,它不应该影响索引。另外由于这是预期用途,获取一组记录,修改并获取下一组,我不希望它超时。

我已经尝试过批处理时间 1000 和 5000。

异常消息是:线程“主”org.ektorp.DbAccessException 中的异常:java.net.SocketTimeoutException:读取超时

编辑:在我将批量大小减少到 100 后它起作用了,但我更喜欢更大的批量大小。

0 投票
2 回答
886 浏览

json - 来自 ektorp / couchdb 的 JSON 响应

对于 ektorp / couchdb 的客户端请求,我想将 JSON 传递回客户端。(为什么不直接使用 couchdb?因为我必须对中间的 Java 层上的数据做一些 tweeks。)

那么有没有一种方法可以从 CouchDbRepositorySupport queryView 获取 JSON 数据?