Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Oracle ADF no JBoss:problema de conexão Jdbc encapsulada


Isso já faz um tempo, mas vou continuar com minha própria pergunta.

Há um guia sobre Oracle Metalink (Precisa de login) que explica como implantar ADF/BC no JBoss. Tenho certeza de que foi isso que resolveu isso para mim (é um tempo atrás ..)

Aqui está uma cópia dele:

Resumo
O objetivo desta nota é mostrar como você cria um Módulo de Aplicativo ADF BC e como o implementa em um JBoss Application Server. Ele também mostrará quais configurações você precisa executar no lado do JBoss para que o Módulo de Aplicação funcione corretamente.

Escopo e aplicação
Esta nota destina-se a qualquer pessoa que esteja prestes a implantar um ADF BC Module em um JBoss Application Server.

Como implantar um módulo ADF BC em um servidor de aplicativos JBoss
As etapas necessárias para implantar um ADF BC Module em um JBoss Application Server são as seguintes:
  1. Configure as bibliotecas de tempo de execução do ADF no servidor JBoss
  2. Configurar a(s) fonte(s) de dados no JBoss Server
  3. Configurar o módulo BC do ADF
  4. Implantar o Módulo BC do ADF

Vou passar por cada uma dessas etapas mais detalhadamente. Há também um exemplo completo anexado para download aqui. Configure as ADF Runtime Libraries no JBoss Server
  1. Encerre o servidor de aplicativos.
  2. Chame o assistente do ADF Runtime Installer. Escolha Ferramentas | Instalador do ADF Runtime e escolha um tipo de servidor no submenu.
  3. Prossiga pelas páginas do assistente. Para obter instruções detalhadas para qualquer página do assistente, clique em Ajuda.
  4. Na página Local, selecione o diretório inicial (ou raiz) do servidor no qual as bibliotecas serão instaladas.
  5. Na página Opções de instalação, você pode escolher a operação que deseja executar.* Instale as bibliotecas de tempo de execução do ADF da instalação do JDeveloper.* Desinstale as bibliotecas de tempo de execução do ADF instaladas anteriormente.* Restaure uma versão arquivada das bibliotecas de tempo de execução do ADF como a versão ativa.
  6. Na página Resumo, clique em Migrar se desejar preparar qualquer projeto JSP UIX existente para implantação.
  7. Na página Resumo, confirme os detalhes da instalação e clique em Concluir.
  8. Reinicie o servidor de aplicativos.

Configurar a(s) fonte(s) de dados no JBoss Server
Para criar uma fonte de dados Oracle no servidor JBoss, você precisa seguir os seguintes passos:

  1. Crie um arquivo chamado oracle-ds.xml. Este arquivo conterá sua configuração de fonte de dados. Abaixo está um exemplo de como esse arquivo pode se parecer.
    <?xml version="1.0" encoding="UTF-8"?>
      <datasources>
        <local-tx-datasource>
        <jndi-name>OracleDS</jndi-name>
        <use-java-context>false</use-java-context>
        <connection-url>jdbc:oracle:thin:@mydbhost.com:1521:mysid</connection-url>
        <driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
        <user-name>hr</user-name>
        <password>******</password>
        <exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter</exception-sorter-class-name>
      </local-tx-datasource>
    </datasources>
    

  2. Copie o arquivo para o /deploy. Isto irá instalá-lo no servidor JBoss.

Configurar o módulo BC do ADF
Existem alguns passos que precisam ser executados no ADF BC Module para que ele seja executado no servidor JBoss.

Ao criar um ADF BC Module que será usado em um servidor de aplicação JBoss, é necessário definir o SQL Flavor para SQL92 e o Type Map para Java. Esta mudança é necessária ao usar o JBoss como o Application Server.

****Empacote o projeto ADF Business Components como um bean de sessão EJB.****
  1. Clique com o botão direito do mouse no Módulo do aplicativo, selecione Implantação de componentes de negócios.
  2. Na caixa de diálogo de perfis, selecione EJB Session Beans.
  3. Na caixa de diálogo EJB Session Beans, selecione Deploy To:Other EJB Container
  4. Na caixa de diálogo AppModules, configure o Application Module conforme mostrado na figura 1 abaixo.

Figura 1. Configuração do Módulo de Aplicação


Uma vez feito, seu projeto será semelhante ao mostrado na figura 2 abaixo.

Figura 2. O Projeto JDeveloper


A etapa final é configurar o Application Module para usar a fonte de dados que criamos na etapa anterior. Isto se faz do seguinte modo:
  1. Edite o módulo do aplicativo.
  2. No Navegador, clique com o botão direito do mouse no ícone do módulo do aplicativo Business Components e escolha Configurações.
  3. Selecione a configuração apropriada.
  4. Selecione esta configuração e clique em Editar.
  5. Na lista Tipo de conexão, escolha JDBC DataSource.
  6. Digite um nome de fonte de dados. Por exemplo:java:/OracleDS.

Implantar o Módulo BC do ADF
Se você tem seu servidor JBoss localmente ou mapeado em sua máquina local, você pode implantá-lo diretamente de dentro do JDeveloper. Se o seu servidor JBoss for remoto e não estiver mapeado para a máquina local, ou se você tiver um aplicativo JSP que mais tarde usará este módulo, você não poderá implantá-lo diretamente do JDeveloper. Ambos os métodos são descritos abaixo.

Implantando o módulo de dentro do JDeveloper
1. Crie uma conexão com o servidor de aplicativos de destino.2. Se você deseja oferecer suporte a opções de configuração específicas do JBoss para o EJB, adicione um arquivo descritor de implantação jboss.xml. Para obter mais informações sobre este arquivo, consulte http://www.jboss.org .3. Se o seu projeto for um projeto Business Components UIX JSP, adicione os recursos necessários do Cabo a ele.4. Selecione o perfil de implantação no Navegador, clique com o botão direito do mouse e escolha Deploy to | para empacotar o aplicativo como um arquivo morto e implantá-lo por meio da conexão do servidor de aplicativos selecionada.

Implantando o módulo fora do JDeveloper
Se o seu servidor JBoss for remoto, e não estiver mapeado para a máquina local, ou você tiver uma aplicação JSP que mais tarde utilizará este módulo, você terá que fazer o seguinte:
  1. Escolha Implementar no arquivo EAR no menu de contexto para implementá-lo como um arquivo EAR. Você deve implantar este aplicativo em um arquivo EAR e não em um arquivo WAR, pois o JBoss não adicionará as referências EJB no namespace java:comp/env/ JNDI para um arquivo WAR.
  2. Copie este arquivo manualmente para o diretório /deploy.