Configuración de métodos asíncronos de Enterprise JavaBeans

Puede configurar el contenedor EJB para que utilice una instancia ContextService para controlar qué contextos de hebra gestionada se capturan cuando se llama a un método EJB asíncrono. Los contextos capturados se establecen en la hebra asíncrona antes de iniciar el método EJB.

Acerca de esta tarea

Cuando está habilitada la seguridad de la aplicación, solo se propaga el contexto de seguridad a las hebras en las cuales se han iniciado métodos EJB asíncronos. La configuración de una instancia de ContextService para alterar temporalmente el comportamiento predeterminado es útil cuando se deben propagar contextos adicionales a las hebras asíncronas.

Antes de iniciar el método EJB en una hebra asíncrona, el contenedor EJB establece los contextos siguientes que están asociados al EJB.

  • contexto de cargador de clases
  • contexto de metadatos de Java™ EE

Por lo tanto, no es necesario propagar estos contextos desde la hebra de llamada, ya que el contenedor EJB los sustituye con los contextos asociados al EJB de destino.

Procedimiento

  1. Configure el servidor de aplicaciones para que incluya tanto una característica EJB que admite métodos asíncronos, como la característica de simultaneidad en el archivo server.xml. Por ejemplo, añada lo siguiente al archivo server.xml :
    <featureManager>
        <feature>appSecurity-2.0</feature>
        <feature>concurrent-1.0</feature>
        <feature>ejbLite-3.2</feature>
    </featureManager>
  2. Configure una instancia de ContextService para capturar y propagar los contextos deseados en el archivo server.xml . Este ejemplo define una configuración de ContextService que es equivalente al comportamiento predeterminado para métodos asíncronos:
    <contextService id="SameAsNoConfigAsyncContextService">
        <securityContext/>
    </contextService>

    Si el contexto de seguridad no está incluido en la definición de ContextService, no se captura. ni se propaga. La definición de ContextService es una sustitución del comportamiento predeterminado, no un añadido.

    For z/OS platformsEste ejemplo define una configuración de ContextService que también captura y propaga el contexto de z/OS WLM:
    <contextService id="EJBAsyncContextService">
        <securityContext/>
        <zosWLMContext defaultTransactionClass="TRAN1"/>
    </contextService>

    Es posible que sea necesaria una configuración adicional específica del contexto y la característica, en función de los contextos adicionales que se capturan y propagan.

  3. Configure el contenedor EJB para utilizar la configuración ContextService específica en el archivo server.xml. Por ejemplo:
    <ejbContainer>
        <asynchronous contextServiceRef="EJBAsyncContextService"/>
    </ejbContainer>

Icono que indica el tipo de tema Tema de tarea

Nombre de archivo: twlp_config_ejbasynch.html