Utilize essa página para configurar o serviço Java ORB (Object Request Broker).
Para visualizar essa página do console administrativo, clique em Servidores > Tipos de Servidor > WebSphere Application Servers > nome_do_servidor > Serviços de Contêiner > Serviço ORB.
Várias definições estão disponíveis para controlar o processamento interno do ORB (Object Request Broker). Você pode utilizar essas definições para melhorar o desempenho do aplicativo quando os aplicativos contiverem beans corporativos. É possível fazer alterações nessas definições para o servidor padrão ou qualquer servidor de aplicativos configurado no domínio administrativo.
Especifica o número de segundos a aguardar antes de exceder o tempo limite em uma mensagem de pedido.
Se você utilizar scripts da linha de comandos, o nome completo desta propriedade de sistema será com.ibm.CORBA.RequestTimeout.
Tipo de Dados | int |
Unidades | Segundos |
Padrão | 180 |
Intervalo | de 0 até o maior inteiro reconhecido por Java |
Especifica o número de vezes que um ORB tenta enviar um pedido se um servidor falhar. Algumas vezes, a nova tentativa permite a recuperação de falhas transientes na rede. Esse campo é ignorado para o z/OS.
Se você utilizar scripts da linha de comandos, o nome completo desta propriedade de sistema será com.ibm.CORBA.requestRetriesCount.
Tipo de Dados | int |
Padrão | 1 |
Intervalo | 1 a 10 |
Especifica o número de milissegundos entre repetições de pedidos. Esse campo é ignorado para o z/OS.
Se você utilizar scripts da linha de comandos, o nome completo desta propriedade de sistema será com.ibm.CORBA.requestRetriesDelay.
Tipo de Dados | int |
Unidades | Milissegundos |
Padrão | 0 |
Intervalo | 0 a 60.000 |
Especifica o número máximo de entradas que podem ocupar o cache de conexão do ORB antes que o ORB inicie a remoção de conexões inativas do cache. Esse campo é ignorado para o z/OS.
É possível que o número de conexões ativas no cache exceda temporariamente este valor do limite. Se necessário, o ORB continuará incluindo conexões desde que os recursos estejam disponíveis.
Para utilização em scripts da linha de comandos, o nome completo desta propriedade do sistema é com.ibm.CORBA.MaxOpenConnections.
Tipo de Dados | Inteiro |
Unidades | Conexões |
Padrão | 240 |
Intervalo | de 10 até o maior inteiro reconhecido por Java |
Especifica o número mínimo de entradas no cache de conexão do ORB. Esse campo é ignorado para o z/OS.
O ORB não removerá conexões inativas quando o número de entradas estiver abaixo deste valor.
Para utilização em scripts de linha de comandos, o nome completo desta propriedade de sistema é com.ibm.CORBA.MinOpenConnections.
Tipo de Dados | Inteiro |
Unidades | Conexões |
Padrão | 100 |
Intervalo | Qualquer inteiro que seja pelo menos 5 menos que o valor especificado para a propriedade Máximo de Cache de Conexão. |
Ativa o rastreio de mensagens ORB GIOP (General Inter-ORB Protocol).
Esta definição afeta duas propriedades do sistema: com.ibm.CORBA.Debug e com.ibm.CORBA.CommTrace. Se você definir estas propriedades utilizando o script da linha de comandos, deverá definir propriedades como true para ativar o rastreio de mensagens GIOP.
Tipo de Dados | Booleano |
Padrão | Não ativado (false) |
Especifica o número de segundos a aguardar antes de exceder o tempo limite em uma mensagem LocateRequest. Esse campo é ignorado para o z/OS.
Se você utilizar o script da linha de comandos, o nome completo desta propriedade de sistema será com.ibm.CORBA.LocateRequestTimeout.
Tipo de Dados | int |
Unidades | Segundos |
Padrão | 180 |
Intervalo | 0 a 300 |
Controla como o cliente ORB tenta utilizar túnel de HTTP. Esse campo é ignorado para o z/OS.
Se você utilizar scripts da linha de comandos, o nome completo desta propriedade de sistema será com.ibm.CORBA.ForceTunnel.
Tipo de Dados | Cadeia |
Padrão | NEVER |
Intervalo | Os valores válidos são ALWAYS, NEVER ou WHENREQUIRED. |
Especifica o endereço da Web do servlet a ser utilizado no suporte do túnel HTTP. Esse campo é ignorado na plataforma z/OS.
Esse endereço da Web deve ter um formato apropriado:
http://w3.mycorp.com:81/servlet/com.ibm.CORBA.services.IIOPTunnelServlet
Para applets: http://applethost:port/servlet/com.ibm.CORBA.services.IIOPTunnelServlet.
Este campo será obrigatório se o túnel HTTP estiver definido. Se você utilizar o script da linha de comandos, o nome completo desta propriedade de sistema será com.ibm.CORBA.TunnelAgentURL.
Especifica como o ORB transmite parâmetros. Se ativado, o ORB transmite parâmetros por referência em vez de por valor, para evitar fazer uma cópia do objeto. Se você não ativar a opção transmissão por referência, uma cópia do parâmetro será transmitida em vez do objeto de parâmetro em si. Isso pode custar caro, porque primeiro o ORB deve fazer uma cópia de cada objeto de parâmetro.
Você pode utilizar essa opção somente quando o cliente EJB (Enterprise JavaBeans) e o EJB estão no mesmo carregador de classe. Esse requisito significa que o cliente EJB e o EJB devem ser implementados no mesmo arquivo EAR.
Se o cliente EJB (Enterprise JavaBeans) e o servidor estiverem instalados na mesma instância ou no mesmo produto, e o cliente e o servidor utilizarem interfaces remotas, a ativação da opção transmitir por referência poderá melhorar o desempenho em até 50%. A opção transmissão por referência ajuda no desempenho apenas quando tipos de objetos não-primitivos forem transmitidos como parâmetros. Portanto, int e floats são sempre copiados, independentemente do modelo de chamada.
Se você utilizar a definição de script da linha de comandos, o nome completo desta propriedade de sistema será com.ibm.CORBA.iiop.noLocalCopies.
Tipo de Dados | Booleano |
Padrão | Não ativado (false) |
O uso dessa opção para enterprise beans com interfaces remotas viola a Especificação EJB (Enterprise JavaBeans), Versão 2.0 (consulte a seção 5.4). Referências de objeto transmitidas aos métodos EJB (Enterprise JavaBeans) ou aos métodos EJB home não são copiadas e podem estar sujeitas a danos.
Iterator iterator = collection.iterator(); MyPrimaryKey pk = new MyPrimaryKey(); while (iterator.hasNext()) { pk.id = (String) iterator.next(); MyEJB myEJB = myEJBHome.findByPrimaryKey(pk); }
Nesse exemplo, uma referência ao mesmo objeto MyPrimaryKey é transmitida ao produto com um valor de ID diferente a cada vez. A execução deste código com transmissão por referência ativada causa um problema no servidor de aplicativos, porque vários beans corporativos estão se referindo ao mesmo objeto MyPrimaryKey. Para evitar esta problema, defina a propriedade de sistema com.ibm.websphere.ejbcontainer.allowPrimaryKeyMutation como true quando a opção transmissão por referência estiver ativada. Definir a opção transmissão por referência como true faz com que o contêiner EJB faça uma cópia local do objeto PrimaryKey. Como resultado, no entanto, uma pequena parte da vantagem do desempenho de definir a opção transmissão por referência é perdida.
Como regra geral, todo código do aplicativo que transmite uma referência de objeto como um parâmetro para um método de bean corporativo ou método home EJB deve ser examinado para determinar se a transmissão dessa referência do objeto resulta em perda da integridade dos dados ou em outros problemas.
Depois de examinar seu código, você pode ativar a opção transmissão por referência definindo a propriedade de sistema com.ibm.CORBA.iiop.noLocalCopies como true. Também é possível ativar a opção transmissão por referência no console administrativo. Clique em Servidores > Tipos de Servidor > Servidores de Aplicativos > nome_do_servidor > Serviços de Contêiner > Serviço ORB e selecione Transmitir por Referência.
Links marcados (on-line) requerem acesso à Internet.