You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Wiremock如何添加--no-request-journal及添加位置咨询

解决Wiremock堆内存溢出:添加--no-request-journal禁用请求日志

Wiremock默认会持久存储所有请求日志用于后续匹配,当请求量累积到一定程度时会触发堆内存错误。添加--no-request-journal参数可以彻底禁用请求日志存储,从根源解决内存占用问题,以下是不同部署场景的具体修改方案:

1. 修改Dockerfile

如果你的Wiremock是通过Docker容器运行,直接在启动命令中追加参数:

FROM wiremock/wiremock:latest

# 挂载请求响应文件(原有配置保留)
COPY ./mappings /home/wiremock/mappings
COPY ./__files /home/wiremock/__files

# 启动命令添加--no-request-journal
CMD ["--no-request-journal"]

如果需要同时指定端口等其他参数,合并即可:

CMD ["--port", "8080", "--no-request-journal"]

2. 更新GitLab CI配置(gitlab-ci.yaml)

根据CI中Wiremock的启动方式调整:

  • 直接运行Wiremock Jar包的场景:
wiremock_deploy:
  stage: test
  script:
    # 添加--no-request-journal到启动命令
    - java -jar wiremock.jar --no-request-journal --port 8080
  • 使用Docker容器启动的场景:
wiremock_deploy:
  stage: test
  script:
    - docker run -d -p 8080:8080 
        -v $(pwd)/mappings:/home/wiremock/mappings 
        -v $(pwd)/__files:/home/wiremock/__files 
        wiremock/wiremock:latest --no-request-journal

3. 调整关联GUI项目的启动配置

如果GUI项目通过脚本或配置文件触发Wiremock启动,找到对应启动命令,加入--no-request-journal参数。例如:

# 示例:GUI项目中调用Wiremock的启动脚本
java -jar ./third-party/wiremock.jar --no-request-journal --mappings-dir ./wiremock/mappings

验证参数生效

启动Wiremock后,查看控制台日志,若出现Request journal disabled的提示,说明参数已成功生效。持续运行后堆内存溢出问题将不再出现。

内容的提问来源于stack exchange,提问作者Emanuel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 17:14:51