2014-06-14 6 views
0

인 응용 프로그램을 사용합니다. 응용 프로그램은 Weblogic Portal 10.3.2, JDK 1.6_22에서 실행되는 MyFaces 1.2.9 및 Trinidad 1.2.14에 의해 구현 된 JSF 1.2를 사용합니다. 시스템에 과부하가 걸렸을 때 렌더링 된 html 페이지에서 브라우저로 전달되는 문제를보고 있습니다 (HP LoadRunner로로드를 시뮬레이트하고 800 명의 동시 사용자를 시뮬레이션 함).JSF 1.2 - getClientId는 컨테이너 목록 대신 ID가 "null"로 시작하여 ID가 ​​

태그 ID와 javascript에 사용 된 생성 된 ID가 부모 컨테이너 이름을 잃어 버렸고 null 대신 필드 ID가 오는 것을 확인했습니다.

우리의 JSP 파일과 같은 배치됩니다

homemenu.jsp

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<%@ page contentType="text/html;charset=windows-1252"%> 
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%> 
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%> 
<%@ taglib uri="http://myfaces.apache.org/trinidad" prefix="tr" %> 
<%@ taglib uri="http://myfaces.apache.org/trinidad/html" prefix="trh" %> 
<f:view> 
    <f:subview id="renderBody"> 
     <jsp:include page="../tabMenu.jsp" /> 
    </f:subview> 
... 

tabMenu.jsp

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
    "http://www.w3.org/TR/html4/loose.dtd"> 
<%@ page contentType="text/html;charset=windows-1252"%> 
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%> 
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%> 
<%@ taglib uri="http://myfaces.apache.org/trinidad" prefix="tr" %> 
<%@ taglib uri="http://myfaces.apache.org/trinidad/html" prefix="trh" %> 

<f:view> 
    <f:subview id="tabmenu"> 
     <jsp:include page="portalTemplate.jsp" /> 
    </f:subview> 
... 

코드를 포함 할 생성 된 HTML을 다음과 같이 :

(- 약 800 동시 사용자/세션 45 분쯤 30) 상기 생성 된 HTML 시스템 동안로드 된 후에 tabmenu

:

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

value 속성이 경우 renderBody 올바른 용기 ID의 것을 포함 컨테이너 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_ID_CACHING = 설정을 시도해 보았습니다.이 문제는 캐싱 문제 였지만 영향을 미치지 않았 으면합니다.

답변

0

개발자에게이 코드 섹션을 요청 했습니까?