o tempo limite para LocateRequests. Por exemplo, para restringir ambos os retardos para 30 segundos, digite: java -Dcom.ibm.CORBA.RequestTimeout=30 -Dcom.ibm.CORBA.LocateRequestTimeout=30 myapp Por padrao, o ORB aguarda indefinidamente por uma resposta. Para impedir que as conexoes sejam encerradas desnecessariamente, nao defina um valor muito baixo para o tempo limite. Se seu programa estiver fornecendo um servico na rede, podera ser necessario definir, para um valor conhecido, o numero da porta da qual o ORB le os pedidos recebidos. Isso pode ser controlado utilizando a propriedade de sistema com.ibm.CORBA.ListenerPort. Por exemplo, para que o ORB utilize a porta 1050, digite: java -Dcom.ibm.CORBA.ListenerPort=1050 myapp Se essa propriedade for definida, o ORB comecara a atender assim que for inicializado. Caso contrario, ele comecara a atender somente quando for solicitado. Permissoes de Seguranca do Java 2 para o ORB Ao executar um Java 2 SecurityManager, a chamada de alguns metodos nas classes de API do CORBA pode fazer com que seja feita verificacoes de permissoes, o que pode resultar em um SecurityException. Os metodos afetados incluem o seguinte: Tabela 2. Metodos afetados ao executar com o Java 2 SecurityManager Classe/Interface Metodo Permissao Necessaria org.omg.CORBA.ORB init java.net.SocketPermission resolve org.omg.CORBA.ORB connect java.net.SocketPermission listen org.omg.CORBA.ORB resolve_initial_references java.net.SocketPermission connect org.omg.CORBA.portable.ObjectImpl _is_a java.net.SocketPermission connect org.omg.CORBA.portable.ObjectImpl _non_existent java.net.SocketPermission connect org.omg.CORBA.portable.ObjectImpl OutputStream _request (String, boolean) java.net.SocketPermission connect org.omg.CORBA.portable.ObjectImpl _get_interface_def java.net.SocketPermission connect org.omg.CORBA.Pedido invoke java.net.SocketPermission connect org.omg.CORBA.Pedido send_deferred java.net.SocketPermission connect org.omg.CORBA.Pedido send_oneway java.net.SocketPermission connect javax.rmi.PortableRemoteObject narrow java.net.SocketPermission connect Se seu programa utilizar qualquer um desses metodos, assegure-se de que ele tenha as permissoes necessarias. Classes de Implementacao do ORB As classes de implementacao do ORB neste release sao: org.omg.CORBA.ORBClass=com.ibm.CORBA.iiop.ORBorg.omg.CORBA.ORBSingletonClass=com.ibm.rmi.corba.ORBSingletonjavax.rmi.CORBA.UtilClass=com.ibm.CORBA.iiop.UtilDelegateImpljavax.rmi.CORBA.StubClass=com.ibm.rmi.javax.rmi.CORBA.StubDelegateImpljavax.rmi.CORBA.PortableRemoteObjectClass= com.ibm.rmi.javax.rmi.PortableRemoteObject Esses sao os valores padrao e e aconselhavel que voce nao defina essas propriedades ou faca referencia as classes de implementacao diretamente. Para obter portabilidade, faca referencia somente as classes de API do CORBA e nao a implementacao. Esses valores podem ser alterados em releases futuros. RMI sobre IIOP O Java RMI (Remote Method Invocation) fornece um mecanismo simples para executar a programacao Java distribuida. O RMI sobre IIOP (RMI-IIOP) utiliza o protocolo IIOP (Internet Inter-ORB) padrao do CORBA (Common Object Request Broker Architecture) para estender o Java RMI base para executar a comunicacao. Isso permite direcionar a interacao com quaisquer outros ORBs (Object Request Brokers) do CORBA, independentemente de terem sido implementados no Java ou em outra linguagem de programacao. A seguinte documentacao esta disponivel: O Guia do Programador do RMI-IIOP e uma introducao para escrever programas RMI-IIOP. O guia e instalado quando voce instala esta documentacao.O diretorio demo contem: Um exemplo "Hello World" que pode alternar entre o JRMP (Java Remote Method Protocol) e os protocolos IIOP (demo/rmi-iiop/hello)Um exemplo "Hello World" que interage com um programa IDL padrao (demo/rmi-iiop/idl)O documento Linguagem Java para Mapeamento IDL e uma especificacao tecnica detalhada do RMI-IIOP e pode ser encontrado em:http://www.omg.org/cgi-bin/doc?ptc/00-01-06.pdf Implementando o Conjunto da Rotina de Tratamento de Conexao para RMI O conjunto de encadeamento para as Rotinas de Tratamento de Conexao do RMI nao e ativado por padrao. Para ativar o conjunto de conexao implementado no nivel TCPTransport do RMI, defina a opcao -Dsun.rmi.transport.tcp.connectionPool=true (ou qualquer