MyFaces 中的内存泄漏

2024-04-23

编辑:您可以在下面的评论中找到的解决方案假设更改 JSF 实现从 MyFaces 到 太阳的莫贾拉。

Hi,

我在 MyFaces 2.0.0 上遇到了非常烦人的问题(更准确地说,我也在 2.0.1 和 2.0.2 上检查过它,问题仍然存在)。

我现在正在 MyFaces 下编写应用程序。简而言之,在我的应用程序中我使用框架:Spring、Hibernate、JSF(MyFaces 实现) 我的应用程序容器是Tomcat(6.0.29版本) 我使用maven来构建和部署(版本3.0)。

问题是当我尝试通过 maven (mvn tomcat:redeploy) 重新部署应用程序时,它首先尝试取消部署应用程序并再次部署它。但取消部署从未成功。我有信息:

SEVERE: The web application [/adam] created a ThreadLocal with key of type 
[java.lang.ThreadLocal] (value [java.lang.ThreadLocal@4b0a4d7c]) and a value of type
[org.apache.myfaces.config.RuntimeConfig] (value  org.apache.myfaces.config.RuntimeConfig@11652e61])
but failed to remove it when the web application was stopped.
This is very likely to create a memory leak.

由于此错误,tomcat 无法取消部署应用程序:

INFO: Undeploying context [/adam]
2010-12-02 11:47:46 org.apache.catalina.startup.ExpandWar deleteDir
SEVERE: [D:\Program Files\apache-tomcat-6.0.29\webapps\adam\WEB-INF\lib] could not be completely deleted. The presence of the remaining files may cause problems
2010-12-02 11:47:46 org.apache.catalina.startup.ExpandWar deleteDir
SEVERE: [D:\Program Files\apache-tomcat-6.0.29\webapps\adam\WEB-INF] could not be completely deleted. The presence of the remaining files may cause problems
2010-12-02 11:47:46 org.apache.catalina.startup.ExpandWar deleteDir
SEVERE: [D:\Program Files\apache-tomcat-6.0.29\webapps\adam] could not be completely deleted. The presence of the remaining files may cause problems
2010-12-02 11:47:46 org.apache.catalina.startup.ExpandWar delete
SEVERE: [D:\Program Files\apache-tomcat-6.0.29\webapps\adam] could not be completely deleted. The presence of the remaining files may cause problems
2010-12-02 11:47:49 org.apache.catalina.startup.HostConfig deployDirectory

WEB-INF\lib 中的所有库以及保存 Log4J 日志的文件都无法删除。

提供 ELFactoryImpl 的库也存在连接内存泄漏:

SEVERE: The web application [/adam] created a ThreadLocal with key of type [null]
(value [org.apache.myfaces.el.convert.VariableResolverToELResolver$1@693985fc])
and a value of type [java.util.HashSet] (value [[]]) but failed to remove it
when the web application was stopped.
This is very likely to create a memory leak.

如何摆脱这种内存泄漏?

我一直在寻找答案很长时间我找不到任何解决方案。 我在 myface 的 jira 上发现了这个问题:https://issues.apache.org/jira/browse/MYFACES-2942 https://issues.apache.org/jira/browse/MYFACES-2942但我不知道该怎么想。我应该等待 2.0.3 版本吗?

我认为 EL 的内存泄漏与第一个有关。

请帮我 ! ;) 如果需要,我可以提供更多详细信息。


该问题已被报告并将得到修复。截至目前,您有 3 个选择:

  1. 接受警告消息并等待 MyFaces 人员发布修复程序。

  2. 在您当前的 MyFaces 实施中应用建议的补丁。

  3. 将 MyFaces 替换为Mojarra http://javaserverfaces.java.net(参考实现)不会暴露这个问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MyFaces 中的内存泄漏 的相关文章

  • JSF:使用 ajax 清除 inputTextArea 时出现奇怪的行为

    这是我所拥有的
  • Chrome 中的 FileReader 内存泄漏

    我有一个具有文件上传功能的网页 上传以 5MB 块执行 我想在将每个块发送到服务器之前计算其哈希值 块表示为Blob https developer mozilla org en docs Web API Blob对象 为了计算哈希值 我将
  • tomcat.conf 位于哪里?

    我找不到我的tomcat conf 我看过 etc tomcat6 但它不在那里 也不在 usr share tomcat6 我在哪里可以找到tomcat conf在 Linux Ubuntu 中 Try sudo updatedb loc
  • Jsf 生命周期 - 验证失败后渲染响应

    我希望 BalusC 或一位 JSF 专家能够帮助我了解 JSF 生命周期的细节 尤其是渲染 我很难理解的是 在渲染响应期间 从模型中获取值并将其显示给用户 现在 如果存在验证错误 则模型不会更新 因此渲染器必须向用户显示组件树中的无效值
  • 使用ExternalContext.redirect()将面孔消息添加到重定向页面

    我在用ExternalContext redirect String 将用户重定向到另一个页面的方法 FacesContext getCurrentInstance addMessage new FacesMessage Bla bla b
  • 如何设置 PrimeFaces 主题?

    我正在尝试让我的 PrimeFaces v2 1 应用程序使用不同的主题 我下载了 vader 1 0 0 jar 并将其放在我的 WEB INF lib 文件夹中 我将以下内容添加到我的 web xml 中
  • 如何导航到托管 bean 中的另一个页面?

    我正在尝试使用命令按钮转发托管 bean 中的页面
  • 在 primefaces 中进行单元格编辑后,CellEdit 事件不起作用

    我正在尝试在 Primefaces 中按单元格创建可编辑数据表 但在编辑单元格后 事件未提交 我的代码无法检测到 newValue 并且堆栈跟踪中没有错误或日志 这是我的代码 xhtml
  • PrimeFaces 5.2 及更高版本中图表扩展器属性的替代方案是什么

    我正在使用 primefaces 5 2 最新版本并尝试了折线图 它工作正常 我正在尝试更改折线图轴的颜色 背景 边框等 但扩展器属性在最新的 primefaces 版本中不起作用 我的 XHTML
  • C#:模拟内存泄漏

    我想用c 编写以下代码 a 模拟内存泄漏的小型控制台应用程序 b 小型控制台应用程序 它将调用上述应用程序并立即释放它 模拟管理内存泄漏问题 换句话说 应用程序 b 将不断调用并释放应用程序 a 以模拟如何遏制 叛逆 内存泄漏应用程序 而不
  • 委托会导致内存泄漏吗?

    委托会导致内存泄漏吗 我的意思是 例如如果一个班级A包含一个ADelegate后者指向BMethod of Bclass 这是否可以阻止 GC 收集 A 类或 B 类 如果是这样 我们如何 释放 代表 设置ADeletate Nothing
  • 使用 UIWebView loadRequest 的常规块 56、1024、8、244、24 内存泄漏

    我遇到了内存泄漏 但无法通过泄漏 构建 分析或整体检查来找出如何修复 我有一个非常强烈的想法 这是由于我的 UIWebview 加载 JavaScript 的 loadRequest 命令造成的 但我不知道出了什么问题 这是我的设置 我有一
  • _CrtDumpMemoryLeaks( ) == 1 在第一行代码上?

    我正在开发一个 MFC Visual C 项目 据我了解MSDN http msdn microsoft com en us library d41t22sb 28v VS 100 29 aspx CrtDumpMemoryLeaks 应该
  • 为什么Jboss比Tomcat“更好”? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我目前正在开始一个新的应用程序开发 应用程序架构师坚持要求我们使用JBoss5因为它 更好 有谁对 更好 有更广泛的定义 如果是这样的话 我有使
  • 两个 primefaces 日历组件验证

    我有一个表格JSF 2我使用双字段来指定日期范围 这样做的目的是不让用户选择第二个日期之前的第一个日期 所以我想在发送表单之前执行验证 使用p calendar成分 我所做的是将验证器绑定到第二个日历输入 以便在内部访问第一个组件并比较日期
  • iPhone应用程序NSNumber内存泄漏

    我遇到了内存泄漏 但我不知道它从哪里来以及如何修复它 在某些时候 我计算两个位置之间的距离 double calc self getDistance location to otherLocation NSNumber distance N
  • 定位分离的 DOM 树内存泄漏

    我在诊断主要使用 Knockout 构建的非常大的单页 Web 应用程序中的分离 DOM 树内存泄漏时遇到问题 我已经调整了应用程序以附加一个假人FooBar对象特定的 HTML 按钮元素 当用户移动到应用程序的不同 页面 时 该元素应该被
  • 线程关闭期间 Win64 Delphi RTL 中的内存泄漏?

    很长一段时间以来 我注意到我的服务器应用程序的 Win64 版本存在内存泄漏问题 虽然 Win32 版本工作正常 内存占用相对稳定 但 64 位版本使用的内存却定期增加 可能 20Mb 天 没有任何明显的原因 不用说 FastMM4 没有报
  • 1 MB 或更多的 Java 字节数组占用 RAM 的两倍

    在 Windows 10 OpenJDK 11 0 4 x64 上运行以下代码会生成输出used 197 and expected usage 200 这意味着包含 100 万个元素的 200 个字节数组大约占用 200 个字节 200MB
  • 使用无效命令进行 fork 会导致 valgrind 中的内存泄漏

    我有以下代码 它在分叉内执行无效命令 以下代码在 valgrind 中返回内存泄漏 include

随机推荐

  • 如何在android gridview中为行设置不同的列

    我想要一个与此类似的网格视图 每个奇数行将有两个大尺寸图像 偶数行将有四个较小图像 我怎样才能实现这一点 我有类似的东西 我用新的 RecyclerView 解决了 我创建了一个带有 a 的片段回收视图 https developer an
  • 如何修复 Chrome 开发者窗口中的“待处理”状态?

    When I try to include social media scripts into my page I get the pending status in Chrome on some computers not all of
  • 无法获得 WRITE_SETTINGS 权限

    当我在 Android M Preview 3 上的目标 API 为 23 时 我似乎无法获取 Manifest permission WRITE SETTTINGS 权限 requestPermissions new String Man
  • 如何将 UITableViewCell 与 UITableViewCellStyle 一起使用并正确重用单元格?

    我想用UITableViewCellStyle Subtitle默认表格单元格的样式 我在中找到了答案一个如此的答案 https stackoverflow com questions 24062285 how to set uitable
  • 如何完全删除 QLayout 的边距(特定于 Mac OS)

    Let me explain a simplified situation In Qt Creator create a QHBoxLayout containing a QPushButton and another QHBoxLayou
  • 在 CakePHP 中向 Containable 添加条件

    以前我依赖递归 但我没有得到一些解决方案 然后我发现 Containable 对于这些问题工作得很好 我正在开发一个电影评论网站 我需要显示与特定类型相关的电影列表 我有下面的代码 example genre drama options a
  • 在 Rails 中扩展 ruby​​ gem

    假设我有一个 Rails 应用程序 它从 gem 例如 CMS 获取大部分功能 如果我现在需要添加一些自定义 例如 向用户添加属性 最佳实践方法是什么 如果我自定义 gem 那么将来更新 gem 时将会遇到问题 这里采取的最佳方法是什么 这
  • 我可以强制 CloudFormation 解析 Secrets Manager 中的值吗?

    在下面 缩写为 CloudFormation 模板 中 我尝试配置 AWS Lambda 函数以从注入其环境的 AWS Secrets Manager 获取值 Resources Function Type AWS Serverless F
  • 如何向pairs()图中添加颜色键?

    Goal 我有一个调整过的pairs情节在R我想为其添加一个颜色键 面板背景位于pairs绘图显示由数字矩阵确定的某些颜色 我想要在右侧有一个颜色键pairs显示这些颜色和一些指示数字的标签的图 我找到了一些添加颜色键的方法image 绘图
  • Android相机无法从后台服务拍照

    我已经实现了一项从后台线程拍照的服务 但照片永远不会在我的任何设备上拍摄 这是代码 下面记录输出 public class PhotoCaptureService extends Service private static final S
  • jQuery,如何通过选中复选框来调用 url

    我有这个 span Facebook span
  • iPhone 5 屏幕高度错误

    我在 3 5 英寸屏幕上开发了一个应用程序 现在我为 4 英寸屏幕制作了一个新的 Storyboard 我喜欢按照以下方式在 appdelegate 上的 Storyboard 之间切换 我记录了屏幕高度 它给了我 480 00000 检查
  • 来自不同框架的扩展方法的名称冲突

    作为测试 我创建了两个框架 两个框架都包含此扩展 public extension UIDevice var extraInfo UIDeviceExtraInfo return UIDeviceExtraInfo public class
  • Python:基于nosetest是否运行的条件变量

    我正在运行鼻子测试 它有一个设置功能 需要加载与生产数据库不同的数据库 我使用的 ORM 是 peewee 它要求在定义中设置模型的数据库 所以我需要设置一个条件变量 但我不知道使用什么条件来检查 nostest 是否正在运行该文件 我在
  • Numpy排列浮点不一致

    我有一个相当简单的 numpy 任务 创建一个长数组 每个元素递增 0 001 当然 np arange就是答案 我将自己限制为默认精度 float64 对结果的一个简单检查是数组的每 1000 个元素应该具有相同的小数部分 我通过绘图检查
  • 如何优化这个 CUDA 内核

    我已经分析了我的模型 似乎该内核约占我总运行时间的 2 3 我一直在寻找优化它的建议 代码如下 global void calcFlux double concs double fluxes double dt int idx blockI
  • 如何在 Linux (Red Hat/CentOS) 上更新到特定 R 版本,并保留以前的版本?

    也许更准确的标题是 如何在 Linux Red Hat CentOS 上从就地 EPEL R 安装切换到并行 特定于版本 R 安装 一个 可能是典型的 在 Linux 上升级 R 的故事 History 在过去的某个时刻 我使用由 RHEL
  • IE 在模态中失去对输入字段的焦点

    我有一个相当复杂的网络应用程序 我已将其压缩为以下两个 HTML 页面 但问题仍然存在 问题 在 IE 8 和 9 中 厚盒模式 iframe 的输入字段在一秒 或更短时间 后失去焦点 它仅在模态中发生 如果您自行加载页面 焦点不会丢失 我
  • 如何为 JavaScript 生成的文本框附加 onclick 事件?

    我有一个表行 其中包含一个文本框 它有一个显示 JavaScript 日历的 onclick 我正在使用文本框向表中添加行 但我不知道如何将 onclick 事件附加到 JavaScript 生成的文本框
  • MyFaces 中的内存泄漏

    编辑 您可以在下面的评论中找到的解决方案假设更改 JSF 实现从 MyFaces 到 太阳的莫贾拉 Hi 我在 MyFaces 2 0 0 上遇到了非常烦人的问题 更准确地说 我也在 2 0 1 和 2 0 2 上检查过它 问题仍然存在 我