Java JSF 1.2-getClientId返回以“null”开头的ID,而不是容器列表后跟ID

Java JSF 1.2-getClientId返回以“null”开头的ID,而不是容器列表后跟ID,java,jsp,jsf-1.2,myfaces,trinidad,Java,Jsp,Jsf 1.2,Myfaces,Trinidad,我们的应用程序使用的是JSF1.2,由运行在WebLogicPortal 10.3.2、JDK1.6_22上的MyFaces 1.2.9和Trinidad 1.2.14实现。我们发现,当系统负载过重时,交付给浏览器的呈现html页面中存在一个问题。使用HP LoadRunner模拟负载,并模拟800个并发用户 我们看到生成的id用于标记id,javascript中的id丢失了父容器名称,取而代之的是null后跟字段id 我们的JSP文件的布局如下: homemenu.jsp tabMenu.js

我们的应用程序使用的是JSF1.2,由运行在WebLogicPortal 10.3.2、JDK1.6_22上的MyFaces 1.2.9和Trinidad 1.2.14实现。我们发现,当系统负载过重时,交付给浏览器的呈现html页面中存在一个问题。使用HP LoadRunner模拟负载,并模拟800个并发用户

我们看到生成的id用于标记id,javascript中的id丢失了父容器名称,取而代之的是null后跟字段id

我们的JSP文件的布局如下:

homemenu.jsp

tabMenu.jsp

生成的HTML将包含如下代码:

<input type="hidden" name="org.apache.myfaces.trinidad.faces.FORM" value="renderBody:tabmenu:j_id_id2pc3">
value属性包含正确的容器ID,在本例中为renderBody:tabmenu

在系统加载了大约30-45分钟,有大约800个并发用户/会话之后,生成的HTML将丢失容器ID

<input type="hidden" name="org.apache.myfaces.trinidad.faces.FORM" value="null:j_id_id2pc3">
该值以前将renderBody:tabmenu作为其父ID,现在改为null

现在,这不会导致应用程序的功能出现问题,但会导致我们的LoanRunner测试出现问题。LoadRunner正在查找完整ID,当系统开始将其生成为null时,这会导致LoanRunner测试失败并出错

是什么导致生成的ID丢失其父ID?为什么我们只在系统处于负载状态时才会看到这种情况?一旦系统开始生成null,它将继续生成null,即使在没有负载的情况下,直到应用程序重新启动


我们尝试设置系统属性org.apache.myfaces.trinidad.CLIENT\u ID\u CACHING=off,希望这是一个缓存问题,但没有效果。

您询问过这部分代码的开发人员吗

<input type="hidden" name="org.apache.myfaces.trinidad.faces.FORM" value="renderBody:tabmenu:j_id_id2pc3">
<input type="hidden" name="org.apache.myfaces.trinidad.faces.FORM" value="null:j_id_id2pc3">