Link to home
Start Free TrialLog in
Avatar of dolphin_g
dolphin_g

asked on

Java Thread Programming

Trying to write a program, where in The current thread tries to close the Singleton Socket Connection that was created earlier. My singleton Socket is running on a
JBoss Server, I have a client which is run to do the necessary job on the server by invoking a program through JBoss remoting.
The problem is that the program I run to close the socket does not return, but is waiting for the Socket handle.

The code is attached.

/**
 * 
 */
package com.tss.wireless.wpi.sockets;
 
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.Socket;
import java.net.SocketException;
import java.net.UnknownHostException;
import java.util.ResourceBundle;
 
import org.apache.log4j.Logger;
 
import com.tss.wireless.monitor.HMAClient;
 
 
 
/**
 * <strong>WPISocket</strong>, provides routines to handle the DDS Socket Management.
 * 
 * @author Rama
 */
public class WPISocket {
	
	private static Logger log = Logger.getLogger(WPISocket.class);
 
	private static Socket socket;
	
	private static BufferedReader readLine;
	
	private static PrintWriter writeLine;
	
	private static String hostAddress;
	
	private static int portNo;
	
	/**
	 * Initialization routine for the Host parameters.
	 * @throws IOException 
	 * @throws FileNotFoundException 
	 */
	public static void initSocket(ResourceBundle bundle) throws FileNotFoundException, IOException{
		
		hostAddress = bundle.getString("DDSSocketHostAddress");
		portNo = Integer.valueOf(bundle.getString("DDSSocketPortNo"));
		Logger log = Logger.getLogger(WPISocket.class);
		log.info("WPISocket initialized.");
	}
 
	/**
	 * Creates the Socket.
	 * @return the socket
	 * @throws IOException 
	 * @throws FileNotFoundException 
	 */
	public static Socket getSocket() throws FileNotFoundException, IOException {
		if(socket == null){
			socket = new Socket(hostAddress, portNo);
			socket.setKeepAlive(true);
		}
		return socket;
	}
	
	/**
	 * Returns the Singleton Input Stream object.
	 * @return
	 * @throws FileNotFoundException
	 * @throws IOException
	 */
	public static BufferedReader getInputStream() throws FileNotFoundException, IOException{
		if(readLine == null){
			if(socket == null){
				socket = getSocket();
			}
			readLine = new BufferedReader(new InputStreamReader(socket.getInputStream()));
		}
		return readLine;
	}
	
	/**
	 * Returns the Singleton Output Stream Object.
	 * @return
	 * @throws FileNotFoundException
	 * @throws IOException
	 */
	public static PrintWriter getOutputStream() throws FileNotFoundException, IOException{
		if(writeLine == null){
			if(socket == null){
				socket = getSocket();
			}
			writeLine = new PrintWriter(new OutputStreamWriter(socket.getOutputStream()));
		}	
		return writeLine;
	}
	
	/**
	 * Handles Socket Exceptions. synchronised method, to prevent multiple threads trying to re-connect the socket.
	 * So, as soon as a thread gets handle of this method, checks whether the old thread did establish connection.
	 * 1.Tests if Socket is connected.
	 * 2.Pings the server.
	 * 3.If Exception is thrown again, Tries to constantly establish connection.
	 * 4.Sends an alert to the Status Monitoring System that the socket connection is down.
	 * 5.If the Socket connection is established, the call to this method is returned.
	 */
	public static synchronized void handleSocketException() {
		int i=0;
		while(true){
			log.info("HandleSocketException : Retry Socket Connection "+(++i));
			try{
				if(socket != null){
					socket.isConnected();
					socket.sendUrgentData(1);
				} else {
					connectSocket();
					break;
				}
			}catch(SocketException e){
				try {
					connectSocket();
					break;
				} catch (UnknownHostException e1) {
					HMAClient.sendAlert(e1.getClass().getName(), e1.getMessage());
					log.error("HandleSocketException : Could not create connection to Host "+hostAddress+" @ Port :"+portNo);
				} catch (IOException e1) {
					log.debug("HandleSocketException : "+e.getMessage());
				}
			} catch (UnknownHostException e1) {
				HMAClient.sendAlert(e1.getClass().getName(), e1.getMessage());
				log.error("HandleSocketException : Could not create connection to Host "+hostAddress+" @ Port :"+portNo);
			} catch(IOException e){
				log.debug("HandleSocketException : "+e.getMessage());
			}
		}	
	}
	
	private static void connectSocket() throws UnknownHostException, IOException{
		socket = new Socket(hostAddress,portNo);
		if(socket.isBound()){
			return;
		}
	}
	
	public static void stopSocket(){
		
		synchronized(socket){
			try {
				socket.close();
			} catch (IOException e) {
				
			}
		}
		log.debug("Socket closed");
	}
	
	public static synchronized void closeInputStream(){
		synchronized(socket){
			try {
				socket.getInputStream().close();
			} catch (IOException e) {
				
			}
		}
		log.debug("Socket Input Stream closed");
	}
	
	public static synchronized void closeOutputStream(){
		synchronized(socket){
			try{
				socket.getOutputStream().close();
			}catch(IOException e){
				
			}
		}	
		log.debug("Socket Output Stream closed");
	}
 
}
 
/**********************CLIENT to close Socket********************************/
 
if(arg0.getParameter().equals("init")){
			log.debug("Remoting Server Handler Object invoked.");
			InitializeWPI init = new InitializeWPI();
			init.initialize();
			log.debug("Initialization of server components completed.");
		} else if(arg0.getParameter().equals("closeSocket")){
			log.debug("Close Socket");
			Thread t = Thread.currentThread();
			t.setPriority(Thread.MAX_PRIORITY);
			WPISocket.stopSocket();
		} else if(arg0.getParameter().equals("closeInputstream")){
			log.debug("Close Socket Input Stream");
			Thread t = Thread.currentThread();
			t.setPriority(Thread.MAX_PRIORITY);
			WPISocket.closeInputStream();
		} else if(arg0.getParameter().equals("closeOutputstream")){
			log.debug("Close Socket Output Stream");
			Thread t = Thread.currentThread();
			t.setPriority(Thread.MAX_PRIORITY);
			WPISocket.closeOutputStream();
		}

Open in new window

Avatar of Mick Barry
Mick Barry
Flag of Australia image

do a thread dump and check what it is waiting on

Avatar of dolphin_g
dolphin_g

ASKER


I just tried this, even this app is waiting.

Thread.dumpStack();

Thanks,
Raja
no, I mean dump *all* threads. It sounds like you have a deadloack so you need to see what thread is holding the lock

Thread Group: system : max priority:10, demon:false

    Thread: Reference Handler : priority:10, demon:true, threadId:2, threadState:WAITING

        - waiting on <0x165e4fc> (a java.lang.ref.Reference$Lock)
        java.lang.Object.wait(Native Method)
        java.lang.Object.wait(Object.java:474)
        java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)

    Thread: Finalizer : priority:8, demon:true, threadId:3, threadState:WAITING

        - waiting on <0x9c79d4> (a java.lang.ref.ReferenceQueue$Lock)
        java.lang.Object.wait(Native Method)
        java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:120)
        java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:136)
        java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)

    Thread: Signal Dispatcher : priority:9, demon:true, threadId:7, threadState:RUNNABLE
    Thread: RMI TCP Accept-1098 : priority:5, demon:true, threadId:18, threadState:RUNNABLE

        java.net.PlainSocketImpl.socketAccept(Native Method)
        java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384)
        java.net.ServerSocket.implAccept(ServerSocket.java:450)
        java.net.ServerSocket.accept(ServerSocket.java:421)
        sun.rmi.transport.tcp.TCPTransport.run(TCPTransport.java:340)
        java.lang.Thread.run(Thread.java:595)

    Thread: RMI Reaper : priority:5, demon:false, threadId:20, threadState:WAITING

        - waiting on <0x10276a4> (a java.lang.ref.ReferenceQueue$Lock)
        java.lang.Object.wait(Native Method)
        java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:120)
        java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:136)
        sun.rmi.transport.ObjectTable$Reaper.run(ObjectTable.java:336)
        java.lang.Thread.run(Thread.java:595)

    Thread: GC Daemon : priority:2, demon:true, threadId:21, threadState:TIMED_WAITING

        - waiting on <0xbb3288> (a sun.misc.GC$LatencyLock)
        java.lang.Object.wait(Native Method)
        sun.misc.GC$Daemon.run(GC.java:100)

    Thread: RMI LeaseChecker : priority:5, demon:true, threadId:25, threadState:TIMED_WAITING

        java.lang.Thread.sleep(Native Method)
        sun.rmi.transport.DGCImpl$LeaseChecker.run(DGCImpl.java:310)
        java.lang.Thread.run(Thread.java:595)

    Thread: RMI TCP Accept-1090 : priority:5, demon:true, threadId:32, threadState:RUNNABLE

        java.net.PlainSocketImpl.socketAccept(Native Method)
        java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384)
        java.net.ServerSocket.implAccept(ServerSocket.java:450)
        java.net.ServerSocket.accept(ServerSocket.java:421)
        sun.rmi.transport.tcp.TCPTransport.run(TCPTransport.java:340)
        java.lang.Thread.run(Thread.java:595)

    Thread: RMI TCP Accept-0 : priority:5, demon:true, threadId:33, threadState:RUNNABLE

        java.net.PlainSocketImpl.socketAccept(Native Method)
        java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384)
        java.net.ServerSocket.implAccept(ServerSocket.java:450)
        java.net.ServerSocket.accept(ServerSocket.java:421)
        sun.rmi.transport.tcp.TCPTransport.run(TCPTransport.java:340)
        java.lang.Thread.run(Thread.java:595)

    Thread: RMI RenewClean-[localhost:3139] : priority:5, demon:true, threadId:35, threadState:TIMED_WAITING

        - waiting on <0x1f2bca4> (a java.lang.ref.ReferenceQueue$Lock)
        java.lang.Object.wait(Native Method)
        java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:120)
        sun.rmi.transport.DGCClient$EndpointEntry$RenewCleanThread.run(DGCClient.java:501)
        java.lang.Thread.run(Thread.java:595)

    Thread: RMI TCP Accept-4444 : priority:5, demon:true, threadId:76, threadState:RUNNABLE

        java.net.PlainSocketImpl.socketAccept(Native Method)
        java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384)
        java.net.ServerSocket.implAccept(ServerSocket.java:450)
        java.net.ServerSocket.accept(ServerSocket.java:421)
        sun.rmi.transport.tcp.TCPTransport.run(TCPTransport.java:340)
        java.lang.Thread.run(Thread.java:595)

    Thread: RMI RenewClean-[localhost:1098] : priority:5, demon:true, threadId:116, threadState:TIMED_WAITING

        - waiting on <0x13ed8e9> (a java.lang.ref.ReferenceQueue$Lock)
        java.lang.Object.wait(Native Method)
        java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:120)
        sun.rmi.transport.DGCClient$EndpointEntry$RenewCleanThread.run(DGCClient.java:501)
        java.lang.Thread.run(Thread.java:595)


    Thread Group: main : max priority:10, demon:false

        Thread: DestroyJavaVM : priority:5, demon:false, threadId:11, threadState:RUNNABLE

        Thread Group: jboss : max priority:10, demon:false

            Thread: Timer-0 : priority:5, demon:true, threadId:13, threadState:TIMED_WAITING

                - waiting on <0x9c4164> (a java.util.TaskQueue)
                java.lang.Object.wait(Native Method)
                java.util.TimerThread.mainLoop(Timer.java:509)
                java.util.TimerThread.run(Timer.java:462)

            Thread: Timer-Log4jService : priority:5, demon:true, threadId:16, threadState:TIMED_WAITING

                - waiting on <0x8938a8> (a java.util.TaskQueue)
                java.lang.Object.wait(Native Method)
                java.util.TimerThread.mainLoop(Timer.java:509)
                java.util.TimerThread.run(Timer.java:462)

            Thread: Timer-1 : priority:5, demon:true, threadId:19, threadState:WAITING

                - waiting on <0xe6b46f> (a java.util.TaskQueue)
                java.lang.Object.wait(Native Method)
                java.lang.Object.wait(Object.java:474)
                java.util.TimerThread.mainLoop(Timer.java:483)
                java.util.TimerThread.run(Timer.java:462)

            Thread: SubscriptionWatchDog : priority:5, demon:false, threadId:26, threadState:TIMED_WAITING

                java.lang.Thread.sleep(Native Method)
                org.jboss.ws.extensions.eventing.mgmt.SubscriptionManager$WatchDog.run(SubscriptionManager.java:651)
                java.lang.Thread.run(Thread.java:595)

            Thread: ServerSocketRefresh : priority:5, demon:true, threadId:39, threadState:WAITING

                - waiting on <0x501729> (a java.lang.Object)
                java.lang.Object.wait(Native Method)
                java.lang.Object.wait(Object.java:474)
                org.jboss.remoting.transport.socket.SocketServerInvoker$ServerSocketRefresh.run(SocketServerInvoker.java:827)

            Thread: AcceptorThread[ServerSocket[addr=localhost/127.0.0.1,port=0,localport=4457]] : priority:5, demon:false, threadId:40, threadState:RUNNABLE

                java.net.PlainSocketImpl.socketAccept(Native Method)
                java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384)
                java.net.ServerSocket.implAccept(ServerSocket.java:450)
                java.net.ServerSocket.accept(ServerSocket.java:421)
                org.jboss.remoting.util.SecurityUtility.accept(SecurityUtility.java:931)
                org.jboss.remoting.transport.socket.SocketServerInvoker$AcceptThread.run(SocketServerInvoker.java:1003)

            Thread: secondaryServerSocketThread[0] : priority:5, demon:true, threadId:41, threadState:RUNNABLE

                java.net.PlainSocketImpl.socketAccept(Native Method)
                java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384)
                java.net.ServerSocket.implAccept(ServerSocket.java:450)
                java.net.ServerSocket.accept(ServerSocket.java:421)
                org.jboss.remoting.transport.bisocket.BisocketServerInvoker$SecondaryServerSocketThread$1.run(BisocketServerInvoker.java:1110)
                java.security.AccessController.doPrivileged(Native Method)
                org.jboss.remoting.transport.bisocket.BisocketServerInvoker$SecondaryServerSocketThread.run(BisocketServerInvoker.java:1106)

            Thread: ServerSocketRefresh : priority:5, demon:true, threadId:42, threadState:WAITING

                - waiting on <0x20b939> (a java.lang.Object)
                java.lang.Object.wait(Native Method)
                java.lang.Object.wait(Object.java:474)
                org.jboss.remoting.transport.socket.SocketServerInvoker$ServerSocketRefresh.run(SocketServerInvoker.java:827)

            Thread: AcceptorThread[ServerSocket[addr=localhost/127.0.0.1,port=0,localport=5400]] : priority:5, demon:false, threadId:43, threadState:RUNNABLE

                java.net.PlainSocketImpl.socketAccept(Native Method)
                java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384)
                java.net.ServerSocket.implAccept(ServerSocket.java:450)
                java.net.ServerSocket.accept(ServerSocket.java:421)
                org.jboss.remoting.util.SecurityUtility.accept(SecurityUtility.java:931)
                org.jboss.remoting.transport.socket.SocketServerInvoker$AcceptThread.run(SocketServerInvoker.java:1003)

            Thread: Remoting Detector - Failure Detector Thread: 460 : priority:5, demon:false, threadId:45, threadState:TIMED_WAITING

                - waiting on <0x605781> (a java.util.TaskQueue)
                java.lang.Object.wait(Native Method)
                java.util.TimerThread.mainLoop(Timer.java:509)
                java.util.TimerThread.run(Timer.java:462)

            Thread: Remoting Detector - Heartbeat Thread: 695 : priority:5, demon:false, threadId:46, threadState:TIMED_WAITING

                - waiting on <0x1110fca> (a java.util.TaskQueue)
                java.lang.Object.wait(Native Method)
                java.util.TimerThread.mainLoop(Timer.java:509)
                java.util.TimerThread.run(Timer.java:462)

            Thread: Remoting Multicast Detector - Listener Thread: 0 : priority:5, demon:false, threadId:44, threadState:RUNNABLE

                java.net.PlainDatagramSocketImpl.receive0(Native Method)
                java.net.PlainDatagramSocketImpl.receive(PlainDatagramSocketImpl.java:136)
                java.net.DatagramSocket.receive(DatagramSocket.java:712)
                org.jboss.remoting.detection.multicast.MulticastDetector.listen(MulticastDetector.java:301)
                org.jboss.remoting.detection.multicast.MulticastDetector.access$200(MulticastDetector.java:51)
                org.jboss.remoting.detection.multicast.MulticastDetector$Listener.run(MulticastDetector.java:356)

            Thread: ServerSocketRefresh : priority:5, demon:true, threadId:51, threadState:WAITING

                - waiting on <0x123ba32> (a java.lang.Object)
                java.lang.Object.wait(Native Method)
                java.lang.Object.wait(Object.java:474)
                org.jboss.remoting.transport.socket.SocketServerInvoker$ServerSocketRefresh.run(SocketServerInvoker.java:827)

            Thread: AcceptorThread[ServerSocket[addr=/127.0.0.1,port=0,localport=3873]] : priority:5, demon:false, threadId:52, threadState:RUNNABLE

                java.net.PlainSocketImpl.socketAccept(Native Method)
                java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384)
                java.net.ServerSocket.implAccept(ServerSocket.java:450)
                java.net.ServerSocket.accept(ServerSocket.java:421)
                org.jboss.remoting.util.SecurityUtility.accept(SecurityUtility.java:931)
                org.jboss.remoting.transport.socket.SocketServerInvoker$AcceptThread.run(SocketServerInvoker.java:1003)

            Thread: HDScanner : priority:5, demon:false, threadId:53, threadState:TIMED_WAITING

                sun.misc.Unsafe.park(Native Method)
                java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:146)
                java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:1879)
                java.util.concurrent.DelayQueue.take(DelayQueue.java:135)
                java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:504)
                java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:497)
                java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:470)
                java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:674)
                java.lang.Thread.run(Thread.java:595)

            Thread: ServerSocketRefresh : priority:5, demon:true, threadId:55, threadState:WAITING

                - waiting on <0x955b77> (a java.lang.Object)
                java.lang.Object.wait(Native Method)
                java.lang.Object.wait(Object.java:474)
                org.jboss.remoting.transport.socket.SocketServerInvoker$ServerSocketRefresh.run(SocketServerInvoker.java:827)

            Thread: AcceptorThread[ServerSocket[addr=localhost/127.0.0.1,port=0,localport=4446]] : priority:5, demon:false, threadId:56, threadState:RUNNABLE

                java.net.PlainSocketImpl.socketAccept(Native Method)
                java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384)
                java.net.ServerSocket.implAccept(ServerSocket.java:450)
                java.net.ServerSocket.accept(ServerSocket.java:421)
                org.jboss.remoting.util.SecurityUtility.accept(SecurityUtility.java:931)
                org.jboss.remoting.transport.socket.SocketServerInvoker$AcceptThread.run(SocketServerInvoker.java:1003)

            Thread: Listener:4713 : priority:5, demon:true, threadId:62, threadState:RUNNABLE

                java.net.PlainSocketImpl.socketAccept(Native Method)
                java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384)
                java.net.ServerSocket.implAccept(ServerSocket.java:450)
                java.net.ServerSocket.accept(ServerSocket.java:421)
                com.arjuna.ats.internal.arjuna.recovery.Listener.run(Listener.java:119)

            Thread: Thread-13 : priority:5, demon:true, threadId:64, threadState:TIMED_WAITING

                - waiting on <0x1a801ba> (a com.arjuna.ats.arjuna.coordinator.TransactionReaper)
                java.lang.Object.wait(Native Method)
                com.arjuna.ats.internal.arjuna.coordinator.ReaperThread.run(ReaperThread.java:98)

            Thread: Thread-14 : priority:5, demon:true, threadId:65, threadState:WAITING

                - waiting on <0x1097afc> (a java.util.LinkedList)
                java.lang.Object.wait(Native Method)
                java.lang.Object.wait(Object.java:474)
                com.arjuna.ats.arjuna.coordinator.TransactionReaper.waitForCancellations(TransactionReaper.java:513)
                com.arjuna.ats.internal.arjuna.coordinator.ReaperWorkerThread.run(ReaperWorkerThread.java:74)

            Thread: Thread-15 : priority:5, demon:true, threadId:66, threadState:TIMED_WAITING

                java.lang.Thread.sleep(Native Method)
                com.arjuna.ats.internal.arjuna.recovery.ExpiredEntryMonitor.run(ExpiredEntryMonitor.java:237)

            Thread: Listener:4712 : priority:5, demon:true, threadId:70, threadState:RUNNABLE

                java.net.PlainSocketImpl.socketAccept(Native Method)
                java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384)
                java.net.ServerSocket.implAccept(ServerSocket.java:450)
                java.net.ServerSocket.accept(ServerSocket.java:421)
                com.arjuna.ats.internal.arjuna.recovery.Listener.run(Listener.java:119)

            Thread: Thread-16 : priority:5, demon:false, threadId:67, threadState:TIMED_WAITING

                - waiting on <0x1694e84> (a java.lang.Object)
                java.lang.Object.wait(Native Method)
                com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.doPeriodicWait(PeriodicRecovery.java:664)
                com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.run(PeriodicRecovery.java:423)

            Thread: PooledInvokerAcceptor#0-4445 : priority:5, demon:false, threadId:75, threadState:RUNNABLE

                java.net.PlainSocketImpl.socketAccept(Native Method)
                java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384)
                java.net.ServerSocket.implAccept(ServerSocket.java:450)
                java.net.ServerSocket.accept(ServerSocket.java:421)
                org.jboss.invocation.pooled.server.PooledInvoker.run(PooledInvoker.java:262)
                java.lang.Thread.run(Thread.java:595)

            Thread: ContainerBackgroundProcessor[StandardEngine[jboss.web]] : priority:5, demon:true, threadId:83, threadState:TIMED_WAITING

                java.lang.Thread.sleep(Native Method)
                org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1590)
                java.lang.Thread.run(Thread.java:595)

            Thread: AOPListner : priority:5, demon:true, threadId:96, threadState:TIMED_WAITING

                java.lang.Thread.sleep(Native Method)
                org.jboss.console.plugins.AOPLister$RefreshPoller.run(AOPLister.java:898)

            Thread: DefaultQuartzScheduler_Worker-0 : priority:5, demon:false, threadId:103, threadState:TIMED_WAITING

                - waiting on <0xa1c81e> (a java.lang.Object)
                java.lang.Object.wait(Native Method)
                org.quartz.simpl.SimpleThreadPool.getNextRunnable(SimpleThreadPool.java:428)
                org.quartz.simpl.SimpleThreadPool.access$000(SimpleThreadPool.java:47)
                org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:518)

            Thread: DefaultQuartzScheduler_Worker-1 : priority:5, demon:false, threadId:104, threadState:TIMED_WAITING

                - waiting on <0xa1c81e> (a java.lang.Object)
                java.lang.Object.wait(Native Method)
                org.quartz.simpl.SimpleThreadPool.getNextRunnable(SimpleThreadPool.java:428)
                org.quartz.simpl.SimpleThreadPool.access$000(SimpleThreadPool.java:47)
                org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:518)

            Thread: DefaultQuartzScheduler_Worker-2 : priority:5, demon:false, threadId:105, threadState:TIMED_WAITING

                - waiting on <0xa1c81e> (a java.lang.Object)
                java.lang.Object.wait(Native Method)
                org.quartz.simpl.SimpleThreadPool.getNextRunnable(SimpleThreadPool.java:428)
                org.quartz.simpl.SimpleThreadPool.access$000(SimpleThreadPool.java:47)
                org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:518)

            Thread: DefaultQuartzScheduler_Worker-3 : priority:5, demon:false, threadId:106, threadState:TIMED_WAITING

                - waiting on <0xa1c81e> (a java.lang.Object)
                java.lang.Object.wait(Native Method)
                org.quartz.simpl.SimpleThreadPool.getNextRunnable(SimpleThreadPool.java:428)
                org.quartz.simpl.SimpleThreadPool.access$000(SimpleThreadPool.java:47)
                org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:518)

            Thread: DefaultQuartzScheduler_Worker-4 : priority:5, demon:false, threadId:107, threadState:TIMED_WAITING

                - waiting on <0xa1c81e> (a java.lang.Object)
                java.lang.Object.wait(Native Method)
                org.quartz.simpl.SimpleThreadPool.getNextRunnable(SimpleThreadPool.java:428)
                org.quartz.simpl.SimpleThreadPool.access$000(SimpleThreadPool.java:47)
                org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:518)

            Thread: DefaultQuartzScheduler_Worker-5 : priority:5, demon:false, threadId:108, threadState:TIMED_WAITING

                - waiting on <0xa1c81e> (a java.lang.Object)
                java.lang.Object.wait(Native Method)
                org.quartz.simpl.SimpleThreadPool.getNextRunnable(SimpleThreadPool.java:428)
                org.quartz.simpl.SimpleThreadPool.access$000(SimpleThreadPool.java:47)
                org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:518)

            Thread: DefaultQuartzScheduler_Worker-6 : priority:5, demon:false, threadId:109, threadState:TIMED_WAITING

                - waiting on <0xa1c81e> (a java.lang.Object)
                java.lang.Object.wait(Native Method)
                org.quartz.simpl.SimpleThreadPool.getNextRunnable(SimpleThreadPool.java:428)
                org.quartz.simpl.SimpleThreadPool.access$000(SimpleThreadPool.java:47)
                org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:518)

            Thread: DefaultQuartzScheduler_Worker-7 : priority:5, demon:false, threadId:110, threadState:TIMED_WAITING

                - waiting on <0xa1c81e> (a java.lang.Object)
                java.lang.Object.wait(Native Method)
                org.quartz.simpl.SimpleThreadPool.getNextRunnable(SimpleThreadPool.java:428)
                org.quartz.simpl.SimpleThreadPool.access$000(SimpleThreadPool.java:47)
                org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:518)

            Thread: DefaultQuartzScheduler_Worker-8 : priority:5, demon:false, threadId:111, threadState:TIMED_WAITING

                - waiting on <0xa1c81e> (a java.lang.Object)
                java.lang.Object.wait(Native Method)
                org.quartz.simpl.SimpleThreadPool.getNextRunnable(SimpleThreadPool.java:428)
                org.quartz.simpl.SimpleThreadPool.access$000(SimpleThreadPool.java:47)
                org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:518)

            Thread: DefaultQuartzScheduler_Worker-9 : priority:5, demon:false, threadId:112, threadState:TIMED_WAITING

                - waiting on <0xa1c81e> (a java.lang.Object)
                java.lang.Object.wait(Native Method)
                org.quartz.simpl.SimpleThreadPool.getNextRunnable(SimpleThreadPool.java:428)
                org.quartz.simpl.SimpleThreadPool.access$000(SimpleThreadPool.java:47)
                org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:518)

            Thread: HSQLDB Timer @1549285 : priority:5, demon:true, threadId:114, threadState:TIMED_WAITING

                - waiting on <0x1592aeb> (a org.hsqldb.lib.HsqlTimer$TaskQueue)
                java.lang.Object.wait(Native Method)
                org.hsqldb.lib.HsqlTimer$TaskQueue.park(Unknown Source)
                org.hsqldb.lib.HsqlTimer.nextTask(Unknown Source)
                org.hsqldb.lib.HsqlTimer$TaskRunner.run(Unknown Source)
                java.lang.Thread.run(Thread.java:595)

            Thread: JCA PoolFiller : priority:5, demon:false, threadId:115, threadState:WAITING

                - waiting on <0x110d0f2> (a java.util.LinkedList)
                java.lang.Object.wait(Native Method)
                java.lang.Object.wait(Object.java:474)
                org.jboss.resource.connectionmanager.PoolFiller.run(PoolFiller.java:87)
                java.lang.Thread.run(Thread.java:595)

            Thread: Thread-19 : priority:5, demon:true, threadId:119, threadState:TIMED_WAITING

                java.lang.Thread.sleep(Native Method)
                org.jboss.messaging.core.impl.memory.SimpleMemoryManager$MemoryRunnable.run(SimpleMemoryManager.java:126)
                java.lang.Thread.run(Thread.java:595)

            Thread: JBossLifeThread : priority:5, demon:false, threadId:122, threadState:WAITING

                - waiting on <0x105e65e> (a java.lang.Object)
                java.lang.Object.wait(Native Method)
                java.lang.Object.wait(Object.java:474)
                org.jboss.bootstrap.AbstractServerImpl$LifeThread.run(AbstractServerImpl.java:789)

            Thread: http-localhost%2F127.0.0.1-8080-Acceptor-0 : priority:5, demon:true, threadId:123, threadState:RUNNABLE

                java.net.PlainSocketImpl.socketAccept(Native Method)
                java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384)
                java.net.ServerSocket.implAccept(ServerSocket.java:450)
                java.net.ServerSocket.accept(ServerSocket.java:421)
                org.apache.tomcat.util.net.DefaultServerSocketFactory.acceptSocket(DefaultServerSocketFactory.java:61)
                org.apache.tomcat.util.net.JIoEndpoint$Acceptor.run(JIoEndpoint.java:310)
                java.lang.Thread.run(Thread.java:595)

            Thread: ajp-localhost%2F127.0.0.1-8009-Acceptor-0 : priority:5, demon:true, threadId:124, threadState:RUNNABLE

                java.net.PlainSocketImpl.socketAccept(Native Method)
                java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384)
                java.net.ServerSocket.implAccept(ServerSocket.java:450)
                java.net.ServerSocket.accept(ServerSocket.java:421)
                org.apache.tomcat.util.net.DefaultServerSocketFactory.acceptSocket(DefaultServerSocketFactory.java:61)
                org.apache.tomcat.util.net.JIoEndpoint$Acceptor.run(JIoEndpoint.java:310)
                java.lang.Thread.run(Thread.java:595)

            Thread: http-localhost%2F127.0.0.1-8080-1 : priority:5, demon:true, threadId:135, threadState:WAITING

                - waiting on <0x57449e> (a org.apache.tomcat.util.net.JIoEndpoint$Worker)
                java.lang.Object.wait(Native Method)
                java.lang.Object.wait(Object.java:474)
                org.apache.tomcat.util.net.JIoEndpoint$Worker.await(JIoEndpoint.java:416)
                org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:442)
                java.lang.Thread.run(Thread.java:595)

            Thread: ZipFile Lock Reaper : priority:5, demon:true, threadId:136, threadState:TIMED_WAITING

                - waiting on <0x15a0940> (a java.util.TaskQueue)
                java.lang.Object.wait(Native Method)
                java.util.TimerThread.mainLoop(Timer.java:509)
                java.util.TimerThread.run(Timer.java:462)

            Thread: http-localhost%2F127.0.0.1-8080-2 : priority:5, demon:true, threadId:139, threadState:RUNNABLE

                sun.management.ThreadImpl.getThreadInfo0(Native Method)
                sun.management.ThreadImpl.getThreadInfo(ThreadImpl.java:142)
                sun.management.ThreadImpl.getThreadInfo(ThreadImpl.java:120)
                org.jboss.system.server.ServerInfo.outputJdk5ThreadMXBeanInfo(ServerInfo.java:672)
                org.jboss.system.server.ServerInfo.getThreadGroupInfoWithoutLocks(ServerInfo.java:580)
                org.jboss.system.server.ServerInfo.getThreadGroupInfoWithoutLocks(ServerInfo.java:587)
                org.jboss.system.server.ServerInfo.getThreadGroupInfoWithoutLocks(ServerInfo.java:587)
                org.jboss.system.server.ServerInfo.getThreadGroupInfo(ServerInfo.java:551)
                org.jboss.system.server.ServerInfo.listThreadDump(ServerInfo.java:449)
                sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
                sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                java.lang.reflect.Method.invoke(Method.java:585)
                org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:157)
                org.jboss.mx.server.Invocation.dispatch(Invocation.java:96)
                org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
                org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
                org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:668)
                org.jboss.jmx.adaptor.control.Server.invokeOpByName(Server.java:258)
                org.jboss.jmx.adaptor.control.Server.invokeOp(Server.java:223)
                org.jboss.jmx.adaptor.html.HtmlAdaptorServlet$3.run(HtmlAdaptorServlet.java:380)
                org.jboss.jmx.adaptor.html.HtmlAdaptorServlet$3.run(HtmlAdaptorServlet.java:378)
                java.security.AccessController.doPrivileged(Native Method)
                org.jboss.jmx.adaptor.html.HtmlAdaptorServlet.invokeOp(HtmlAdaptorServlet.java:376)
                org.jboss.jmx.adaptor.html.HtmlAdaptorServlet.invokeOp(HtmlAdaptorServlet.java:287)
                org.jboss.jmx.adaptor.html.HtmlAdaptorServlet.processRequest(HtmlAdaptorServlet.java:104)
                org.jboss.jmx.adaptor.html.HtmlAdaptorServlet.doPost(HtmlAdaptorServlet.java:86)
                javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
                javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
                org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
                org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
                org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
                org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
                org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
                org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235)
                org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
                org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190)
                org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92)
                org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
                org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
                org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
                org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
                org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
                org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
                org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
                org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829)
                org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:601)
                org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
                java.lang.Thread.run(Thread.java:595)

            Thread: WorkerThread#0[127.0.0.1:3307] : priority:5, demon:false, threadId:140, threadState:WAITING

                - waiting on <0x1fa3d95> (a org.jboss.remoting.transport.socket.ServerThread)
                java.lang.Object.wait(Native Method)
                java.lang.Object.wait(Object.java:474)
                org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:282)

            Thread: Timer-4 : priority:5, demon:true, threadId:143, threadState:TIMED_WAITING

                - waiting on <0x156b4b> (a java.util.TaskQueue)
                java.lang.Object.wait(Native Method)
                java.util.TimerThread.mainLoop(Timer.java:509)
                java.util.TimerThread.run(Timer.java:462)

            Thread: Read Socket : priority:5, demon:false, threadId:146, threadState:TIMED_WAITING

                java.lang.Thread.sleep(Native Method)
                com.tss.wireless.wpi.DDSSocketRead.readFromSocket(DDSSocketRead.java:122)
                com.tss.wireless.wpi.DDSSocketRead.run(DDSSocketRead.java:101)
                java.lang.Thread.run(Thread.java:595)

            Thread: WorkerThread#1[127.0.0.1:3312] : priority:5, demon:false, threadId:149, threadState:RUNNABLE

                java.net.SocketInputStream.socketRead0(Native Method)
                java.net.SocketInputStream.read(SocketInputStream.java:129)
                java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
                java.io.BufferedInputStream.read(BufferedInputStream.java:235)
                java.io.FilterInputStream.read(FilterInputStream.java:66)
                org.jboss.remoting.transport.socket.ServerThread.readVersion(ServerThread.java:1030)
                org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:671)
                org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:549)
                org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:230)

            Thread: WorkerThread#2[127.0.0.1:3313] : priority:5, demon:false, threadId:150, threadState:RUNNABLE

                java.net.SocketInputStream.socketRead0(Native Method)
                java.net.SocketInputStream.read(SocketInputStream.java:129)
                java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
                java.io.BufferedInputStream.read(BufferedInputStream.java:235)
                java.io.FilterInputStream.read(FilterInputStream.java:66)
                org.jboss.remoting.transport.socket.ServerThread.readVersion(ServerThread.java:1030)
                org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:671)
                org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:549)
                org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:230)

            Thread: Timer-5 : priority:5, demon:true, threadId:151, threadState:TIMED_WAITING

                - waiting on <0x372ff3> (a java.util.TaskQueue)
                java.lang.Object.wait(Native Method)
                java.util.TimerThread.mainLoop(Timer.java:509)
                java.util.TimerThread.run(Timer.java:462)

            Thread: Timer-6 : priority:5, demon:true, threadId:152, threadState:TIMED_WAITING

                - waiting on <0x12d03dc> (a java.util.TaskQueue)
                java.lang.Object.wait(Native Method)
                java.util.TimerThread.mainLoop(Timer.java:509)
                java.util.TimerThread.run(Timer.java:462)

            Thread: WorkerThread#3[127.0.0.1:3317] : priority:5, demon:false, threadId:154, threadState:RUNNABLE

                java.net.SocketInputStream.socketRead0(Native Method)
                java.net.SocketInputStream.read(SocketInputStream.java:129)
                java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
                java.io.BufferedInputStream.read(BufferedInputStream.java:235)
                java.io.FilterInputStream.read(FilterInputStream.java:66)
                org.jboss.remoting.transport.socket.ServerThread.readVersion(ServerThread.java:1030)
                org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:671)
                org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:549)
                org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:230)

            Thread: WorkerThread#4[127.0.0.1:3318] : priority:5, demon:false, threadId:155, threadState:RUNNABLE

                java.net.SocketInputStream.socketRead0(Native Method)
                java.net.SocketInputStream.read(SocketInputStream.java:129)
                java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
                java.io.BufferedInputStream.read(BufferedInputStream.java:235)
                java.io.FilterInputStream.read(FilterInputStream.java:66)
                org.jboss.remoting.transport.socket.ServerThread.readVersion(ServerThread.java:1030)
                org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:671)
                org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:549)
                org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:230)


            Thread Group: JBoss Pooled Threads : max priority:10, demon:false

                Thread: WorkManager(2)-1 : priority:5, demon:true, threadId:101, threadState:WAITING

                    sun.misc.Unsafe.park(Native Method)
                    java.util.concurrent.locks.LockSupport.park(LockSupport.java:118)
                    java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1841)
                    java.util.concurrent.PriorityBlockingQueue.take(PriorityBlockingQueue.java:200)
                    org.jboss.resource.adapter.mail.inflow.NewMsgsWorker.run(NewMsgsWorker.java:76)
                    org.jboss.resource.work.WorkWrapper.execute(WorkWrapper.java:213)
                    org.jboss.util.threadpool.BasicTaskWrapper.run(BasicTaskWrapper.java:260)
                    java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
                    java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
                    java.lang.Thread.run(Thread.java:595)


                Thread Group: System Threads : max priority:10, demon:false

                    Thread: JBoss System Threads(1)-1 : priority:5, demon:true, threadId:17, threadState:RUNNABLE

                        java.net.PlainSocketImpl.socketAccept(Native Method)
                        java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384)
                        java.net.ServerSocket.implAccept(ServerSocket.java:450)
                        java.net.ServerSocket.accept(ServerSocket.java:421)
                        org.jboss.web.WebServer.run(WebServer.java:320)
                        org.jboss.util.threadpool.RunnableTaskWrapper.run(RunnableTaskWrapper.java:147)
                        java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
                        java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
                        java.lang.Thread.run(Thread.java:595)

                    Thread: JBoss System Threads(1)-2 : priority:5, demon:true, threadId:22, threadState:RUNNABLE

                        java.net.PlainSocketImpl.socketAccept(Native Method)
                        java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384)
                        java.net.ServerSocket.implAccept(ServerSocket.java:450)
                        java.net.ServerSocket.accept(ServerSocket.java:421)
                        org.jnp.server.Main$AcceptHandler.run(Main.java:554)
                        org.jboss.util.threadpool.RunnableTaskWrapper.run(RunnableTaskWrapper.java:147)
                        java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
                        java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
                        java.lang.Thread.run(Thread.java:595)

                    Thread: JBoss System Threads(1)-3 : priority:5, demon:true, threadId:23, threadState:WAITING

                        sun.misc.Unsafe.park(Native Method)
                        java.util.concurrent.locks.LockSupport.park(LockSupport.java:118)
                        java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1841)
                        java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:359)
                        java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:470)
                        java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:674)
                        java.lang.Thread.run(Thread.java:595)

                    Thread: JBoss System Threads(1)-4 : priority:5, demon:true, threadId:27, threadState:WAITING

                        sun.misc.Unsafe.park(Native Method)
                        java.util.concurrent.locks.LockSupport.park(LockSupport.java:118)
                        java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1841)
                        java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:359)
                        java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:470)
                        java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:674)
                        java.lang.Thread.run(Thread.java:595)

                    Thread: JBoss System Threads(1)-5 : priority:5, demon:true, threadId:47, threadState:WAITING

                        sun.misc.Unsafe.park(Native Method)
                        java.util.concurrent.locks.LockSupport.park(LockSupport.java:118)
                        java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1841)
                        java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:359)
                        java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:470)
                        java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:674)
                        java.lang.Thread.run(Thread.java:595)

                    Thread: JBoss System Threads(1)-6 : priority:5, demon:true, threadId:57, threadState:WAITING

                        sun.misc.Unsafe.park(Native Method)
                        java.util.concurrent.locks.LockSupport.park(LockSupport.java:118)
                        java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1841)
                        java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:359)
                        java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:470)
                        java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:674)
                        java.lang.Thread.run(Thread.java:595)

                    Thread: JBoss System Threads(1)-7 : priority:5, demon:true, threadId:71, threadState:WAITING

                        sun.misc.Unsafe.park(Native Method)
                        java.util.concurrent.locks.LockSupport.park(LockSupport.java:118)
                        java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1841)
                        java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:359)
                        java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:470)
                        java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:674)
                        java.lang.Thread.run(Thread.java:595)

                    Thread: JBoss System Threads(1)-8 : priority:5, demon:true, threadId:84, threadState:WAITING

                        sun.misc.Unsafe.park(Native Method)
                        java.util.concurrent.locks.LockSupport.park(LockSupport.java:118)
                        java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1841)
                        java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:359)
                        java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:470)
                        java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:674)
                        java.lang.Thread.run(Thread.java:595)

                    Thread: JBoss System Threads(1)-9 : priority:5, demon:true, threadId:91, threadState:WAITING

                        sun.misc.Unsafe.park(Native Method)
                        java.util.concurrent.locks.LockSupport.park(LockSupport.java:118)
                        java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1841)
                        java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:359)
                        java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:470)
                        java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:674)
                        java.lang.Thread.run(Thread.java:595)

                    Thread: JBoss System Threads(1)-10 : priority:5, demon:true, threadId:97, threadState:WAITING

                        sun.misc.Unsafe.park(Native Method)
                        java.util.concurrent.locks.LockSupport.park(LockSupport.java:118)
                        java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1841)
                        java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:359)
                        java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:470)
                        java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:674)
                        java.lang.Thread.run(Thread.java:595)


            Thread Group: QuartzScheduler:DefaultQuartzScheduler : max priority:10, demon:false

                Thread: DefaultQuartzScheduler_QuartzSchedulerThread : priority:5, demon:false, threadId:113, threadState:TIMED_WAITING

                    java.lang.Thread.sleep(Native Method)
                    org.quartz.core.QuartzSchedulerThread.run(QuartzSchedulerThread.java:394)


            Thread Group: conn-factory-jndi-mapper : max priority:10, demon:false


            Thread Group: msg-post-office : max priority:10, demon:false


            Thread Group: server-session-endpoint : max priority:10, demon:false

                Thread: Thread-27 : priority:5, demon:true, threadId:144, threadState:TIMED_WAITING

                    sun.misc.Unsafe.park(Native Method)
                    java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:146)
                    java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireNanos(AbstractQueuedSynchronizer.java:807)
                    java.util.concurrent.locks.AbstractQueuedSynchronizer.tryAcquireNanos(AbstractQueuedSynchronizer.java:1122)
                    java.util.concurrent.SynchronousQueue$Node.waitForPut(SynchronousQueue.java:291)
                    java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:443)
                    java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:475)
                    java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:674)
                    java.lang.Thread.run(Thread.java:595)


            Thread Group: session-state : max priority:10, demon:false

                Thread: Thread-28 : priority:5, demon:true, threadId:145, threadState:TIMED_WAITING

                    sun.misc.Unsafe.park(Native Method)
                    java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:146)
                    java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireNanos(AbstractQueuedSynchronizer.java:807)
                    java.util.concurrent.locks.AbstractQueuedSynchronizer.tryAcquireNanos(AbstractQueuedSynchronizer.java:1122)
                    java.util.concurrent.SynchronousQueue$Node.waitForPut(SynchronousQueue.java:291)
                    java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:443)
                    java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:475)
                    java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:674)
                    java.lang.Thread.run(Thread.java:595)

                Thread: Thread-30 : priority:5, demon:true, threadId:147, threadState:TIMED_WAITING

                    sun.misc.Unsafe.park(Native Method)
                    java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:146)
                    java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireNanos(AbstractQueuedSynchronizer.java:807)
                    java.util.concurrent.locks.AbstractQueuedSynchronizer.tryAcquireNanos(AbstractQueuedSynchronizer.java:1122)
                    java.util.concurrent.SynchronousQueue$Node.waitForPut(SynchronousQueue.java:291)
                    java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:443)
                    java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:475)
                    java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:674)
                    java.lang.Thread.run(Thread.java:595)


    Thread Group: RMI Runtime : max priority:10, demon:false

        Thread: RMI TCP Connection(33)-127.0.0.1 : priority:5, demon:true, threadId:148, threadState:RUNNABLE

            java.net.SocketInputStream.socketRead0(Native Method)
            java.net.SocketInputStream.read(SocketInputStream.java:129)
            java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
            java.io.BufferedInputStream.read(BufferedInputStream.java:235)
            java.io.FilterInputStream.read(FilterInputStream.java:66)
            sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:448)
            sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:707)
            java.lang.Thread.run(Thread.java:595)

        Thread: RMI TCP Connection(34)-127.0.0.1 : priority:5, demon:true, threadId:153, threadState:RUNNABLE

            java.net.SocketInputStream.socketRead0(Native Method)
            java.net.SocketInputStream.read(SocketInputStream.java:129)
            java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
            java.io.BufferedInputStream.read(BufferedInputStream.java:235)
            java.io.FilterInputStream.read(FilterInputStream.java:66)
            sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:448)
            sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:707)
            java.lang.Thread.run(Thread.java:595)


I tried debugging the above dump, the thread I'm concerned about is in sleep,  I dont see the other threads here, or not enough info to interpret
the dump.
why is it sleeping? Which thread is it

Found the problem, I was invoking the wrong module from my ant script.

thank you,
Raja
ASKER CERTIFIED SOLUTION
Avatar of Mick Barry
Mick Barry
Flag of Australia image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
No, I was trying to invoke the clients from a JBoss remoting client, and invoking them from my Ant script. My ant script targets were pointing to the wrong class all the time.