微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

JBoss EAP 7:在 standalone.xml 之外禁用标签池

如何解决JBoss EAP 7:在 standalone.xml 之外禁用标签池

我正在将一个遗留应用程序从 Weblogic 迁移到 JBoss EAP 7。该应用程序包含自定义标签,这些标签在创建时没有考虑到标签池(例如,它们的内部状态没有在 doEndTag 中正确清理)。

根据 RedHat 文档 https://access.redhat.com/solutions/1186363,在 EAP 6 中有一个需要在 web.xml 中设置的参数:

<servlet>
  ...
  <init-param>
     <param-name>enablePooling</param-name>
     <param-value>false</param-value>
  </init-param>
  ...
</servlet>

不幸的是,在 EAP 7 中,这只能通过配置 undertow 子系统来实现。

<subsystem xmlns="urn:jboss:domain:undertow:4.0">
    ...
    <servlet-container name="default">
        <jsp-config tag-pooling="false"/>
        <websockets/>
    </servlet-container>

我的问题是我的应用程序需要在我无法修改或请求修改的 Docker 映像上运行,因为它旨在在可能与标签池完美配合的不同应用程序之间共享。因此,编辑 standalone.xml 或其他服务器范围的配置文件是不可行的。 我能做什么:

  1. 我提供了 war/ear 文件,因此我可以修改其中的任何内容(例如 web.xml、jboss-web.xml、java 代码等)。如果 EAP 6 解决方案适用于 EAP 7,那就完美了
  2. 我可以编辑系统属性
  3. 我可以编辑环境变量

考虑到这些限制,有没有办法禁用标签池?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。