【问题标题】:Glassfish 4.1 unnecessary re-deploymentGlassfish 4.1 不必要的重新部署
【发布时间】:2016-10-28 09:00:26
【问题描述】:

如标题所示,GlassFish 4.1 服务器决定对我的 Web 应用程序进行一些随机重新部署,这会删除我在会话中的所有属性,但以某种方式保持会话 ID 完好无损。

这个问题主要发生在我试图选择一个组合框来触发表单提交时,它将被发送到一个 Servlet 以从数据库中收集必要的信息以填充相同表单中的必要文​​本字段(完成通过 JSP),我无法解决问题的原因是因为它发生在第三次或第四次选择尝试时,有时甚至根本不会发生。

服务器日志根本没有多大帮助,因为这些是它决定重新部署时弹出的唯一消息。

服务器日志:

Info:   visiting unvisited references
Info:   visiting unvisited references
Info:   visiting unvisited references
Info:   WebModule[null] ServletContext.log():filter_user:Initializing filter
Info:   Loading application [IMS_Test] at [/IMS_Test]
Info:   IMS_Test was successfully deployed in 558 milliseconds.

Servlet 代码:

List<String> list = new ArrayList<String>();
rs = stmt.executeQuery("SELECT scp_id FROM ims_db.ims_scp_list WHERE scp_name = '" + t_scp_name + "'");

if (rs.next()) {
      scp_id = rs.getString("scp_id");
}

rs = stmt.executeQuery("SELECT epicor_id FROM ims_db.ims_parts_plan "
                            + "WHERE scp_id = '" + scp_id + "'");

while (rs.next()) {
     list.add(rs.getString("epicor_id"));
}
RequestDispatcher rd = request.getRequestDispatcher("new_entryform.jsp");

session.setAttribute("epicor_list", list);                    
session.removeAttribute("scp_name");
session.setAttribute("scp_name", t_scp_name);
rd.forward(request, response);

那么问题来了,我做错了什么最终迫使 GlassFish 在运行过程中重新部署我的网络应用程序?请帮帮我:(

更新 1: 出于绝望,我创建了一个 SessionListener 来查看问题所在。在调试过程中,它显示所有代码都按预期执行,但有时它会立即跳转到“attributeRemoved”,这真的没有意义。

更新 2: 最后一招,将原始表单拆分为两个单独的表单,其中一个使用 GET 方法,而主表单使用 POST 方法。它现在解决了这个问题。

更新 3: 每当我尝试将表单提交到服务器时,这些问题仍然困扰着我,但它只发生在 POST 方法中。尝试升级到 GlassFish 5.0(每晚构建),但问题似乎没有解决。任何指导/建议将不胜感激。 :(

【问题讨论】:

    标签: java jsp session servlets glassfish


    【解决方案1】:

    经过数周的努力,我终于找到了答案。显然,随机重新部署是由我尝试访问的 servlet 中的 @MultipartConfig 注释设置不当引起的。

    将其更改为以下解决了问题:

    @MultipartConfig(location="\fileDest", fileSizeThreshold=1024*1024, 
    maxFileSize=1024*1024*5, maxRequestSize=1024*1024*5*5)
    

    【讨论】:

      猜你喜欢
      • 2022-01-01
      • 1970-01-01
      • 2011-05-12
      • 2015-06-08
      • 2023-03-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-12
      相关资源
      最近更新 更多