이 페이지를 참조하여 Java ORB(Object Request Broker) 서비스를 구성하십시오.
이 관리 콘솔 페이지를 보려면 서버 > Application Server > 서버 이름 > ORB 서비스를 클릭하십시오.
내부 오브젝트 요청 브로커(ORB) 처리를 제어하기 위한 몇 가지 설정값을 사용할 수 있습니다. 응용프로그램에 Enterprise Bean이 포함되어 있는 경우 이 설정을 사용하여 응용프로그램의 성능을 개선할 수 있습니다. 관리 도메인에 구성된 Application Server 또는 기본 서버에 대한 설정값을 변경할 수 있습니다.
구성 탭
명령행 스크립트에서 사용하는 경우 이 시스템 등록 정보의 전체 이름은 com.ibm.CORBA.RequestTimeout입니다.
| 데이터 유형 | int |
| 단위 | 초 |
| 기본값 | 180 |
| 범위 | 0 - 300 |
명령행 스크립트에서 사용하는 경우 이 시스템 등록 정보의 전체 이름은 com.ibm.CORBA.requestRetriesCount입니다.
| 데이터 유형 | int |
| 기본값 | 1 |
| 범위 | 1 - 10 |
명령행 스크립트에서 사용하는 경우 이 시스템 등록 정보의 전체 이름은 com.ibm.CORBA.requestRetriesDelay입니다.
| 데이터 유형 | int |
| 단위 | 밀리초 |
| 기본값 | 0 |
| 범위 | 0 - 60 |
명령행 스크립트에서 사용하는 경우 이 시스템 등록 정보의 전체 이름은 com.ibm.CORBA.MaxOpenConnections입니다.
| 데이터 유형 | 정수 |
| 단위 | 연결 수 |
| 기본값 | 240 |
| 데이터 유형 | 정수 |
| 단위 | 연결 수 |
| 기본값 | 100 |
이 설정은 두 시스템 등록 정보 com.ibm.CORBA.Debug 및 com.ibm.CORBA.CommTrace에 영향을 미칩니다. 명령행 스크립트를 통하여 이러한 등록 정보를 설정하는 경우, GIOP 메시지의 추적을 사용 가능하게 하기 위해 둘 다 true로 설정해야 합니다.
| 데이터 유형 | 부울 |
| 기본값 | 사용 불가능(false) |
명령행 스크립트에서 사용하는 경우 이 시스템 등록 정보의 전체 이름은 com.ibm.CORBA.LocateRequestTimeout입니다.
| 데이터 유형 | int |
| 단위 | 초 |
| 기본값 | 180 |
| 범위 | 0 - 300 |
직접 액세스의 경우 이 등록 정보의 전체 이름은 com.ibm.CORBA.ForceTunnel입니다.
| 데이터 유형 | 문자열 |
| 기본값 | NEVER |
| 범위 | 유효한 값은 ALWAYS, NEVER 또는 WHENREQUIRED입니다. |
다음은 유효한 값에 대한 추가 정보입니다.
이는 적절하게 형성된 URL이어야 합니다(예: http://w3.mycorp.com:81/servlet/com.ibm.CORBA.services.IIOPTunnelServlet, 애플릿의 경우 http://applethost:port/servlet/com.ibm.CORBA.services.IIOPTunnelServlet). HTTP 터널링이 설정되어 있을 경우 이 필드는 필수입니다.
명령행 스크립트에서 사용하는 경우 이 시스템 등록 정보의 전체 이름은 com.ibm.CORBA.TunnelAgentURL입니다.
EJB 클라이언트와 EJB 서버를 같은 WebSphere Application Server 인스턴스에 설치되어 있고, 클라이언트와 서버가 원격 인터페이스를 쓰는 상황에서 참조로 전달하면 성능을 최대 50%까지 개선할 수 있습니다. 참조로 전달은 비기본형인 오브젝트 유형을 매개변수로서 전달할 때에만 성능에이바지합니다. 따라서 정수와 소수는 호출 모델에 관계 없이 항상 복사됩니다.
이 등록 정보를 사용할 때는 예상치 못한 방식으로 작동할 수 있으므로 주의해야 합니다. 오브젝트 참조가 원격 메소드에 의해 수정되면, 호출자가 변경 내용을 볼 수 있습니다.
명령행 스크립트에서 쓸 경우, 이 시스템 등록 정보의 전체 이름은 com.ibm.CORBA.iiop.noLocalCopies입니다.
| 데이터 유형 | 부울 |
| 기본값 | 사용 불가능(false) |
원격 인터페이스와 함께 Enterprise Bean에 대해 이 옵션을 사용하면 EJB 스펙, 버전 2.0이 위반됩니다(5.4 절 참조). EJB 메소드나 EJB 홈 메소드로 전달한 오브젝트 참조 내용을 복사하지 않기 때문에 손상될 수도 있습니다.
다음 예를 고려하십시오.
Iterator iterator = collection.iterator();
MyPrimaryKey pk = new MyPrimaryKey();
while (iterator.hasNext()) {
pk.id = (String) iterator.next();
MyEJB myEJB = myEJBHome.findByPrimaryKey(pk);
}
이 예제에서는, 동일한 MyPrimaryKey 오브젝트 클래스에 대한 참조가 매번 다른 ID로 WebSphere Application Server로 전달됩니다. 이 코드를 참조에 의한 전달을 사용 가능 하게 하여 실행하면 여러 개의 enterprise bean이 동일한 MyPrimaryKey 오브젝트를 참조하기 때문에 Application Server에서 문제를 일으킵니다. 이러한 문제를 피하려면, 참조에 의한 전달을 사용할 때 시스템 등록 정보인 com.ibm.websphere.ejbcontainer.allowPrimaryKeyMutation을 true로 설정하십시오. 참조로 전달을 true로 설정하면 EJB 컨테이너는 PrimaryKey 오브젝트를 근방에 복사해 둡니다. 물론 이로 인해 참조로 전달 설정에서 얻을 수 있는 성능상 이점은 약간 적어집니다.
일반적으로 매개변수로서 오브젝트 참조를 Enterprise Bean 메소드나 EJB 홈 메소드로 전달하는 응용프로그램 코드를 정밀히 검토하여 해당 오브젝트 참조를 전달하는 것이 데이터 무결성의 소실이나 기타 문제점을 발생시키는지 판별해야 합니다.