Utilizando Beans de Inicialização

Há dois tipos de beans de inicialização: beans de inicialização do aplicativo e beans de inicialização do módulo.

Sobre Esta Tarefa

Recurso Reprovado Recurso Reprovado: Os recursos fornecidos com os beans de sessão singleton de inicialização (especificação EJB 3.1) fazem com que a função dos beans de inicialização de propriedade do WebSphere Application Server sejam reprovados.depfeat

Um bean de inicialização de módulos é um bean de sessão que é carregado quando um arquivo Jar EJB é iniciado. Os beans de inicialização de módulo permitem que aplicativos Java™ Platform Enterprise Edition (Java EE) executem a lógica de negócios automaticamente sempre que um módulo EJB for iniciado ou parado normalmente. Um bean de inicialização de aplicativo é um bean de sessão que é carregado quando um aplicativo é iniciado. Os beans de inicialização de aplicativos permitem que os aplicativos Java EE executem a lógica de negócios automaticamente, sempre que um aplicativo é iniciado ou parado normalmente.

Os beans de inicialização são especialmente úteis quando utilizados com recursos de beans assíncronos. Por exemplo, um bean de inicialização pode criar um objeto de alarme que utilize Java Message Service (JMS) para publicar periodicamente mensagens de pulsação sobre um tópico conhecido. Isso permite que os clientes e outros aplicativos de servidor determinem se o aplicativo está disponível. Consulte Ativando um aplicativo para aguardar que um mecanismo do sistema de mensagens inicie o artigo se estiver usando o provedor JMS padrão.

Procedimento

  1. Para os beans de inicialização de aplicativos, utilize a interface home, com.ibm.websphere.startupservice.AppStartUpHome, para designar um bean como um bean de inicialização de aplicativo. Para os beans de inicialização de módulos, utilize a interface home, com.ibm.websphere.startupservice.ModStartUpHome, para designar um bean como um bean de inicialização de módulo.
  2. Para beans de inicialização de aplicativos, utilize a interface remota, com.ibm.websphere.startupservice.AppStartUp, para definir os métodos start() e stop() no bean. Para beans de inicialização de módulos, utilize a interface remota, com.ibm.websphere.startupservice.ModStartUp, para definir os métodos start() e stop() no bean.

    O método start() do bean de inicialização é chamado quando o módulo ou o aplicativo é iniciado e contém a lógica de negócios a ser executada no tempo de inicialização do módulo ou do aplicativo.

    O método start() retorna um valor booleano. True indica que a lógica de negócios no método start() foi executada com êxito. No entanto, False indica que a lógica de negócios no método start() não foi totalmente executada. Um valor de retorno de False também indica ao Application Server que a inicialização do aplicativo foi interrompida.

    Os métodos stop() do bean de inicialização são chamados quando o módulo ou o aplicativo é parado e contém a lógica de negócios a ser executada no tempo de parada do módulo ou do aplicativo. Qualquer exceção emitida por um método stop() é apenas registrada. Nenhuma outra ação é executada.

    Os métodos start() e stop() nunca devem utilizar o atributo de transação TX_MANDATORY. Uma transação global não existe no encadeamento quando os métodos start() ou stop() são chamados. Qualquer outro atributo TX_* pode ser utilizado. Se TX_MANDATORY for utilizado, será registrada uma exceção e o início do aplicativo será interrompido.

    Os métodos start() e stop() da interface remota utilizam o modo Executar Como. O modo Executar Como especifica as informações de credenciais a serem utilizadas pelo serviço de segurança para determinar as permissões que um proprietário tem em vários recursos. Se a segurança estiver ativada, o modo Executar Como precisa ser definido em todos os métodos chamados. A identidade do bean sem essa definição não é definida.

    Não há restrições sobre qual código os métodos start() e stop() podem executar, porque o modelo de programação completo do Application Server está disponível para estes métodos.

  3. Utilize um inteiro da propriedade de ambiente opcional, wasStartupPriority, para especificar a ordem de início de diversos beans de inicialização no mesmo arquivo Java Archive (JAR). Se a propriedade de ambiente for localizada e for do tipo errado, a inicialização do aplicativo será interrompida. Se nenhum valor de prioridade for especificado, a prioridade padrão 0 será utilizada. Recomenda-se especificar a propriedade de prioridade. Os beans que especificaram uma prioridade são classificados utilizando essa propriedade. Os beans com prioridades numericamente mais baixas são executados primeiro. Os beans com a mesma prioridade são executados em uma ordem indefinida. Todas as prioridades devem ser inteiros positivos. Os beans são parados na ordem oposta à da prioridade de início. Os valores de prioridade para os beans de inicialização do módulo e os beans de inicialização do aplicativo são mutuamente exclusivos. Todos os módulos serão iniciados antes de o aplicativo ser declarado como iniciado e, portanto, os métodos start() para beans de inicialização do módulo em um aplicativo serão chamados antes dos métodos start() para beans de inicialização de aplicativo. Da mesma forma, todos os métodos stop() dos beans de inicialização de aplicativos para um arquivo Java Archive (JAR) específico serão chamados antes de quaisquer métodos stop() de beans de inicialização de módulos para esse JAR.
    Nota: O número inteiro da propriedade do ambiente wasStartupPriority não pode ser configurado por meio de um comando ou do console administrativo. Este número inteiro da propriedade do ambiente é uma entrada de ambiente EJB que deve ser configurada por um desenvolvedor de aplicativos, não um administrador. Configure o valor de número inteiro no arquivo ejb-jar.xml, conforme mostrado no exemplo a seguir:
    <env-entry>
      <env-entry-name>wasStartupPriority</env-entry-name>
      <env-entry-type>java.lang.Integer</env-entry-type>
      <env-entry-value>3</env-entry-value>
    </env-entry>
    Como com qualquer outra entrada de ambiente EJB, configure um valor de wasStartupPriority separado para cada EJB.
  4. Para beans de inicialização de módulo, a ordem na qual os módulos EJB são iniciados pode ser ajustada por meio do valor Ponderação inicial associado a cada módulo
  5. Para controlar quem pode chamar métodos de bean de inicialização via WebSphere Security, faça o seguinte:
    1. Defina as permissões de método para os métodos Start() e Stop(), como o faria para qualquer módulo EJB. (Consulte Definindo permissões de método para módulos EJB.)
    2. Certifique-se de que o usuário mapeado para a Função de Segurança definida para os métodos de bean de inicialização seja o mesmo usuário definido como ID do Usuário do Servidor no Registro do Usuário.

Í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=tasb_confstb
Nome do arquivo: tasb_confstb.html