Customizando e Ligando Perfis SQLJ com a Ferramenta db2sqljcustomize

Customize e ligue perfis SQLJ com a ferramenta db2sqljcustomize antes de instalar o aplicativo SQLJ no servidor de aplicativos.

Antes de Iniciar

Para executar esta tarefa, você deve ter o aplicativo SQLJ que foi implementado, mas ele não deve ser instalado no servidor de aplicativos. Se o aplicativo já estiver instalado no servidor de aplicativos, será necessário reinstalá-lo depois de customizar os perfis. Você também precisará de perfis serializados para o aplicativo SQLJ.
Para aplicativos SQLJ que utilizam a persistência gerenciada por contêiner, é possível implementar o aplicativo de duas maneiras:
  • Implemente o aplicativo no servidor de aplicativos. Consulte o tópico sobre como implementar aplicativos SQLJ que utilizam a CMP (Container-Managed Persistence) para obter informações adicionais.
  • Implemente aplicativos SQLJ com a ferramenta ejbdeploy. Consulte o tópico sobre como implementar aplicativos SQLJ que utilizam CMP (Container-Managed Persistence) com a ferramenta ejbdeploy.
Para o aplicativo SQLJ que utiliza persistência gerenciada por bean, consulte o tópico sobre como implementar aplicativos SQLJ que utilizam persistência gerenciada por bean, servlets ou beans de sessão.

Sobre Esta Tarefa

Para beneficiar-se dos aplicativos SQLJ no servidor de aplicativos, você precisa customizar os perfis SQLJ. O processo de customização aprimora os perfis com informações específicas do banco de dados DB2. O banco de dados utiliza essas informações no tempo de execução. Por padrão, quatro pacotes do DB2 são criados no banco de dados, com um pacote sendo criado para cada nível de isolamento.
O servidor de aplicativos suporta customização e ligação de perfis SQLJ no console administrativo ou com criação de script:
  • Para o suporte do console administrativo, leia o tópico sobre como customizar e ligar perfis para aplicativos SQLJ (Structured Query Language em Java™).
  • Para o suporte à criação de script, consulte o tópico sobre o grupo de comandos de gerenciamento de aplicativos para o objeto AdminTask.

Procedimento

  1. Certifique-se de que existam as tabelas de banco de dados necessárias, conforme descrito no tópico sobre como implementar aplicativos de acesso de dados.
  2. Transfira os perfis serializados para o ambiente no qual você instalou seu aplicativo. Como alternativa, use o comando Java jar para extrair os perfis serializados do arquivo JAR em seu diretório EAR instalado.
  3. Inclua o local dos perfis SQLJ e o arquivo JAR do aplicativo no caminho de classe de seu ambiente.
  4. Certifique-se de que existam as tabelas de banco de dados necessárias, conforme descrito no tópico sobre como implementar aplicativos de acesso de dados.
  5. Opcional: Se seu aplicativo não estiver em execução em um ambiente em cluster, você poderá usar o script Ant para tornar a customização mais fácil. Se você executa uma customização de SQLJ em lote em um arquivo EAR com a ferramenta ejbdeploy, a ferramenta produz um script Ant que é chamado de application_name.ear.xml. Você pode usar esse arquivo de script para executar o programa customizador do DB2 nos perfis serializados em todos os arquivos JAR do enterprise bean para o arquivo EAR associado. O script atualiza cada arquivo JAR do enterprise bean com um perfil serializado e substitui os arquivos JAR no arquivo EAR existente por versões modificadas.
    [AIX Solaris HP-UX Linux Windows]A ferramenta é:
    • [AIX][HP-UX][Solaris][Linux]ws_ant
    • [Windows]ws_ant.bat
    1. Altere os valores da URL do banco de dados e as propriedades de senha e usuário do banco de dados em ejbdeploy.sqlj.properties. Esse arquivo é um arquivo comum a todos os scripts Ant gerados pelo comando ejbdeploy. O script ejbdeploy.sqlj.properties define as propriedades globais para:
      • URL do banco de dados - db.url
      • Usuário - db.user
      • Senha - db.password
      O script Ant utiliza as propriedades do URL, usuário e senha no perfil serializado para personalizar o perfil. Por padrão, as propriedades do perfil serializado são criadas a partir das propriedades globais.
    2. Execute o script Ant, especificando o destino properties. Por Exemplo:
      ws_ant -buildfile application_name.ear.xml properties
      Esse script cria o arquivos de propriedades, application_name.ear.properties. O arquivo application_name.ear.properties contém as propriedades que especificam os nomes padrão para os pacotes correspondentes a cada perfil serializado no arquivo EAR. Este é um exemplo de arquivo de propriedades:
      url.MyEJB1.jar.DB2UDBNT_V8_1=jdbc:db2://localhost:50000/MyDB1
      user.MyEJB1.jar.DB2UDBNT_V8_1=dbuser
      password.MyEJB1.jar.DB2UDBNT_V8_1=dbpassword
      pkg.MyEJB1.jar.DB2UDBNT_V8_1=TEST
      url.MyEJB2.jar.DB2UDBNT_V8_1=jdbc:db2://localhost:50000/MyDB2
      user.MyEJB2.jar.DB2UDBNT_V8_1=dbuser  
      password.MyEJB2.jar.DB2UDBNT_V8_1=dbpassword
      pkg.MyEJB2.jar.DB2UDBNT_V8_1=WORK
    3. Use o Centro de Controle do DB2 para identificar os pacotes que são instalados no banco de dados. O customizador DB2 SQLJ requer uma URL de banco de dados tipo 4 no formato:
      jdbc:db2://host-name:port/database-name
      Também requer um usuário e senha. O valor da porta é 50000, a menos que você o altere ao instalar o DB2.
    4. Altere os nomes usados pelo arquivo de script para garantir que os nomes de cada perfil de customização não estejam em conflito com os nomes de pacotes existentes que estão no banco de dados. Os scripts Ant gerados para os diferentes arquivos EAR usam os mesmos nomes de pacotes por padrão e o script substituirá os pacotes existentes, a menos que você altere os nomes. Pacotes substituídos podem causar erros no tempo de execução.

      O DB2 usa os primeiros sete caracteres do nome do pacote. O customizador do DB2 usa esse nome para criar quatro pacotes no banco de dados. Por exemplo, se você especificar o nome TEST, o customizador do DB2 criará pacotes chamados TEST1, TEST2, TEST3 e TEST4.

    5. Execute o script Ant. O script Ant atualiza o arquivo EAR original com os perfis serializados modificados.
      Evitar Problemas Evitar Problemas: Verifique se você possui db2jcc.jar no caminho de classe. Esse arquivo deve ter sido incluído na variável de ambiente do caminho de classe quando o DB2 V8 FixPak1 foi instalado. gotcha
      Um comando Ant de amostra é semelhante a:
      ws_ant -Dwork.dir=tmp 
             -Dscript.property.file=other.properties
             -buildfile application_name.ear.xml
      onde:
      • -buildfile especifica o arquivo XML a ser criado.
      • -Dscript.property.file especifica um arquivo de propriedades diferente. Esse parâmetro é opcional. Se quiser que seu script Ant usa um outro arquivo no lugar de application_name.ear.properties, especifique a propriedade Dscript.property.file ao executar o script.
      • -Dwork.dir especifica um diretório de trabalho temporário para o script. O script irá criar e excluir arquivos e subdiretórios desse diretório. Se o diretório de trabalho contiver arquivos e diretórios existentes com o mesmo nome dos arquivos e diretórios usados pelo script, o script apagará ou substituirá os arquivos e diretórios. O script cria e usa um diretório chamado tmp como seu diretório de trabalho.
    6. Continue instalando o aplicativo no servidor de aplicativos.
  6. Execute a ferramenta db2sqljcustomize para customizar os perfis SQLJ que correspondem a cada arquivo JAR do enterprise bean. Ao gerar o código de implementação, os perfis serializados (arquivos com uma extensão .ser), especificados para o aplicativo, são criados. Esses perfis existem no mesmo diretório de seus arquivos SQLJ e os arquivos devem ser customizados para o ambiente antes de serem usados. Ao executar o customizador do DB2 SQLJ nos perfis serializados, você cria SQL estática no banco de dados que o DB2 usará no tempo de execução. A fase de personalização cria quatro pacotes de banco de dados que contêm SQL estática, uma para cada nível de isolamento.
    1. Opcional: Considere usar a ferramenta customizadora de SQLJ para ativar o armazenamento em cache do contexto para as conexões da origem de dados de seu aplicativo. O DB2 V8.1 fix pack 6 fornece a opção de novo armazenamento em cache com a ferramenta db2sqljcustomize chamada db2optimize. Você pode executar essa opção se seu aplicativo utilizar o contexto de conexão explícita em vez do contexto padrão.
      Evitar Problemas Evitar Problemas:
      • O suporte ao armazenamento em cache do contexto SQLJ requer o DB2 com o driver IBM® JCC, ou a versão 2.2 ou posterior do driver JDBC do DB2 Universal com APAR PQ87786 aplicado.
      • Se quiser ativar o armazenamento em cache do contexto para um aplicativo ou um bean BMP que armazena em cache conexões além dos limites das transações, não será possível utilizar conexões que podem ser compartilhadas. Use o padrão get/use/close de uso de conexão ao chamar a opção db2optimize ou ocorrerá uma exceção de objeto fechado. O código a seguir fornece um exemplo de uso de conexão incorreto para armazenamento em cache de contexto:
        utx.begin(); 
             cons =ds.getConnection( 
             request.getParameter("db.user"), 
             request.getParameter("db.password"));         
                 cmctx1 = new CM_context(cons);                       
                 #sql [cmctx1] {DELETE FROM cmtest WHERE id=1};     
         utx.commit(); 
               //A instrução a seguir verifica o resultado: 
                 #sql [cmctx1] cursor1 = {SELECT id, name FROM cmtest WHERE id=1};
        Nesse caso, a instrução Select traz à tona uma exceção de objeto fechado. Para evitar que ocorra a exceção, feche a conexão antes de consolidar a transação. Em seguida, obtenha uma nova conexão e um novo contexto antes de executar a instrução Select.
      gotcha
      O seguinte código de exemplo demonstra a sintaxe correta para executar a opção do perfil serializado:
      sqlj -db2optimize SQLJTransactionTest.sqlj
      db2sqljcustomize -url jdbc:db2://localhost:50000/dbname -user USER_NAME -password PASSWORD
      SQLJTransactionTest_SJProfile0.ser
    2. Execute a ferramenta db2sqljcustomize para customizar os perfis SQLJ. Depois de executar com êxito o comando db2sqljcustomize, perfis customizados existirão no diretório do qual você emitiu o comando. Se você executar o comando db2sqljcustomize do diretório que contém os perfis serializados que não foram customizados, as versões customizadas substituirão as versões anteriores que tinham os mesmos nomes de arquivos.
      A sintaxe recomendada para executar o comando db2sqljcustomize é:
      db2sqljcustomize -url JDBC_URL -user USER_NAME  -password PASSWORD [-rootpkgname PACKAGE_NAME] SERIALIZED_PROFILE1 SERIALIZED_PROFILE2 ...
      onde:
      • JDBC_URL é a URL JDBC usada para acessar o sistema DB2 no qual suas tabelas residem.
      • USER_NAME é um nome de usuário válido para o sistema DB2 no qual suas tabelas residem.
      • PASSWORD é a senha para o nome do usuário especificado.
      • PACKAGE_NAME é um nome de membro de PDS (Partitioned Data Set) válido, com até sete caracteres de comprimento. Cada um dos quatro pacotes criados pelo customizador de perfis começa com este nome e é anexado com um número de 1 a 4. Se você personalizar somente um perfil serializado, esse valor será padronizado como uma versão mais curta do nome do perfil serializado e o parâmetro -rootpkgname não será necessário. Se você personalizar mais de um perfil serializado com o mesmo comando, não há valor padrão e o parâmetro -rootpkgname é requerido.
      • SERIALIZED_PROFILE# é o nome do perfil serializado que está sendo personalizado.
        • Para personalizar mais de um perfil serializado com o mesmo comando, liste vários arquivos, separados por espaços.
        • Como alternativa, você pode especificar o parâmetro -rootpkgname para customizar mais do que um perfil serializado com o mesmo comando.
      Nota: As seguintes opções fornecem mais controle sobre o processo de customização:
      • -automaticbind yes especifica para executar o customizador do DB2 SQLJ nos perfis serializados para criar SQL estática no banco de dados que o banco de dados usará no tempo de execução. A fase de personalização cria quatro pacotes de banco de dados que contêm SQL estática, uma para cada nível de isolamento.
      • -onlinecheck NO e -bindoptions "VALIDATE RUN" especificam configurações para ignorar erros durante uma customização de perfil e garantir uma customização bem-sucedida.
  7. Atualize o arquivo JAR para os enterprise beans com os perfis serializados.
  8. Use o comando jar para substituir os perfis serializados em seu arquivo JAR por perfis customizados.
    Evitar Problemas Evitar Problemas: Coloque os perfis customizados em um local que faça parte do caminho de classe do aplicativo e deixe-os à frente dos perfis serializados que não foram customizados em seu arquivo JAR. Se você decidir substituir os perfis serializados em seu arquivo JAR, mantenha a estrutura de diretório na qual os perfis existem.gotcha
  9. Compacte o arquivo JAR para o enterprise bean, os servlets, e os perfis serializados em um arquivo EAR (enterprise archive).
  10. Instale o aplicativo no servidor de aplicativos.
    Evitar Problemas Evitar Problemas: Não selecione Implementar enterprise beans durante o processo de instalação do aplicativo no console administrativo. Se você implementar novamente os enterprise beans do console administrativo, perderá as alterações de customização que você fez.gotcha

Ícone que indica o tipo de tópico Tópico de Tarefa



Ícone de registro de data e hora Última atualização: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tdat_sqljcustwithtool
Nome do arquivo: tdat_sqljcustwithtool.html