The bounce script will take the input as WebLogic instance name.
Then the script should do search for the corresponding Java Process id of given WebLogic instance.
That Java Process ID can be used for finding:
1. Thread dump
2. Domain directory
3. Shutdown instance (kill the process)
Above 1, 3 are commonly used commands but 2nd one required when situation like this, on the same machine if there exists multiple WebLogic domain instances then how to find the WebLogic instance started from? Here, I need to find the origin directory of startManagedWebLogic.sh used which gives the WebLogic domain directory. How to resolve this? The solution is pwdx command in Solaris gives you this directory path by passing process id to it.
This solution gives me to start the WebLogic instance which is residing in irrespective WebLogic domain. That's all I need to make the bounce script.
The bounce script goes like this
Then the script should do search for the corresponding Java Process id of given WebLogic instance.
That Java Process ID can be used for finding:
1. Thread dump
2. Domain directory
3. Shutdown instance (kill the process)
Above 1, 3 are commonly used commands but 2nd one required when situation like this, on the same machine if there exists multiple WebLogic domain instances then how to find the WebLogic instance started from? Here, I need to find the origin directory of startManagedWebLogic.sh used which gives the WebLogic domain directory. How to resolve this? The solution is pwdx command in Solaris gives you this directory path by passing process id to it.
This solution gives me to start the WebLogic instance which is residing in irrespective WebLogic domain. That's all I need to make the bounce script.
The bounce script goes like this
#==========================================================
# This script you can keep in common accessing PATH
# such as in $JAVA_HOME/bin
# For WebLogic instance take ThreadDump, Shutdown, and Start
#===========================================================
flag=0
if [ "$1" = "" ]; then
echo "Usage : $0 [instance]"
exit
else
instance="$1"
pid=`jps -v|grep $instance|awk '{print $1}'`
echo 'pid ' $pid
domainPath=` pwdx $pid |awk '{print $2}'`
kill -3 $pid
sleep 3
kill -3 $pid
sleep 3
kill -3 $pid
#Now shutting down the instance here
kill -9 $pid
#verifying the instance is existance if not wait
while :
do
jps -v |grep $instance
if [ $? -eq 1 ]; then
echo 'kill success'
flag=`expr $flag + 1`
break;
else
echo 'kill failed... sleeping 1 sec'
sleep 1
fi
done
#Once kill is success then you can proceed for Start it
# Here you can call startManagedWebLogic.sh script
if [ $flag -gt 0 ]; then
. ${domainPath}/startinstance.sh $instance
fi
fi
No comments:
Post a Comment