이 페이지에서 Java™ ORB(Object Request Broker) 서비스를 구성할 수 있습니다.
내부 오브젝트 요청 브로커(ORB) 처리를 제어하기 위한 몇 가지 설정 값을 사용할 수 있습니다. 응용프로그램에 엔터프라이즈 Bean이 포함되어 있는 경우 이 설정을 사용하여 응용프로그램의 성능을 개선할 수 있습니다. 관리 도메인에 구성된 Application Server 또는 기본 서버에 대한 설정 값을 변경할 수 있습니다.
요청 메시지에 대해 시간을 제한하기 전에 기다리는 시간(초)을 지정합니다.
명령행 스크립트를 사용하는 경우 이 시스템 특성의 전체 이름은 com.ibm.CORBA.RequestTimeout입니다.
데이터 유형 | int |
단위 | 초 |
기본값 | 180 |
범위 | 0 - Java에서 인식하는 가장 큰 정수 |
서버가 실패한 경우 ORB가 요청을 전송하려고 시도하는 횟수를 지정합니다. 재시도는 때때로 일시적인 네트워크 장애로부터의 복구를 가능하게 합니다. 이 필드는 z/OS®에 대해 무시됩니다.
명령행 스크립트를 사용하는 경우 이 시스템 특성의 전체 이름은 com.ibm.CORBA.requestRetriesCount입니다.
데이터 유형 | int |
기본값 | 1 |
범위 | 1 - 10 |
요청 재시도 사이의 시간(밀리초)을 지정합니다. 이 필드는 z/OS에 대해 무시됩니다.
명령행 스크립트를 사용하는 경우 이 시스템 특성의 전체 이름은 com.ibm.CORBA.requestRetriesDelay입니다.
데이터 유형 | int |
단위 | 밀리초 |
기본값 | 0 |
범위 | 0 - 60,000 |
ORB가 캐시에서 비활성화된 연결 제거를 시작하기 전에 ORB 연결 캐시를 점유할 수 있는 최대 항목 수를 지정합니다. 이 필드는 z/OS에 대해 무시됩니다.
캐시에 있는 활성화된 연결 수가 일시적으로 이 임계값을 초과할 수 있습니다. 필요하면 ORB는 자원을 사용할 수 있는 동안 계속해서 연결을 추가합니다.
명령행 스크립트에서 사용하는 경우 이 시스템 특성의 전체 이름은 com.ibm.CORBA.MaxOpenConnections입니다.
데이터 유형 | 정수 |
단위 | 연결 수 |
기본값 | 240 |
범위 | 10 - Java에서 인식하는 가장 큰 정수 |
ORB 연결 캐시에 있는 최소 항목 수를 지정합니다. 이 필드는 z/OS에 대해 무시됩니다.
ORB는 항목 수가 이 값 아래인 경우 비활성화된 연결을 제거하지 않습니다.
명령행 스크립트에서 사용하는 경우 이 시스템 특성의 전체 이름은 com.ibm.CORBA.MinOpenConnections입니다.
데이터 유형 | 정수 |
단위 | 연결 수 |
기본값 | 100 |
범위 | 연결 캐시 최대 특성에 지정된 값보다 최소 5 미만인 정수. |
ORB GIOP(General Inter-ORB Protocol) 메시지의 추적을 사용 가능하게 합니다.
이 설정은 두 시스템 특성 com.ibm.CORBA.Debug 및 com.ibm.CORBA.CommTrace에 영향을 미칩니다. 명령행 스크립트를 통해 이러한 특성을 설정하는 경우, GIOP 메시지의 추적을 사용 가능하게 하기 위해 특성을 둘 다 true로 설정해야 합니다.
데이터 유형 | 부울 |
기본값 | 사용 불가능(false) |
LocateRequest 메시지에 대해 시간을 제한하기 전에 기다리는 시간(초)을 지정합니다. 이 필드는 z/OS에 대해 무시됩니다.
명령행 스크립트를 사용하는 경우 이 시스템 특성의 전체 이름은 com.ibm.CORBA.LocateRequestTimeout입니다.
데이터 유형 | int |
단위 | 초 |
기본값 | 180 |
범위 | 0 - 300 |
클라이언트 ORB가 HTTP 터널링을 사용하려고 시도하는 방법을 제어합니다. 이 필드는 z/OS에 대해 무시됩니다.
명령행 스크립트를 사용하는 경우 이 시스템 특성의 전체 이름은 com.ibm.CORBA.ForceTunnel입니다.
데이터 유형 | 문자열 |
기본값 | NEVER |
범위 | 유효값은 ALWAYS, NEVER 또는 WHENREQUIRED입니다. |
HTTP 터널링 지원에 사용할 서블릿의 웹 주소를 지정합니다. 이 필드는 z/OS 플랫폼에서 무시됩니다.
이 웹 주소는 적절한 형식이어야 합니다.
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입니다.
ORB가 매개변수를 전달하는 방식을 지정합니다. 사용 가능 상태에서 ORB는 오브젝트를 복사하지 않도록 매개변수를 값 대신 참조로 전달합니다. 참조에 의한 전달 옵션을 사용하지 않으면, 매개변수 오브젝트 자체보다는 매개변수의 사본이 전달됩니다. ORB가 우선 각 매개변수 오브젝트의 사본을 작성해야 하므로 비용이 많이 들 수 있습니다.
이 옵션은 EJB(엔터프라이즈 JavaBeans™) 클라이언트와 EJB가 같은 클래스 로더에 있을 경우에만 사용할 수 있습니다. 이 요구사항은 EJB 클라이언트 및 EJB가 같은 EAR 파일에 전개되어야 한다는 것을 의미합니다.
EJB(엔터프라이즈 JavaBeans) 클라이언트와 서버가 같은 인스턴스 또는 제품에 설치되어 있고, 클라이언트와 서버가 원격 인터페이스를 쓰는 상황에서 참조에 의한 전달 옵션을 사용하면 성능을 최대 50%까지 개선할 수 있습니다. 참조에 의한 전달 옵션은 비기본형인 오브젝트 유형을 매개변수로서 전달할 때에만 성능에 도움을 줍니다. 따라서 정수와 소수는 호출 모델에 관계 없이 항상 복사됩니다.
명령행 스크립트를 사용하는 경우 이 시스템 특성의 전체 이름은 com.ibm.CORBA.iiop.noLocalCopies입니다.
데이터 유형 | 부울 |
기본값 | 사용 불가능(false) |
원격 인터페이스와 함께 엔터프라이즈 Bean에 대해 이 옵션을 사용하면 EJB(엔터프라이즈 JavaBeans) 스펙, 버전 2.0에 위반됩니다(5.4 절 참조). EJB(엔터프라이즈 JavaBeans) 메소드나 EJB 홈 메소드로 전달한 오브젝트 참조 내용을 복사하지 않기 때문에 손상될 수도 있습니다.
Iterator iterator = collection.iterator(); MyPrimaryKey pk = new MyPrimaryKey(); while (iterator.hasNext()) { pk.id = (String) iterator.next(); MyEJB myEJB = myEJBHome.findByPrimaryKey(pk); }
이 예제에서는 동일한 MyPrimaryKey 오브젝트에 대한 참조가 매번 다른 ID 값으로 제품으로 전달됩니다. 이 코드를 참조에 의한 전달을 사용 가능하게 하여 실행하면 여러 개의 엔터프라이즈 Bean이 동일한 MyPrimaryKey 오브젝트를 참조하기 때문에 Application Server에서 문제를 일으킵니다. 이러한 문제를 피하려면, 참조 옵션에 의한 전달을 사용할 때 com.ibm.websphere.ejbcontainer.allowPrimaryKeyMutation 시스템 특성을 true로 설정하십시오. 참조에 의한 전달 옵션을 true로 설정하면 EJB 컨테이너는 PrimaryKey 오브젝트의 로컬 사본을 만듭니다. 물론 이로 인해 참조에 의한 전달 옵션 설정에서 얻을 수 있는 성능상 이점은 약간 적어집니다.
일반적으로 매개변수로서 오브젝트 참조를 엔터프라이즈 Bean 메소드나 EJB 홈 메소드로 전달하는 응용프로그램 코드를 정밀히 검토하여 해당 오브젝트 참조를 전달하는 것이 데이터 무결성의 손실이나 기타 문제점을 발생시키는지 판별해야 합니다.
코드를 검사한 다음 com.ibm.CORBA.iiop.noLocalCopies 시스템 특성을 true로 설정하여 참조별 전달 옵션을 사용할 수 있습니다. 또한 관리 콘솔에서 참조에 의한 전달 옵션으로 전달을 사용 가능하게 할 수도 있습니다. 서버 > 서버 유형 > Application Server > server_name > 컨테이너 서비스 > ORB 서비스를 클릭하고 참조에 의한 전달을 선택하십시오.