Configurar las fábricas de conexiones JMS

Procedimiento

  1. Vaya a Recursos > JMS > Proveedores JMS;
  2. Nota: el ámbito adecuado en el que se van a definir los recursos JMS debe seleccionarse en este punto.
  3. Seleccione el enlace del proveedor de mensajería predeterminado;
  4. Seleccione el enlace Fábricas de conexiones del apartado Propiedades adicionales;
  5. Pulse Nuevo y establezca los siguientes campos:

    Nombre: CuramQueueConnectionFactory

    Nombre JNDI: jms/CuramQueueConnectionFactory

    Descripción: la fábrica para todas las conexiones con colas de aplicación.

    Nombre de bus: CuramBus

    Alias de autenticación la recuperación de XA: igual que para el origen de datos jdbc/curamdb (p.ej. <SERVERNAME> /dbadmin)

    Alias de configuración de correlaciones: DefaultPrinicipalMapping

    Alias de autenticación gestionado por el contenedor: el mismo que el alias de autenticación para la recuperación de XA.

    Deje todo lo demás como el valor por omisión y pulse Aceptar para aplicar los cambios;

  6. Pulse Nuevo y establezca los siguientes campos:

    Nombre: CuramTopicConnectionFactory

    Nombre JNDI: jms/CuramTopicConnectionFactory

    Descripción: la fábrica para todas las conexiones con colas de aplicación.

    Nombre de bus: CuramBus

    Alias de autenticación la recuperación de XA: igual que para el origen de datos jdbc/curamdb (p.ej. <SERVERNAME> /dbadmin)

    Alias de configuración de correlaciones: DefaultPrinicipalMapping

    Alias de autenticación gestionada por el contenedor: igual que para el origen de datos jdbc/curamdb (p.ej. <SERVERNAME> /dbadmin)

    Deje todo lo demás como el valor por omisión y pulse Aceptar para aplicar los cambios;

  7. Guarde los cambios en la configuración maestra tal como se describe en el apartado Guardar la configuración maestra.

Resultados

Nota: Con los pasos de configuración manual anteriores no es posible configurar correctamente la seguridad para las fábricas de conexiones de colas y temas. Para completar esta parte de la configuración debe utilizar la herramienta wsadmin. Para ello siga estos pasos:
  1. Identificar las entradas de la fábrica de conexiones de colas y temas en el archivo de configuración de WebSphere Application Server resources.xml. Este archivo reside en la jerarquía del sistema de archivos de %WAS_HOME%\profiles\<profile_name>\config en función de los convenios de denominación y el ámbito donde se hayan definido los recursos JMS. Por ejemplo, utilizando un ámbito de nivel de nodo con un nombre de perfil AppSrv01, un nombre de célula MyNodeCell y un nombre de nodo MyNode podría encontrar este archivo aquí: C:\WebSphere\profiles\AppSrv01\config\cells\MyNodeCell\nodes\MyNode\resources.xml. En este archivo debe encontrar las entidades <factories> para CuramQueueConnectionFactory y CuramTopicConnectionFactory, y tomar nota del ID para cada uno que comience con J2CConnectionFactory_ seguido de un número (por ejemplo, 1264085551611).
  2. Invoque el script WebSphere wsadmin. En estos ejemplos, el lenguaje es JACL, así que es posible que el argumento -lang jacl no se deba especificar junto con las credenciales de inicio de sesión, etc. según la configuración local.
  3. En wsadmin invoque los mandatos siguientes; una vez más, asumiendo las definiciones del ámbito del nodo, un nombre de celda MyNodeCell, y un nombre de nodo MyNode, el ID de recurso será diferente en su entorno.
    1. $AdminConfig getid /Node:MyNode
    2. $AdminTask showSIBJMSConnectionFactory CuramQueueConnectionFactory(cells/MyNodeCell/nodes/MyNode|resources.xml#J2CConnectionFactory_1264085551611)

      Aquí debe comprobar que authDataAlias no está establecido (p. ej. authDataAlias=); de lo contrario habrá terminado, tal como se muestra en esta salida de ejemplo: wsadmin

      {password=, logMissingTransactionContext=false,
      readAhead=Default, providerEndpoints=,
      shareDurableSubscriptions=InCluster,
      targetTransportChain=, authDataAlias=, userName=,
      targetSignificance=Preferred,
      shareDataSourceWithCMP=false,
      nonPersistentMapping=ExpressNonPersistent,
      persistentMapping=ReliablePersistent, clientID=,
      jndiName=jms/CuramQueueConnectionFactory,
      manageCachedHandles=false,
      consumerDoesNotModifyPayloadAfterGet=false,
      category=, targetType=BusMember, busName=CuramBus,
      description=None,
      xaRecoveryAuthAlias=crouch/databaseAlias,
      temporaryTopicNamePrefix=, remoteProtocol=,
      producerDoesNotModifyPayloadAfterSet=false,
      connectionProximity=Bus, target=,
      temporaryQueueNamePrefix=,
      name=CuramQueueConnectionFactory}
    3. $AdminTask modifySIBJMSConnectionFactory CuramQueueConnectionFactory(cells/MyNodeCell/nodes/MyNode|resources.xml#J2CConnectionFactory_1264085551611) {-authDataAlias crouch/databaseAlias}
    4. $AdminConfig save
    5. Puede volver a mostrar el recurso para verificar el cambio.
    6. Repita los pasos para CuramTopicConnectionFactory.
    7. Reinicie el servidor de aplicaciones.