【发布时间】:2022-01-16 23:22:02
【问题描述】:
我正在开发一个将 UniVerse 数据库连接到 REST 端点的 API。 问题是我们没有使用 UniVerse Java 库进行本地连接池的许可。
这个软件是用 Java 开发的,使用 Spring Boot,以及我打开会话到 Universe 的方式
uniSession = uniJava.openSession();
uniSession.setHostName(server);
uniSession.setUserName(userName);
uniSession.setPassword(password);
uniSession.setAccountPath(accountPath);
uniSession.connect();
我对其进行迭代并将会话保存在列表“freeSession”中,当我收到请求时,我从该列表中弹出一个会话,将其移动到“occupiedSession”,使用它并返回到“freeSession”。
但问题是 sessios 列表中的所有内容都是“相同的”。我的意思是,我无法接收并发请求,因为我的 API 只有“一个会话”来与 UniVerse 服务器交互。
【问题讨论】:
-
你用 UniObjects 做什么?查询数据库还是调用 BASIC 子程序?
-
该文档仅用于付费客户的注册(不是支持采用您的产品的好模型),因此这里的任何人都不太可能提供帮助。您使用的底层 API 是否支持打开多个会话?如果这需要许可证,那么您不太可能破解它,这可能违反了许可条款。
-
@webthaumaturge 仅用于调用子程序
-
Universe 服务器有多少用户/普通许可证?您可以通过在 Universe 服务器上的命令行运行 uv/bin/uvlictool 来确定这一点。您只有一个普通/用户许可证吗?这就是“API 只有一个会话”的意思吗?老实说,您的技术似乎最终会得到多个并行可用的连接。
-
@webthaumaturge 服务器有大约 300 个许可证。但我的 api 可以使用 5 和 30 之间。我无权访问服务器,因为它是我们的客户端的。我的软件必须连接到 Universe 服务器,调用子例程,然后通过 REST 端点返回响应。但问题是如何管理和解决并发请愿。我只有一组凭据可以从我的 API 连接到 Universe。但现在我一次无法解决多个请求
标签: java spring universe unidata uniobjects