0

我有一个用 JavaScript 编写的应用程序,它使用 rxjs 库来处理异步数据。我想插入一个 java 后端,我发现 J2V8 可以让我启动 Node 并通过 Java 与它对话。

对于同步任务,一切都很好,但是当我将 rxjs Observable 映射到 RxJava Observable 时,我得到(默默地吞下)“无效的 V8 线程访问”异常。

我明白为什么会这样。Node 是单线程的,当我尝试推送我的异步响应时,它可能正忙着做自己的事情。

我想要实现的更广泛的观点是:

订阅事件到达 Java => 订阅传递给 NodeJS 进行处理 => NodeJS 回调给 Java 以获取实际数据源 => Java 将数据推回 NodeJS 进行处理 => NodeJS 将结果传递给原始 Java 订阅者。

具体来说,我想要一些关于如何将异步事件从 Java 推送到 Node.js 的建议。

编辑:回答有关我为什么要这样做的问题。我有一个 NodeJS 服务器,它可以用一些 JS 数据源做我希望它做的事情。我想添加一个 Java 数据源,它将使用 websockets 与 NodeJS 服务器进行通信。每个数据源都有一堆请求/响应逻辑,因此我希望通过包含此逻辑的短 JS 管道汇集到达 Java 数据源的请求。我可以复制 Java 中的逻辑,但我试图避免用 2 种不同的语言编写和维护相同的东西。

我正在尝试做的事情完全有可能是愚蠢的,但我正处于原型阶段,所以我正在试验。

4

0 回答 0