2

可能相互关联或不相互关联的两部分问题。

我正在为 Win10 上的 Java 应用程序运行 Stackify Prefix v3.0.28,它通常似乎工作正常:我可以在我们的应用程序中看到各种操作的痕迹。

第1部分:

当导航到我们应用程序的任何页面时,我收到两个加载 JS 文件的失败请求:

http://127.0.0.1:2/scripts/sfclient.xhr.min.js
http://127.0.0.1:2/scripts/sfclient.perf.prefix.min.js

这两个请求都以 ERR_CONNECTION_REFUSED 失败。这些脚本引用不在我的 JSP 页面中,所以我假设它们是由 Prefix 注入的。

这是尝试加载 2 个脚本的原始 HTML:

<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><script src="http://127.0.0.1:2/scripts/sfclient.xhr.min.js"></script>
    <script>var SPerfLib = window.SPerfLib || {}; SPerfLib.RequestId = '54fd58d1-7f7e-d3a4-0001-331676a83598'; if(!SPerfLib.isAttached) { document.addEventListener('DOMContentLoaded', function() { var l = document.createElement('script'); l.src = 'http://127.0.0.1:2/scripts/sfclient.perf.prefix.min.js'; document.body.appendChild(l);}); SPerfLib.isAttached = true;}</script>

我曾尝试寻找配置选项,但没有找到。我不确定脚本是否应该是来自端口 2 的服务器。前缀跟踪输出来自端口 2012,这似乎是正确的。

我尝试卸载并重新安装 Prefix,但结果相同。似乎没有任何更高版本的 Prefix 可以尝试。

如何让这些脚本成功加载?

第2部分:

在一个特定页面上,我们有一个 XHR 来检索一些 JSON 数据。服务器正在正确返回数据,但它在到达浏览器之前以某种方式被删除。响应头显示状态 200 但 0 bytes content-length,这会导致页面上的一些 JS 失败。如果我在没有前缀的情况下运行相同的东西,一切都会按预期工作 - 状态仍然是 200,但是content-length是 37,并且 JSON 有效负载是可见的。

这是 Prefix 在播放时 XHR 的响应标头(注意content-length: 0

cache-control: no-cache, must-revalidate
content-language: en-US
content-length: 0
content-type: text/html
date: Mon, 31 Aug 2020 14:19:24 GMT
expires: Thu, 01 Jan 1970 00:00:00 GMT
last-modified: Mon, 31 Aug 2020 14:19:24 GMT
pragma: no-cache
server: WildFly/10
status: 200
x-powered-by: Undertow/1
x-powered-by: JSP/2.3
x-stackifyid: V1|8bbdce1c-a507-bbdc-0001-3378bff33740|

如果我从 JVM 选项中删除 Stackify 代理并禁用分析器,则响应标头如下所示:

cache-control: no-cache, must-revalidate
content-language: en-US
content-length: 37
content-type: text/html;charset=UTF-8
date: Mon, 31 Aug 2020 14:25:12 GMT
expires: Thu, 01 Jan 1970 00:00:00 GMT
last-modified: Mon, 31 Aug 2020 14:25:12 GMT
pragma: no-cache
server: WildFly/10
status: 200
x-powered-by: Undertow/1

我很感激任何建议!

4

1 回答 1

1

您遇到的 Prefix 问题是 Prefix 的已知问题。我们正在对 Prefix 进行彻底的重写(这是自上次发布以来出现如此大延迟的原因),这些项目是我们在新 Prefix 版本中修复的问题。我们即将发布 Prefix 的 Beta,如果您想加入试用 Prefix Beta 的名单,请发送电子邮件至 Stackify 支持团队 support@stackify.com

于 2020-08-31T17:58:58.157 回答