Enable password in JBOSS_HOME/server/JBOSS_SERVER_NAME/conf/props/jmx-console-users.properties
You can then punch in bean calls such as the following…
[sa-jboss@servername ~]$ /usr/local/jboss/bin/twiddle.sh --server=servername:1599 -u admin -p admin get "jboss.jca:service=ManagedConnectionPool,name=atgcatalogb_ds" MinSize MinSize=10 [sa-jboss@servername ~]$ /usr/local/jboss/bin/twiddle.sh --server=servername:1599 -u admin -p admin set "jboss.jca:service=ManagedConnectionPool,name=atgcatalogb_ds" MinSize 40 MinSize=40 [sa-jboss@servername ~]$ /usr/local/jboss/bin/twiddle.sh --server=servername:1599 -u admin -p admin get "jboss.jca:service=ManagedConnectionPool,name=atgcatalogb_ds" MinSize MinSize=40 [sa-jboss@servername bin]$ /usr/local/jboss/bin/twiddle.sh --server=servername:1599 -u admin -p admin get "jboss.jca:service=ManagedConnectionPool,name=atgcataloga_ds" StateString StateString=Started [sa-jboss@servername bin]$ /usr/local/jboss/bin/twiddle.sh --server=servername:1599 -u admin -p admin get "jboss.jca:service=ManagedConnectionPool,name=atgcataloga_ds" ConnectionCount ConnectionCount=40 [sa-jboss@servername bin]$ /usr/local/jboss/bin/twiddle.sh --server=servername:1599 -u admin -p admin invoke "jboss.jca:service=ManagedConnectionPool,name=atgcataloga_ds" flush 'null' [sa-jboss@servername bin]$ /usr/local/jboss/bin/twiddle.sh --server=servername:1599 -u admin -p admin get "jboss.jca:service=ManagedConnectionPool,name=atgcataloga_ds" ConnectionCount ConnectionCount=0 [sa-jboss@servername bin]$ /usr/local/jboss/bin/twiddle.sh --server=servername:1599 -u admin -p admin invoke "jboss.jca:service=ManagedConnectionPool,name=atgcataloga_ds" testConnection true [sa-jboss@servername bin]$ /usr/local/jboss/bin/twiddle.sh --server=servername:1599 -u admin -p admin get "jboss.jca:service=ManagedConnectionPool,name=atgcataloga_ds" ConnectionCount ConnectionCount=40 [sa-jboss@servername bin]$
You can completely refresh pools with something like the following…
#!/bin/sh #-------------------------------------------------------------------------------------------------------------------------------------------------- function expPrint { echo -e $(date)'\t'$MESSAGE } #-------------------------------------------------------------------------------------------------------------------------------------------------- INSTANCE=$1 PID=$(ps -ef | grep java | awk -v INSTANCE=$INSTANCE '$(NF - 2) == INSTANCE {print $2}') echo -e $(date)'\t'"java PID is $PID" export PORT=$(netstat -anp 2>&1 | awk -v PID=$PID '$NF == PID"/java" && $6 == "LISTEN" && $4 ~ ":..99" {split($4,t,":");print t[2]}') if [ ! $PORT ]; then echo "can't find port!" exit fi echo -e $(date)'\t'"connecting to JMX port $PORT on $HOSTNAME for instance $INSTANCE" for pool in {atgcataloga_ds,atgcatalogb_ds,atgcore_ds}; do MESSAGE="flushing ${pool}..." expPrint MESSAGE=$(/usr/local/jboss/bin/twiddle.sh --server=${HOSTNAME}:${PORT} -u admin -p admin get "jboss.jca:service=ManagedConnectionPool,name=${pool}" StateString) expPrint MESSAGE=$(/usr/local/jboss/bin/twiddle.sh --server=${HOSTNAME}:${PORT} -u admin -p admin get "jboss.jca:service=ManagedConnectionPool,name=${pool}" ConnectionCount) expPrint MESSAGE=$(/usr/local/jboss/bin/twiddle.sh --server=${HOSTNAME}:${PORT} -u admin -p admin invoke "jboss.jca:service=ManagedConnectionPool,name=${pool}" flush) expPrint MESSAGE=$(/usr/local/jboss/bin/twiddle.sh --server=${HOSTNAME}:${PORT} -u admin -p admin get "jboss.jca:service=ManagedConnectionPool,name=${pool}" ConnectionCount) expPrint MESSAGE=$(/usr/local/jboss/bin/twiddle.sh --server=${HOSTNAME}:${PORT} -u admin -p admin invoke "jboss.jca:service=ManagedConnectionPool,name=${pool}" testConnection) expPrint sleep 3 #give time to repopulate pool before checking. could add a handler here to alert if pool is not re-populated... MESSAGE=$(/usr/local/jboss/bin/twiddle.sh --server=${HOSTNAME}:${PORT} -u admin -p admin get "jboss.jca:service=ManagedConnectionPool,name=${pool}" ConnectionCount) expPrint MESSAGE="---------------------------------------------------------------------" expPrint done #---------------------------------------------------------------------------------------------------------------------------------------------------