【问题标题】:Unexpected behaviour with web service APIWeb 服务 API 的意外行为
【发布时间】:2020-12-15 11:07:34
【问题描述】:

使用 JAX-RS、Jersey 框架开发的 Web 服务。在 AWS EC2 实例中部署 Web 服务。 Web 服务有一个 API,用于收集数据(3MB zip 文件)并按以下步骤对其进行处理。

  1. 解压文件
  2. 使用 AES 加密解密文件并生成文本文件。
  3. 将文本文件传递给 C 库 API,该 API 处理文本文件并给出结果
  4. 将结果保存到数据库并生成响应。

使用许多数据文件进行测试,结果符合预期。但有时它的行为方式很奇怪。 Webservice 在处理用户数据时给出了错误的结果。但是,当邮递员将相同的数据发送到此 Web 服务时,它给出了正确的结果。我检查了日志文件(例如 catalina.out 和 localhost_access_log.txt),但没有显示任何异常。

我是否错过了 web 服务配置中的某些内容?有没有办法找到这些问题的根本原因?

这是 AWS EC2 的详细信息:

$ cat /etc/os-release
  NAME="Amazon Linux"
  VERSION="2"
  ID="amzn"
  ID_LIKE="centos rhel fedora"
  VERSION_ID="2"
  PRETTY_NAME="Amazon Linux 2"
  ANSI_COLOR="0;33"
  CPE_NAME="cpe:2.3:o:amazon:amazon_linux:2"
  HOME_URL="https://amazonlinux.com/" 

【问题讨论】:

  • 您能否展示您在 API 的“consumes”属性中使用的内容。从特定客户端发送的特定用户数据是否存在问题。请同时提及。您还可以为库和您自己的代码启用信息级别的日志,以获取 Web 服务中处理的详细日志。
  • 它使用 zip 文件、客户端用户 ID 等表单数据。10 个请求是从同一个客户端发送的,10 个请求中有 2 个面临这样的问题。

标签: java web-services amazon-ec2 jax-rs


【解决方案1】:

看来C动态库文件使用共享内存还是同一个临时文件。所以让它成为线程安全的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-26
    • 2021-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多