Modificación de los valores de agrupación de conexiones con la herramienta wsadmin

Puede utilizar la herramienta de creación de scripts wsadmin para cambiar los valores de agrupación de conexiones.

Acerca de esta tarea

La herramienta wsadmin ejecuta scripts. Puede utilizar la herramienta wsadmin para gestionar la instalación y la configuración de WebSphere Application Server, el despliegue de aplicaciones y las operaciones de tiempo de ejecución del servidor. El producto sólo da soporte a los lenguajes de script Jacl y Jython. Para obtener más información acerca de la herramienta wsadmin, consulte el tema Inicio del cliente de creación de scripts de wsadmin.

Para utilizar la herramienta wsadmin para cambiar los valores de agrupación de conexiones:

Procedimiento

  1. Inicie un mandato de script. Existen varias opciones para ejecutar mandatos de creación de scripts, desde ejecutarlos interactivamente hasta ejecutarlos en un perfil.

    Para cambiar los valores de agrupación de conexiones, utilice los mandatos getAttribute y setAttribute, ejecutados contra los diversos objetos de valores.

    Por ejemplo, para cambiar el valor de tiempo de espera de conexión, los mandatos son:
    $AdminControl getAttribute $objectname connectionTimeout
    $AdminControl setAttribute $objectname connectionTimeout 200 
    donde:
    • $ es un operador Jacl para sustituir un nombre de variable por su valor
    • getAttribute y setAttribute son los mandatos
    • connectionTimeout es el objeto cuyo valor va a restablecer
  2. Para obtener ejemplos de código de Jacl de cada uno de los valores de agrupación de conexiones, consulte el tema Ejemplo: modificación de los valores de agrupación de conexiones con la herramienta wsadmin.

Ejemplo: modificación de los valores de la agrupación de conexiones con la herramienta wsadmin.

Mediante el objeto AdminControl de wsadmin, puede realizar cambios del script en los valores de la agrupación de conexiones

La herramienta wsadmin ejecuta scripts solamente en los lenguajes Jacl y Jython. Debe iniciar el cliente de scripts de wsadmin antes de realizar ninguna otra tarea con scripts. Para obtener más información, consulte el tema Inicio del cliente de scripts wsadmin.

Para obtener más información sobre el objeto de scripts AdminControl, consulte el tema Utilización del objeto AdminControl para la administración con scripts.

El tiempo de espera de la conexión puede cambiarse en cualquier momento siempre que esté activa la agrupación. Cuando cambia un valor de tiempo de espera excedido, el tiempo de espera excedido de conexión para todas las solicitudes de conexión en espera cambian por el nuevo valor menos el tiempo que ha esperado ya la conexión, y las solicitudes regresan al estado de espera si no hay conexiones disponibles.

Por ejemplo, si el tiempo de espera de conexión cambia a 300 segundos y una solicitud de conexión ha esperado 100 segundos, la solicitud de conexión espera 200 segundos más si no se pone disponible ninguna conexión.

$AdminControl getAttribute $objectname connectionTimeout
$AdminControl setAttribute $objectname connectionTimeout 200 

Para obtener más información sobre este valor, consulte el tema Valores de agrupación de conexiones. .

El número máximo de conexiones se puede cambiar en cualquier momento excepto en el caso en el que esté activo el soporte de conexión atascada.

Si está activo el soporte de conexión atascada, se realiza un intento de cambiar el número máximo de conexiones. Si falla el intento, se produce una excepción IllegalState. Consulte el tema Valores avanzados de agrupación de conexiones para obtener más información.

Si no está activo el soporte de conexión atascada, el número máximo de conexiones se cambia por el nuevo valor. Si el nuevo valor es mayor que el valor actual, el número de conexiones aumenta al nuevo valor y cualquier solicitud en espera se notifica. Si el nuevo valor es menor que el valor actual y se utiliza el tiempo de espera superado o el tiempo de recopilación, el número de conexiones disminuye al nuevo valor en función de la actividad de la agrupación. Si no se utiliza el tiempo de espera superado ni el tiempo de recopilación, no se realizará ningún intento automático de disminuir el número total de conexiones. Para disminuir manualmente el número de conexiones al nuevo número máximo de conexiones, utilice la función de Mbean purgePoolContents.

$AdminControl getAttribute $objectname maxConnections
$AdminControl setAttribute $objectname maxConnections 200 

Para obtener más información sobre este valor, consulte el tema Valores de agrupación de conexiones.

El número mínimo de conexiones se puede cambiar en cualquier momento.

$AdminControl getAttribute $objectname minConnections
$AdminControl setAttribute $objectname minConnections 200 

Para obtener más información sobre este valor, consulte el tema Valores de agrupación de conexiones.

El tiempo de recopilación se puede cambiar en cualquier momento. El intervalo de tiempo de recopilación se cambia por el nuevo valor en el siguiente intervalo.

$AdminControl getAttribute $objectname reapTime
$AdminControl setAttribute $objectname reapTime 30 
Tiempo de espera no utilizado

El tiempo de espera no utilizado se puede cambiar en cualquier momento.

$AdminControl getAttribute $objectname unusedTimeout
$AdminControl setAttribute $objectname unusedTimeout 900 

Para obtener más información sobre este valor, consulte el tema Valores de agrupación de conexiones.

El tiempo de espera superado se puede cambiar en cualquier momento.

$AdminControl getAttribute $objectname agedTimeout
$AdminControl setAttribute $objectname agedTimeout 900 

Para obtener más información sobre este valor, consulte el tema Valores de agrupación de conexiones.

La política de depuración se puede cambiar en cualquier momento.

$AdminControl getAttribute $objectname purgePolicy
$AdminControl setAttribute $objectname purgePolicy "Failing Connection Only" 

Para obtener más información sobre este valor, consulte el tema Valores de agrupación de conexiones.

El soporte de conexión de avalancha se inicia si el umbral de avalancha es > -1 y el intervalo de creación de avalancha es > 0. Las propiedades de protección contra avalancha se pueden cambiar en cualquier momento.

$AdminControl getAttribute $objectname surgeCreationInterval
$AdminControl setAttribute $objectname surgeCreationInterval 30
$AdminControl getAttribute $objectname surgeThreshold
$AdminControl setAttribute $objectname surgeThreshold 15

Para obtener más información sobre este valor, consulte el tema Valores de agrupación de conexiones.

Se realiza un intento de cambiar las propiedades stuckTime, stuckTimerTime o stuckThreshold. Si falla el intento, se produce una excepción IllegalState. La agrupación no puede tener solicitudes activas o conexiones activas durante esta solicitud. Para que se inicie el soporte de conexión atascada, los tres valores de propiedad stuck (atascado) deben ser mayores que 0 y el valor de número máximo de conexiones debe ser > 0.

Si la agrupación de conexiones está atascada, no puede modificar las propiedades stuck ni de número máximo de conexiones. Si está atascado, hay conexiones activas.

$AdminControl getAttribute $objectname stuckTime
$AdminControl setAttribute $objectname stuckTime 30
$AdminControl getAttribute $objectname stuckTimerTime
$AdminControl setAttribute $objectname stuckTimerTime 15
$AdminControl getAttribute $objectname stuckThreshold
$AdminControl setAttribute $objectname stuckThreshold 10 

Para obtener más información sobre este valor, consulte el tema Valores avanzados de agrupación de conexiones.

Se inicia el soporte de conexión de prueba si la propiedad testConnection está establecida en true y el intervalo es > 0. Las propiedades de conexión de prueba se pueden cambiar en cualquier momento.

$AdminControl getAttribute $objectname testConnection
$AdminControl setAttribute $objectname testConnection 30
$AdminControl getAttribute $objectname testConnectionInterval
$AdminControl setAttribute $objectname testConnectionInterval 15

Para obtener más información sobre este valor, consulte el tema Servicio de conexión de prueba.

$AdminControl invoke $objectname freePoolDistributionTableSize
$AdminControl invoke $objectname numberOfFreePoolPartitions
$AdminControl invoke $objectname numberOfSharedPoolPartitions
$AdminControl invoke $objectname gatherPoolStatisticalData
$AdminControl invoke $objectname enablePoolStatisticalData

Para obtener más información sobre este valor, consulte el tema Valores de agrupación de conexiones.

Las operaciones de mostrar agrupación se pueden modificar en cualquier momento.

$AdminControl invoke $objectname showAllPoolContents
$AdminControl invoke $objectname showPoolContents
$AdminControl invoke $objectname showAllocationHandleList

PurgePool se puede cambiar en cualquier momento.

$AdminControl invoke $objectname purgePoolContents normal
$AdminControl invoke $objectname purgePoolContents immediate
Tanto para los orígenes de datos como para las fábricas de conexiones, si se selecciona la opción normal, la herramienta depurada se comporta del modo siguiente después de la llamada a la depuración:
  • Las transacciones en curso existentes seguirán funcionando.
  • Se aceptan solicitudes de conexión compartida.
  • Las conexiones libres se limpian y se destruyen.
  • Las conexiones en uso (conexiones en transacciones) se limpian y destruyen cuando se devuelven a la agrupación de conexiones.
  • Las llamadas a close() emitidas en cualquiera de las conexiones obtenidas antes de la llamada a purgePoolContents se realizan de forma síncrona (esperan a que el controlador jdbc vuelva antes de continuar).
  • Las solicitudes de nuevas conexiones (no manejadores a conexiones anteriores existentes) se aceptan.
Para los orígenes de datos basados en el adaptador de recursos relacional incorporado de WebSphere, si se selecciona la opción inmediata, la agrupación depurada se comporta tal como se indica a continuación después de la llamada de depuración:
  • No se permite que se inicien transacciones nuevas en ninguna conexión obtenida antes de la llamada a purgePoolContents. En su lugar, se emite una excepción StaleConnectionException.
  • No se permite que se distribuyan manejadores nuevos en ninguna conexión obtenida antes de la llamada a purgePoolContents. En su lugar, se emite una excepción StaleConnectionException.
  • Las transacciones en proceso existentes siguen en funcionamiento, pero cualquier actividad nueva sobre la conexión depurada provocará una StaleConnectionException o una excepción XAER_FAIL.
  • Las llamadas a close() emitidas en cualquier conexión obtenida antes de la llamada a purgePoolContents() se realizan de forma asíncrona (sin tiempo de espera).
  • Las solicitudes de nuevas conexiones (no manejadores a conexiones anteriores existentes) se aceptan.
  • El número de conexiones se reduce de forma inmediata. Esto puede provocar que el número total de conexiones del servidor de aplicaciones quede temporalmente desincronizado con el número total de conexiones de la base de datos.
Para los orígenes de datos que no están basados en el adaptador de recursos relacional incorporado de WebSphere y todas las fábricas de conexiones, si se selecciona la opción inmediata, la agrupación depurada se comporta tal como se indica a continuación después de la llamada de depuración:
  • Las llamadas a close() emitidas en cualquier conexión obtenida antes de la llamada a purgePoolContents() se realizan de forma asíncrona (sin tiempo de espera)
  • Las solicitudes de nuevas conexiones (no manejadores a conexiones anteriores existentes) se aceptan.
  • El número de conexiones se reduce de forma inmediata. Esto puede provocar que el número total de conexiones del servidor de aplicaciones quede temporalmente desincronizado con el número total de conexiones del recurso de programa de fondo.

La pausa y la reanudación se pueden cambiar en cualquier momento.

$AdminControl invoke $objectname pause
$AdminControl invoke $objectname resume

Los mandatos wsadmin se utilizan para acceder a los MBeans de fábricas de conexiones y orígenes de datos. Los MBeans pueden recuperar o actualizar propiedades de fábricas de conexiones o de orígenes de datos.

Para obtener una lista de nombres de objetos de fábrica de conexiones J2C o de Mbean de origen de datos, en la línea de mandatos de wsadmin utilice uno de los siguientes mandatos de control administrativo:

$AdminControl queryNames *:type=J2CConnectionFactory,*
$AdminControl queryNames *:type=DataSource,*

Salida de ejemplo de consulta de DataSource:

wsadmin>$AdminControl queryNames *:type=DataSource,*
"WebSphere:name=Default Datasource,process=server1,platform=dynamicproxy,node=
system1Node01,JDBCProvider=Derby JDBC Provider,j2eeType=JDBCDataSource,J2EESe
rver=server1,Server=server1,version=6.0.0.0,type=DataSource,mbeanIdentifier=cell
s/system1Node01Cell/nodes/system1Node01/servers/server1/resources.xml#DataSource
_1094760149902,JDBCResource=Derby JDBC Provider,cell=system1Node01Cell"

Utilizando el nombre de objeto de la fábrica de conexiones J2C o del MBean de origen de datos, puede acceder al MBean. El nombre sigue a la expresión webSphere:name=. En el ejemplo siguiente, para el primer conjunto, el nombre de origen de datos predeterminado se establece en el nombre de variable. Para el segundo conjunto, el nombre de objeto se establece en la variable objectName.

Ejemplo con Default DataSource:

- wsadmin>set name [list Default Datasource] 

Default Datasource

- wsadmin>set objectName [$AdminControl queryNames *:name=$name,*]


"WebSphere:name=Default Datasource,process=server1,platform=dynamicproxy,node=
system1Node01,JDBCProvider=Derby JDBC Provider,j2eeType=JDBCDataSource,J2EESe
rver=server1,Server=server1,version=6.0.0.0,type=DataSource,mbeanIdentifier=cell
s/system1Node01Cell/nodes/system1Node01/servers/server1/resources.xml#DataSource
_1094760149902,JDBCResource=Derby JDBC Provider,cell=system1Node01Cell"

Ahora puede utilizar el objectName para obtener ayuda sobre atributos y operaciones disponibles para este Mbean.

$Help attributes $objectName
$Help operations $objectName

Para obtener o establecer un atributo o utilizar una operación, utilice uno de los mandatos siguientes:

$AdminControl getAttribute $objectName "attribute name"
$AdminControl setAttribute $objectName "attribute name" value 
$AdminControl invoke $objectName "operation"

Atributo, ejemplos de operación:

Obtenga y establezca un atributo maxConnections. Si no
obtiene ningún valor, un valor nulo, o java.lang.IllegalStateException, la fábrica de conexiones o el origen de datos de este MBean
no se ha creado. La fábrica de conexiones o el origen de datos se crea en la primera
búsqueda de JNDI. Para este ejemplo, el Default DataSource debe utilizarse para que funcionen get, set e invoke.

wsadmin>$AdminControl getAttribute $objectName maxConnections
10

wsadmin>$AdminControl setAttribute $objectName maxConnections 20

wsadmin>$AdminControl getAttribute $objectName maxConnections
20

Using invoke

wsadmin>$AdminControl invoke $objectName showPoolContents 

PoolManager name:DefaultDatasource
PoolManager object:746354514
Total number of connections: 3 (max/min 20/1, reap/unused/aged 180/1800/0, 
connectiontimeout/purge 1800/EntirePool)
                               (testConnection/inteval false/0, stuck timer/time
/threshold 0/0/0, surge time/connections 0/-1)
Shared Connection information (shared partitions 200)
  No shared connections

Free Connection information (free distribution table/partitions 5/1)
  (2)(0)MCWrapper id 5c6af75b  Managed connection WSRdbManagedConnectionImpl@4b5
a775b  State:STATE_ACTIVE_FREE
  (2)(0)MCWrapper id 3394375a  Managed connection WSRdbManagedConnectionImpl@328
5f75a  State:STATE_ACTIVE_FREE
  (2)(0)MCWrapper id 4795b75a  Managed connection WSRdbManagedConnectionImpl@46a
4b75a  State:STATE_ACTIVE_FREE

  Total number of connections in free pool: 3
UnShared Connection information
  No unshared connections

Icon that indicates the type of topic Task topic



Timestamp icon Last updated: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tdat_chgconwsadmin
File name: tdat_chgconwsadmin.html