Executando um Contêiner Integrável
Use esta tarefa para executar um contêiner integrável. Aplicativos que executam no contêiner integrável começam mais rápida e precisam de uma área de cobertura menor do que quando executam no servidor de aplicativos integral. Este é um ambiente otimizado para desenvolver e testar aplicativos rapidamente que podem eventualmente executar no servidor de aplicativos.
Antes de Iniciar
Antes de executar um contêiner integrável, você deve ter os seguintes itens prontos:
- Uma cópia do <app_server_root>\runtimes\com.ibm.ws.ejb.embeddableContainer_9.0.jarRestrição: O thin client Enterprise JavaBeans (EJB), com.ibm.ws.ejb.thinclient_9.0.jar e o archive EJB Java™ archive (JAR) integrável, com.ibm.ws.ejb.embeddableContainer_9.0.jar, não pode coexistir no mesmo caminho de classe.
- Uma cópia do arquivo <app_server_root>\runtimes\endorsed\endorsed_apis_9.0.jar, se você estiver usando a anotação @Resource com o atributo de consulta
- Um ou mais módulos EJB nos diretórios de arquivos JAR ou de classes.
- Uma classe principal que cria o contêiner integrável
- Um Java SE Development Kit (JDK) ou um Java Runtime Environment (JRE) Versão 8.0 ou posterior
Sobre Esta Tarefa
A chave para executar o contêiner integrável é o caminho da classe. O caminho da classe deve incluir todos os artefatos previamente listados.
Por exemplo, se a classe principal é my.pkg.MyMainClass, e ela usa enterprise beans que estão armazenados no arquivo MyEJBModule.jar, a seguinte linha deve executar a classe principal que ativa o contêiner integrável. Este exemplo assume que todos os arquivos JAR e diretórios de classe estão no diretório atualmente em funcionamento.
- Windows:
C:\test> java -cp .;com.ibm.ws.ejb.embeddableContainer_9.0.jar my.pkg.MyMainClass
- UNIX:
[test]$ java -cp .:com.ibm.ws.ejb.embeddableContainer_9.0.jar:MyEJBModule.jar my.pkg.MyMainClass
Se desejar especificar propriedades do contêiner integrável em um arquivo de texto que não seja o embeddable.properties no diretório atualmente em funcionamento, então você deve especificar a propriedade do sistema com.ibm.websphere.embeddable.configFileName; por exemplo:
- Windows:
C:\test> java -Dcom.ibm.websphere.embeddable.configFileName="C:\test\my-config.properties" -cp .;com.ibm.ws.ejb.embeddableContainer_9.0.jar;MyEJBModule.jar my.pkg.MyMainClass
- UNIX:
[test]$ java -Dcom.ibm.websphere.embeddable.configFileName="/home/myusername/test/my-config.properties" -cp .:com.ibm.ws.ejb.embeddableContainer_9.0.jar:MyEJBModule.jar my.pkg.MyMainClass
Quando você está desenvolvendo um aplicativo que usa o JPA no contêiner EJB integrável, o caminho da classe deve incluir o thin client JPA, com.ibm.ws.jpa-2.1.thinclient_9.0.jar.
O thin client do JPA está localizado
em \runtimes onde o diretório-raiz da imagem
de instalação está localizado.
- Windows:
C:\test> java -cp .;com.ibm.ws.ejb.embeddableContainer_9.0.jar;%WAS_HOME%\runtimes \com.ibm.ws.jpa-2.1.thinclient_9.0.jar;MyEJBModule.jar my.pkg.MyMainClass
- UNIX:
[test]$ java -cp .:com.ibm.ws.ejb.embeddableContainer_9.0.jar:${WAS_HOME}/runtimes /com.ibm.ws.jpa-2.1.thinclient_9.0.jar:MyEJBModule.jar my.pkg.MyMainClass


- Windows:
C:\test> java -javaagent:%WAS_HOME%\runtimes\com.ibm.ws.jpa-2.1.thinclient_9.0.jar -cp .;com.ibm.ws.ejb.embeddableContainer_9.0.jar;MyEJBModule.jar my.pkg.MyMainClass
- UNIX:
[test]$ java -javaagent:${WAS_HOME}/runtimes/com.ibm.ws.jpa-2.1.thinclient_9.0.jar -cp .:com.ibm.ws.ejb.embeddableContainer_9.0.jar:MyEJBModule.jar my.pkg.MyMainClass
Para ativar o rastreio no contêiner integrável, é possível especificar a propriedade de sistema com.ibm.ejs.ras.lite.traceSpecification para um valor de especificação de rastreio como seria especificado para o servidor.
Por padrão, o rastreio é impresso para saída padrão, mas é possível redirecionar a saída especificando a propriedade de sistema com.ibm.ejs.ras.lite.traceFileName. O seguinte exemplo mostra como é possível usar ambas as propriedades de sistema:
- Windows:
C:\test> java -Dcom.ibm.ejs.ras.lite.traceSpecification=EJBContainer=all:MetaData=all -Dcom.ibm.ejs.ras.lite.traceFileName=trace.log -cp .;com.ibm.ws.ejb.embeddableContainer_9.0.jar;MyEJBModule.jar my.pkg.MyMainClass
- UNIX:
[test]$ java -Dcom.ibm.ejs.ras.lite.traceSpecification=EJBContainer=all:MetaData=all -Dcom.ibm.ejs.ras.lite.traceFileName=trace.log -cp .:com.ibm.ws.ejb.embeddableContainer_9.0.jar:MyEJBModule.jar my.pkg.MyMainClass
Se seus beans usarem a anotação javax.annotation.Resource com o atributo de consulta,
deverá também usar o Java Endorsed Standards Override Mechanism para substituir a API javax.annotation.Resource que está disponível no JDK no seu
sistema. Copie o arquivo
app_server_root\runtimes\endorsed\endorsed_apis_9.0.jar em um diretório de destino de sua escolha. Use a propriedade java.endorsed.dirs no comando
Java para especificar seu diretório que contém o arquivo JAR copiado. O seguinte exemplo mostra como é possível especificar a propriedade java.endorsed.dirs:
- Windows:
C:\test> java -Djava.endorsed.dirs="myTargetDirectory" -cp .;com.ibm.ws.ejb.embeddableContainer_9.0.jar;MyEJBModule.jar my.pkg.MyMainClass
- UNIX:
[test]$ java -Djava.endorsed.dirs="myTargetDirectory" -cp .:com.ibm.ws.ejb.embeddableContainer_9.0.jar:MyEJBModule.jar my.pkg.MyMainClass