Comando Create stubs
O comando createEJBStubs cria classes de stub para interfaces remotas de beans Enterprise JavaBeans (EJB) compactados nos arquivos Java archive (JAR), Web Application Archive (WAR) ou Enterprise Archive (EAR). Fornece também uma opção para criar uma única classe stub a partir de uma classe de interface localizada em um diretório ou arquivo JAR. Diversas opções de comando são fornecidas para compactar as classes stub geradas de diferentes maneiras. Consulte as seções Sintaxe e Exemplos para obter mais detalhes.
- createEJBStubs.bat - plataformas Windows
- createEJBStubs.sh - Plataformas baseadas no UNIX
- createEjbStubs - plataforma iSeries
O comando procura o arquivo JAR, WAR ou EAR de entrada, procurando módulos EJB que contêm beans com interfaces remotas. Quando interfaces remotas são encontradas, as classes stub correspondentes são geradas e compactadas de acordo com as opções de comando especificadas. No caso em que a entrada especificada é uma única classe de interface, a ferramenta supõe que esta seja uma classe de interface remota EJB e gere uma classe de stub remota.
- Clientes Java Standard Edition (SE) "Bare" nos quais uma Java Virtual Machine (JVM) Java SE é o ambiente do cliente.
- Um contêiner do WebSphere Application Server (contêiner da web, contêiner EJB ou contêiner do aplicativo cliente) a partir de uma versão anterior à versão 7, sem o Feature Pack for EJB 3.0 aplicado ou interfaces de negócios pre-EJB 3.x não em um aplicativo Java 7.
- Ambientes não WebSphere Application Server.
A JVM que executa o comando createEJBStubs deve ter uma propriedade do sistema java.io.tmpdir definida. A propriedade deve apontar para um diretório legível e gravável existente.
Além de criar stubs para conteúdo de bean compactado nos arquivos EAR e JAR, o comando também cria stubs para conteúdo de bean que é compactado em um arquivo WAR. Se um arquivo EAR for especificado como o arquivo de entrada e se esse arquivo EAR contiver um arquivo WAR com interfaces remotas, os stubs serão gerados para essas interfaces.
Os stubs são colocados no arquivo WAR no mesmo local que a interface remota ou classe de bean às quais eles correspondem. Se a interface remota ou a classe de bean às quais eles correspondem for colocada livremente na estrutura do diretório WEB-INF/classes, o stub será colocado ali também. Se a interface remota ou a classe de bean for compactada dentro de um arquivo JAR no diretório WEB-INF/lib, o stub será inserido no mesmo arquivo JAR. Se um stub for gerado para uma interface remota que não seja compactada no arquivo WAR, ele será colocado livremente na estrutura de diretório WEB-INF/classes.
Um componente do cliente usa esses stubs para se comunicar com os componentes EJB em execução no servidor. O componente do cliente deve usar as instâncias stubs que foram criadas pela ferramenta correta.
Sintaxe
createEJBStubsinput_ class_ name | input_JAR_name | input_WAR_name | input_EAR_name [-help] [-newfile[new_file]] [-updatefile[update_file]] [-quiet] [-verbose] [-logfile log_file] [-appendlog] [-cp class_path] [-trace]- createEJBStubs
- Esse é o comando para criar classes stub EJB para um arquivo de classe de interface única, um arquivo JAR, um arquivo WAR ou um arquivo EAR. Quando chamado sem nenhum argumento, ou apenas com –help, o comando createEJBStubs exibe uma lista de opções que podem ser especificadas, bem como uma lista de chamadas de exemplo com explicações detalhadas.
- input_class_name ou input_EAR_name ou input_JAR_name ou input_WAR_name
O primeiro parâmetro é um elemento obrigatório do comando. Ele deve conter a classe de origem, o arquivo JAR, WAR ou EAR a ser processado.
Esse parâmetro pode ser o nome completo de uma única classe de interface (por exemplo, com.ibm.myRemoteInterface). Observe que os segmentos de nome de pacote são separados por caracteres “.”, nenhum nome de caminho precede o nome da classe e a extensão “.class” não está incluída. Para esta entrada de classe de interface, você deve usar a opção de caminho da classe (por exemplo, –cp my_path, ou –cp my_path/my_interfaces.jar) para especificar onde a classe de interface será localizada. A classe de stub gerada será colocada na estrutura de diretório definida pelo pacote, começando com o diretório atual no qual o comando é chamado.
Esse parâmetro também pode ser um arquivo JAR, WAR ou EAR. Nesse caso, o caminho deve ser especificado (por exemplo, my_path/my_Server_App.ear). As classes stub geradas serão colocadas no mesmo módulo ou módulos com os beans, ou no mesmo módulo ou módulos com as classes de interface remota, dependendo se a opção –updatefile for especificada. Consulte as seguintes seções para obter mais detalhes.
- -help
- Fornece a sintaxe de comando, incluindo uma lista de opções que podem ser especificadas, além de chamadas de exemplo com explicações detalhadas.
- -newfile [new_file]
- Solicita a geração de um novo arquivo contendo os arquivos originais no JAR, WAR ou EAR de entrada, além das classes de stub. Quando essa opção não é especificada, os stubs são regravados no arquivo JAR, WAR ou EAR original. Se essa opção for especificada, mas o nome new_file não for fornecido, um novo nome de arquivo será construído ao anexar o nome do arquivo JAR, WAR ou EAR de entrada ao "_withStubs". Essa opção não é permitida quando o primeiro parâmetro de entrada é uma classe de interface.
- -updatefile [update_file]
- Solicita que um segundo arquivo (por exemplo, além do arquivo de entrada) seja atualizado com classes stub. Essa opção também fornece um comportamento de pacote diferente. As classes stub são compactadas no(s) mesmo(s) módulo(s) que as classes de interface remota. Em comparação, quando essa opção não é especificada, as classes stub são compactadas no(s) mesmo(s) módulo(s) com as classes de bean. Se essa opção for especificada, mas o nome update_file não for fornecido, apenas o arquivo original JAR, WAR ou EAR será atualizado com as classes stub. Essa opção não é permitida quando o primeiro parâmetro de entrada é uma classe de interface.
- -quiet
- Solicita a supressão de mensagens. A opção -quiet não pode ser especificada com as opções –verbose ou –trace. Mensagens de erro ainda serão exibidas.
- -verbose
- Solicita a saída de mensagens informativas adicionais. A opção -verbose não pode ser especificada com as opções -quiet ou –trace.
- -logfile log_file
- Solicita a impressão das mensagens em um arquivo de log além de no console. Se essa opção for especificada, o nome log_file também deverá ser fornecido.
- -appendlog
- Solicita que as mensagens sejam anexadas a um arquivo de log existente. Se essa opção for especificada, a opção log_option também deverá ser especificada.
- -cp class_path
- Solicita que o carregador de classe inclua o caminho de classe especificado onde arquivos adicionais jar ou de classe estão localizados, os quais são necessários para que as classes de interface remota sejam carregadas. O caminho de classe pode incluir vários segmentos em que cada caminho é separado de um caminho anterior pelo caractere separador de caminho padrão do sistema operacional. Cada caminho pode especificar um arquivo JAR ou um diretório. Se essa opção for especificada, o nome class_path também deverá ser fornecido.
- -trace
- Solicita que seja gerada saída de rastreio detalhada. Isto destina-se a coletar informações para uso pelo serviço IBM® para resolver problemas. A saída de rastreio é apenas em inglês. Essa opção não pode ser especificada com as opções –quiet ou –verbose.
Exemplos
createEJBStubs com.ibm.myRemoteInterface -cp my_path
Gere a classe stub para uma classe de interface remota e coloque-a na estrutura de diretório definida pelo pacote, começando no diretório atual. O diretório my_path é utilizado como caminho de classe. Se a classe de interface remota a ser processada estiver em um arquivo JAR, a sintaxe –cp my_path/my_interfaces.jar deverá ser utilizada como especificação do caminho de classe.createEJBStubs my_path/my_beans.jar -newfile –quiet
Gere as classes de stub para todos os enterprise beans no arquivo my_beans.jar que possui interfaces remotas. As classes stub geradas e o conteúdo original do arquivo JAR são compactados em um novo arquivo JAR denominado “my_beans_withStubs.jar” porque o parâmetro de nome new_file opcional não é especificado com a opção –newfile. As mensagens de saída são suprimidas, exceto para notificações de erro.createEJBStubs my_path/my_Server_App.ear -logfile myLog.out
Gere as classes de stub para todos os enterprise beans no arquivo my_Server_App.ear que possuem interfaces remotas. As classes stub geradas são colocadas no arquivo EAR original porque a opção –newfile não é especificada. As classes stub são compactadas no(s) mesmo(s) módulo(s) que as classes de bean porque a opção –updatefile não é especificada. As mensagens são gravadas no arquivo de log myLog.out e na janela de comando.createEJBStubs my_path/my_Server_App.ear -updatefile my_path/my_Client_interfaces.jar
Gere as classes de stub para todos os enterprise beans no arquivo my_Server_App.ear que possuem interfaces remotas. As classes stub geradas são colocadas no arquivo EAR original e no arquivo my_Client_interfaces.jar. As classes stub são compactadas no(s) mesmo(s) módulo(s) que as classes de interface remota porque a opção –updatefile é especificada.createEJBStubs my_path/my_Server_App.ear –updatefile
Gere as classes de stub para todos os enterprise beans no arquivo my_Server_App.ear que possuem interfaces remotas. As classes stub geradas são colocadas apenas no arquivo EAR original porque o parâmetro de nome opcional update_file não é fornecido com a opção –updatefile. As classes stub são compactadas no(s) mesmo(s) módulo(s) que as classes de interface remota porque a opção –updatefile é especificada.createEJBStubs my_path/my_beans.war
Gere as classes de stub para todos os beans que são compactados no arquivo WAR e que possuem interfaces remotas. A classe Bean1 é compactada livremente dentro da estrutura de diretório WEB-INF/classes e, portanto, o stub correspondente é colocado ali também. Da mesma forma, a classe Bean2 é compactada dentro do arquivo myEJB.jar no diretório WEB-INF/lib e, portanto, o stub correspondente é inserido no arquivo JAR.