You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jcs-users@jakarta.apache.org by Travis Savo <ts...@IFILM.com> on 2004/05/21 02:56:22 UTC
RE: Thread Control for Element Event Queue Processor - Number of
Threads too high
I've submitted a patch which makes it only spawn threads when the queues are
in use, and keeps those threads around for a set amount of time to avoid
having to respawn them if the queue is active.
I believe the updated code is already in 'experimental', and I hope it moves
into prime-time soon because it's an absolute requirement for users with a
large number of regions.
If it's a requirement to only have X amount of threads active at any given
time, the solution would be to introduce a Thread throttle, like this one:
import java.util.ArrayList;
import java.util.List;
import org.apache.log4j.Logger;
/**
* @author tsavo
*
*/
public class ThreadThrottle {
private static final Logger logger =
Logger.getLogger(ThreadThrottle.class);
private static final int MAX_THREADS = 10;
private static ThreadThrottle counter = null;
private int threadCount;
private List list;
private ThreadThrottle() {
threadCount = 0;
list = new ArrayList();
}
public static synchronized ThreadThrottle getInstance() {
if (counter == null) {
counter = new ThreadThrottle();
}
return counter;
}
public void getThread() {
Object waiter = null;
synchronized (this) {
++threadCount;
if (logger.isDebugEnabled()) {
logger.debug("Current Thread Count: " + threadCount);
}
if (threadCount >= MAX_THREADS) {
waiter = new Object();
list.add(waiter);
}
}
if (waiter != null) {
if (logger.isDebugEnabled()) {
logger.debug("Causing " + Thread.currentThread().getName() + " to
wait.");
}
synchronized (waiter) {
try {
waiter.wait();
} catch (InterruptedException e) {
return;
}
}
if (logger.isDebugEnabled()) {
logger.debug(Thread.currentThread().getName() + " got woken up.");
}
} else {
if (logger.isDebugEnabled()) {
logger.debug(Thread.currentThread().getName() + " is running without
waiting.");
}
}
}
public void returnThread() {
Object waiter = null;
synchronized (this) {
if (logger.isDebugEnabled()) {
logger.debug(Thread.currentThread().getName() + " finished.");
}
--threadCount;
if (list.size() > 0) {
waiter = list.remove(0);
}
}
if (waiter != null) {
if (logger.isDebugEnabled()) {
logger.debug("Waking next thread in line...");
}
synchronized (waiter) {
waiter.notify();
}
}
}
}
Then you can call 'ThreadThrottle.getInstance().getThread()' right before
you spawn a new thread, and ThreadThrottle.getInstance().returnThread()'
right before it dies. getThread() will block until you're under your
MAX_THREAD count.
Making this Singleton a Multiton or simply non-static for the purposes of
having multiple ThreadThrottles, and implementing this in the
EventQueueProcessor is an excercise left up to the user, but I have to
immagine it's pretty straight forward work.
-Travis Savo
-----Original Message-----
From: ankur.kumar@axa.com.au [mailto:ankur.kumar@axa.com.au]
Sent: Thursday, May 20, 2004 6:11 PM
To: Turbine JCS Users List
Subject: Thread Control for Element Event Queue Processor - Number of
Threads too high
org.apache.jcs.engine.control.event.ElementEventQueue$QProcessor threads
are nearly 16. I want to control that and limit it to 5-6 as when
JCS will go to Linux (production) 16 threads are very costly for that
environment. How can I restrict that to some limited number of threads?
Here is thread dump: (All seems to be waiting)
"CacheEventQueue.QProcessor-1" daemon prio=5 tid=0x28b74d80 nid=0xb9c
waiting on monito
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:415)
at org.apache.jcs.engine.CacheEventQueue.take(Unknown Source)
at org.apache.jcs.engine.CacheEventQueue.access$500(Unknown
Source)
at org.apache.jcs.engine.CacheEventQueue$QProcessor.run(Unknown
Source)
"ElementEventQueue.QProcessor-1" daemon prio=5 tid=0x28c8ee18 nid=0xa10
waiting on moni
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:415)
at
org.apache.jcs.engine.control.event.ElementEventQueue.take(ElementEventQueue
at
org.apache.jcs.engine.control.event.ElementEventQueue.access$300(ElementEven
at
org.apache.jcs.engine.control.event.ElementEventQueue$QProcessor.run(Element
"ElementEventQueue.QProcessor-1" daemon prio=5 tid=0x290ee810 nid=0xc78
waiting on moni
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:415)
at
org.apache.jcs.engine.control.event.ElementEventQueue.take(ElementEventQueue
at
org.apache.jcs.engine.control.event.ElementEventQueue.access$300(ElementEven
at
org.apache.jcs.engine.control.event.ElementEventQueue$QProcessor.run(Element
"ElementEventQueue.QProcessor-1" daemon prio=5 tid=0x29578b98 nid=0x15fc
waiting on mon
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:415)
at
org.apache.jcs.engine.control.event.ElementEventQueue.take(ElementEventQueue
at
org.apache.jcs.engine.control.event.ElementEventQueue.access$300(ElementEven
at
org.apache.jcs.engine.control.event.ElementEventQueue$QProcessor.run(Element
"ElementEventQueue.QProcessor-1" daemon prio=5 tid=0x28c8ece0 nid=0x854
waiting on moni
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:415)
at
org.apache.jcs.engine.control.event.ElementEventQueue.take(ElementEventQueue
at
org.apache.jcs.engine.control.event.ElementEventQueue.access$300(ElementEven
at
org.apache.jcs.engine.control.event.ElementEventQueue$QProcessor.run(Element
"ElementEventQueue.QProcessor-1" daemon prio=5 tid=0x28aba450 nid=0xd74
waiting on moni
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:415)
at
org.apache.jcs.engine.control.event.ElementEventQueue.take(ElementEventQueue
at
org.apache.jcs.engine.control.event.ElementEventQueue.access$300(ElementEven
at
org.apache.jcs.engine.control.event.ElementEventQueue$QProcessor.run(Element
"ElementEventQueue.QProcessor-1" daemon prio=5 tid=0x290c3870 nid=0x1534
waiting on mon
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:415)
at
org.apache.jcs.engine.control.event.ElementEventQueue.take(ElementEventQueue
at
org.apache.jcs.engine.control.event.ElementEventQueue.access$300(ElementEven
at
org.apache.jcs.engine.control.event.ElementEventQueue$QProcessor.run(Element
"ElementEventQueue.QProcessor-1" daemon prio=5 tid=0x2895ca78 nid=0x3cc
waiting on moni
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:415)
at
org.apache.jcs.engine.control.event.ElementEventQueue.take(ElementEventQueue
at
org.apache.jcs.engine.control.event.ElementEventQueue.access$300(ElementEven
at
org.apache.jcs.engine.control.event.ElementEventQueue$QProcessor.run(Element
"CacheEventQueue.QProcessor-1" daemon prio=5 tid=0x2930ea50 nid=0x994
waiting on monito
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:415)
at org.apache.jcs.engine.CacheEventQueue.take(Unknown Source)
at org.apache.jcs.engine.CacheEventQueue.access$500(Unknown
Source)
at org.apache.jcs.engine.CacheEventQueue$QProcessor.run(Unknown
Source)
"ElementEventQueue.QProcessor-1" daemon prio=5 tid=0x290d1780 nid=0x5fc
waiting on moni
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:415)
at
org.apache.jcs.engine.control.event.ElementEventQueue.take(ElementEventQueue
at
org.apache.jcs.engine.control.event.ElementEventQueue.access$300(ElementEven
at
org.apache.jcs.engine.control.event.ElementEventQueue$QProcessor.run(Element
"ElementEventQueue.QProcessor-1" daemon prio=5 tid=0x29019308 nid=0x8bc
waiting on moni
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:415)
at
org.apache.jcs.engine.control.event.ElementEventQueue.take(ElementEventQueue
at
org.apache.jcs.engine.control.event.ElementEventQueue.access$300(ElementEven
at
org.apache.jcs.engine.control.event.ElementEventQueue$QProcessor.run(Element
"ElementEventQueue.QProcessor-1" daemon prio=5 tid=0x28871440 nid=0xfb8
waiting on moni
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:415)
at
org.apache.jcs.engine.control.event.ElementEventQueue.take(ElementEventQueue
at
org.apache.jcs.engine.control.event.ElementEventQueue.access$300(ElementEven
at
org.apache.jcs.engine.control.event.ElementEventQueue$QProcessor.run(Element
"ElementEventQueue.QProcessor-1" daemon prio=5 tid=0x28b09640 nid=0xd30
waiting on moni
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:415)
at
org.apache.jcs.engine.control.event.ElementEventQueue.take(ElementEventQueue
at
org.apache.jcs.engine.control.event.ElementEventQueue.access$300(ElementEven
at
org.apache.jcs.engine.control.event.ElementEventQueue$QProcessor.run(Element
"ElementEventQueue.QProcessor-1" daemon prio=5 tid=0x28992e00 nid=0xbbc
waiting on moni
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:415)
at
org.apache.jcs.engine.control.event.ElementEventQueue.take(ElementEventQueue
at
org.apache.jcs.engine.control.event.ElementEventQueue.access$300(ElementEven
at
org.apache.jcs.engine.control.event.ElementEventQueue$QProcessor.run(Element
"ElementEventQueue.QProcessor-1" daemon prio=5 tid=0x28989ad0 nid=0x9d8
waiting on moni
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:415)
at
org.apache.jcs.engine.control.event.ElementEventQueue.take(ElementEventQueue
at
org.apache.jcs.engine.control.event.ElementEventQueue.access$300(ElementEven
at
org.apache.jcs.engine.control.event.ElementEventQueue$QProcessor.run(Element
"cache-PrepareThread" daemon prio=5 tid=0x28b01e80 nid=0x168 runnable
[0x26d4f000..0x26
at java.lang.Object.wait(Native Method)
at
weblogic.persist.TxIndexedFileImpl$PrepareThread.run(TxIndexedFileImpl.java:
"cache-CommitThread" daemon prio=5 tid=0x2882ad88 nid=0xedc runnable
[0x26cdf000..0x26c
at java.lang.Object.wait(Native Method)
at
weblogic.persist.TxIndexedFileImpl$CommitThread.run(TxIndexedFileImpl.java:6
"ElementEventQueue.QProcessor-1" daemon prio=5 tid=0x287dccd0 nid=0xc24
waiting on moni
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:415)
at
org.apache.jcs.engine.control.event.ElementEventQueue.take(ElementEventQueue
at
org.apache.jcs.engine.control.event.ElementEventQueue.access$300(ElementEven
at
org.apache.jcs.engine.control.event.ElementEventQueue$QProcessor.run(Element
"ElementEventQueue.QProcessor-1" daemon prio=5 tid=0x28928710 nid=0xac0
waiting on moni
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:415)
at
org.apache.jcs.engine.control.event.ElementEventQueue.take(ElementEventQueue
at
org.apache.jcs.engine.control.event.ElementEventQueue.access$300(ElementEven
at
org.apache.jcs.engine.control.event.ElementEventQueue$QProcessor.run(Element
"SSLListenThread.Default" prio=5 tid=0x288b2250 nid=0x92c runnable
[0x269df000..0x269df
at java.net.PlainSocketImpl.socketAccept(Native Method)
at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:463)
at java.net.ServerSocket.implAccept(ServerSocket.java:238)
at javax.net.ssl.impl.SSLServerSocketImpl.accept(Unknown Source)
at weblogic.t3.srvr.ListenThread.run(ListenThread.java:263)
"ListenThread.Default" prio=5 tid=0x288cbd70 nid=0x644 runnable
[0x265df000..0x265dfdbc
at java.net.PlainSocketImpl.socketAccept(Native Method)
at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:463)
at java.net.ServerSocket.implAccept(ServerSocket.java:238)
at
com.wily.introscope.agent.probe.net.ManagedServerSocket.accept(ManagedServer
at
weblogic.socket.WeblogicServerSocket.accept(WeblogicServerSocket.java:26)
at weblogic.t3.srvr.ListenThread.run(ListenThread.java:263)
"ElementEventQueue.QProcessor-1" daemon prio=5 tid=0x288d28e0 nid=0x898
waiting on moni
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:415)
at
org.apache.jcs.engine.control.event.ElementEventQueue.take(ElementEventQueue
at
org.apache.jcs.engine.control.event.ElementEventQueue.access$300(ElementEven
at
org.apache.jcs.engine.control.event.ElementEventQueue$QProcessor.run(Element
****************************************************************************
*****
Important Note
This email (including any attachments) contains information which is
confidential and may be subject to legal privilege. If you are not
the intended recipient you must not use, distribute or copy this
email. If you have received this email in error please notify the
sender immediately and delete this email. Any views expressed in this
email are not necessarily the views of AXA. Thank you.
****************************************************************************
*****
---------------------------------------------------------------------
To unsubscribe, e-mail: turbine-jcs-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: turbine-jcs-user-help@jakarta.apache.org
Why the caching API should use Serializable rather than Object
Posted by Hanson Char <ha...@yahoo.com>.
Quoted from Item 24 of Effective Java by Joshua Bloch:
"You must program defensively with the assumption that clients of your class
will do their best to destroy its invariants."
"...if you are considering using a client-provided object reference as an
element in an internal Set instance or as a key in an internal Map instance,
you should be aware that the invariants of the set or map would be destroyed
if the object were modified after it were inserted."
This principle/rule is generally violated in JCS for the use of Object in
the method signature.
Hanson
---------------------------------------------------------------------
To unsubscribe, e-mail: turbine-jcs-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: turbine-jcs-user-help@jakarta.apache.org
RE: Thread Control for Element Event Queue Processor - Number
ofThreads too high
Posted by Aaron Smuts <aa...@wisc.edu>.
I think we may need something like a throttle.
I'm working the getting the patches in right now.
Aaron
> -----Original Message-----
> From: Travis Savo [mailto:tsavo@IFILM.com]
> Sent: Thursday, May 20, 2004 7:56 PM
> To: 'Turbine JCS Users List'
> Cc: 'ankur.kumar@axa.com.au'
> Subject: RE: Thread Control for Element Event Queue Processor - Number
> ofThreads too high
>
> I've submitted a patch which makes it only spawn threads when the
queues
> are
> in use, and keeps those threads around for a set amount of time to
avoid
> having to respawn them if the queue is active.
>
> I believe the updated code is already in 'experimental', and I hope it
> moves
> into prime-time soon because it's an absolute requirement for users
with a
> large number of regions.
>
> If it's a requirement to only have X amount of threads active at any
given
> time, the solution would be to introduce a Thread throttle, like this
one:
>
> import java.util.ArrayList;
> import java.util.List;
>
> import org.apache.log4j.Logger;
>
> /**
> * @author tsavo
> *
> */
> public class ThreadThrottle {
>
> private static final Logger logger =
> Logger.getLogger(ThreadThrottle.class);
> private static final int MAX_THREADS = 10;
> private static ThreadThrottle counter = null;
> private int threadCount;
> private List list;
>
> private ThreadThrottle() {
> threadCount = 0;
> list = new ArrayList();
> }
>
> public static synchronized ThreadThrottle getInstance() {
> if (counter == null) {
> counter = new ThreadThrottle();
> }
> return counter;
> }
>
> public void getThread() {
> Object waiter = null;
> synchronized (this) {
> ++threadCount;
> if (logger.isDebugEnabled()) {
> logger.debug("Current Thread Count: " + threadCount);
> }
> if (threadCount >= MAX_THREADS) {
> waiter = new Object();
> list.add(waiter);
> }
> }
> if (waiter != null) {
> if (logger.isDebugEnabled()) {
> logger.debug("Causing " + Thread.currentThread().getName() + "
to
> wait.");
> }
> synchronized (waiter) {
> try {
> waiter.wait();
> } catch (InterruptedException e) {
> return;
> }
> }
> if (logger.isDebugEnabled()) {
> logger.debug(Thread.currentThread().getName() + " got woken
up.");
> }
> } else {
> if (logger.isDebugEnabled()) {
> logger.debug(Thread.currentThread().getName() + " is running
> without
> waiting.");
> }
> }
> }
>
> public void returnThread() {
> Object waiter = null;
> synchronized (this) {
> if (logger.isDebugEnabled()) {
> logger.debug(Thread.currentThread().getName() + " finished.");
> }
> --threadCount;
> if (list.size() > 0) {
> waiter = list.remove(0);
> }
> }
> if (waiter != null) {
> if (logger.isDebugEnabled()) {
> logger.debug("Waking next thread in line...");
> }
> synchronized (waiter) {
> waiter.notify();
> }
> }
> }
> }
>
>
> Then you can call 'ThreadThrottle.getInstance().getThread()' right
before
> you spawn a new thread, and
ThreadThrottle.getInstance().returnThread()'
> right before it dies. getThread() will block until you're under your
> MAX_THREAD count.
>
> Making this Singleton a Multiton or simply non-static for the purposes
of
> having multiple ThreadThrottles, and implementing this in the
> EventQueueProcessor is an excercise left up to the user, but I have to
> immagine it's pretty straight forward work.
>
> -Travis Savo
>
>
>
> -----Original Message-----
> From: ankur.kumar@axa.com.au [mailto:ankur.kumar@axa.com.au]
> Sent: Thursday, May 20, 2004 6:11 PM
> To: Turbine JCS Users List
> Subject: Thread Control for Element Event Queue Processor - Number of
> Threads too high
>
>
> org.apache.jcs.engine.control.event.ElementEventQueue$QProcessor
threads
> are nearly 16. I want to control that and limit it to 5-6 as when
> JCS will go to Linux (production) 16 threads are very costly for that
> environment. How can I restrict that to some limited number of
threads?
>
> Here is thread dump: (All seems to be waiting)
>
> "CacheEventQueue.QProcessor-1" daemon prio=5 tid=0x28b74d80 nid=0xb9c
> waiting on monito
> at java.lang.Object.wait(Native Method)
> at java.lang.Object.wait(Object.java:415)
> at org.apache.jcs.engine.CacheEventQueue.take(Unknown Source)
> at org.apache.jcs.engine.CacheEventQueue.access$500(Unknown
> Source)
> at
org.apache.jcs.engine.CacheEventQueue$QProcessor.run(Unknown
> Source)
>
> "ElementEventQueue.QProcessor-1" daemon prio=5 tid=0x28c8ee18
nid=0xa10
> waiting on moni
> at java.lang.Object.wait(Native Method)
> at java.lang.Object.wait(Object.java:415)
> at
>
org.apache.jcs.engine.control.event.ElementEventQueue.take(ElementEventQ
ue
> ue
> at
>
org.apache.jcs.engine.control.event.ElementEventQueue.access$300(Element
Ev
> en
> at
>
org.apache.jcs.engine.control.event.ElementEventQueue$QProcessor.run(Ele
me
> nt
>
> "ElementEventQueue.QProcessor-1" daemon prio=5 tid=0x290ee810
nid=0xc78
> waiting on moni
> at java.lang.Object.wait(Native Method)
> at java.lang.Object.wait(Object.java:415)
> at
>
org.apache.jcs.engine.control.event.ElementEventQueue.take(ElementEventQ
ue
> ue
> at
>
org.apache.jcs.engine.control.event.ElementEventQueue.access$300(Element
Ev
> en
> at
>
org.apache.jcs.engine.control.event.ElementEventQueue$QProcessor.run(Ele
me
> nt
>
> "ElementEventQueue.QProcessor-1" daemon prio=5 tid=0x29578b98
nid=0x15fc
> waiting on mon
> at java.lang.Object.wait(Native Method)
> at java.lang.Object.wait(Object.java:415)
> at
>
org.apache.jcs.engine.control.event.ElementEventQueue.take(ElementEventQ
ue
> ue
> at
>
org.apache.jcs.engine.control.event.ElementEventQueue.access$300(Element
Ev
> en
> at
>
org.apache.jcs.engine.control.event.ElementEventQueue$QProcessor.run(Ele
me
> nt
>
> "ElementEventQueue.QProcessor-1" daemon prio=5 tid=0x28c8ece0
nid=0x854
> waiting on moni
> at java.lang.Object.wait(Native Method)
> at java.lang.Object.wait(Object.java:415)
> at
>
org.apache.jcs.engine.control.event.ElementEventQueue.take(ElementEventQ
ue
> ue
> at
>
org.apache.jcs.engine.control.event.ElementEventQueue.access$300(Element
Ev
> en
> at
>
org.apache.jcs.engine.control.event.ElementEventQueue$QProcessor.run(Ele
me
> nt
>
> "ElementEventQueue.QProcessor-1" daemon prio=5 tid=0x28aba450
nid=0xd74
> waiting on moni
> at java.lang.Object.wait(Native Method)
> at java.lang.Object.wait(Object.java:415)
> at
>
org.apache.jcs.engine.control.event.ElementEventQueue.take(ElementEventQ
ue
> ue
> at
>
org.apache.jcs.engine.control.event.ElementEventQueue.access$300(Element
Ev
> en
> at
>
org.apache.jcs.engine.control.event.ElementEventQueue$QProcessor.run(Ele
me
> nt
>
> "ElementEventQueue.QProcessor-1" daemon prio=5 tid=0x290c3870
nid=0x1534
> waiting on mon
> at java.lang.Object.wait(Native Method)
> at java.lang.Object.wait(Object.java:415)
> at
>
org.apache.jcs.engine.control.event.ElementEventQueue.take(ElementEventQ
ue
> ue
> at
>
org.apache.jcs.engine.control.event.ElementEventQueue.access$300(Element
Ev
> en
> at
>
org.apache.jcs.engine.control.event.ElementEventQueue$QProcessor.run(Ele
me
> nt
>
> "ElementEventQueue.QProcessor-1" daemon prio=5 tid=0x2895ca78
nid=0x3cc
> waiting on moni
> at java.lang.Object.wait(Native Method)
> at java.lang.Object.wait(Object.java:415)
> at
>
org.apache.jcs.engine.control.event.ElementEventQueue.take(ElementEventQ
ue
> ue
> at
>
org.apache.jcs.engine.control.event.ElementEventQueue.access$300(Element
Ev
> en
> at
>
org.apache.jcs.engine.control.event.ElementEventQueue$QProcessor.run(Ele
me
> nt
>
> "CacheEventQueue.QProcessor-1" daemon prio=5 tid=0x2930ea50 nid=0x994
> waiting on monito
> at java.lang.Object.wait(Native Method)
> at java.lang.Object.wait(Object.java:415)
> at org.apache.jcs.engine.CacheEventQueue.take(Unknown Source)
> at org.apache.jcs.engine.CacheEventQueue.access$500(Unknown
> Source)
> at
org.apache.jcs.engine.CacheEventQueue$QProcessor.run(Unknown
> Source)
>
> "ElementEventQueue.QProcessor-1" daemon prio=5 tid=0x290d1780
nid=0x5fc
> waiting on moni
> at java.lang.Object.wait(Native Method)
> at java.lang.Object.wait(Object.java:415)
> at
>
org.apache.jcs.engine.control.event.ElementEventQueue.take(ElementEventQ
ue
> ue
> at
>
org.apache.jcs.engine.control.event.ElementEventQueue.access$300(Element
Ev
> en
> at
>
org.apache.jcs.engine.control.event.ElementEventQueue$QProcessor.run(Ele
me
> nt
>
> "ElementEventQueue.QProcessor-1" daemon prio=5 tid=0x29019308
nid=0x8bc
> waiting on moni
> at java.lang.Object.wait(Native Method)
> at java.lang.Object.wait(Object.java:415)
> at
>
org.apache.jcs.engine.control.event.ElementEventQueue.take(ElementEventQ
ue
> ue
> at
>
org.apache.jcs.engine.control.event.ElementEventQueue.access$300(Element
Ev
> en
> at
>
org.apache.jcs.engine.control.event.ElementEventQueue$QProcessor.run(Ele
me
> nt
>
> "ElementEventQueue.QProcessor-1" daemon prio=5 tid=0x28871440
nid=0xfb8
> waiting on moni
> at java.lang.Object.wait(Native Method)
> at java.lang.Object.wait(Object.java:415)
> at
>
org.apache.jcs.engine.control.event.ElementEventQueue.take(ElementEventQ
ue
> ue
> at
>
org.apache.jcs.engine.control.event.ElementEventQueue.access$300(Element
Ev
> en
> at
>
org.apache.jcs.engine.control.event.ElementEventQueue$QProcessor.run(Ele
me
> nt
>
> "ElementEventQueue.QProcessor-1" daemon prio=5 tid=0x28b09640
nid=0xd30
> waiting on moni
> at java.lang.Object.wait(Native Method)
> at java.lang.Object.wait(Object.java:415)
> at
>
org.apache.jcs.engine.control.event.ElementEventQueue.take(ElementEventQ
ue
> ue
> at
>
org.apache.jcs.engine.control.event.ElementEventQueue.access$300(Element
Ev
> en
> at
>
org.apache.jcs.engine.control.event.ElementEventQueue$QProcessor.run(Ele
me
> nt
>
> "ElementEventQueue.QProcessor-1" daemon prio=5 tid=0x28992e00
nid=0xbbc
> waiting on moni
> at java.lang.Object.wait(Native Method)
> at java.lang.Object.wait(Object.java:415)
> at
>
org.apache.jcs.engine.control.event.ElementEventQueue.take(ElementEventQ
ue
> ue
> at
>
org.apache.jcs.engine.control.event.ElementEventQueue.access$300(Element
Ev
> en
> at
>
org.apache.jcs.engine.control.event.ElementEventQueue$QProcessor.run(Ele
me
> nt
>
> "ElementEventQueue.QProcessor-1" daemon prio=5 tid=0x28989ad0
nid=0x9d8
> waiting on moni
> at java.lang.Object.wait(Native Method)
> at java.lang.Object.wait(Object.java:415)
> at
>
org.apache.jcs.engine.control.event.ElementEventQueue.take(ElementEventQ
ue
> ue
> at
>
org.apache.jcs.engine.control.event.ElementEventQueue.access$300(Element
Ev
> en
> at
>
org.apache.jcs.engine.control.event.ElementEventQueue$QProcessor.run(Ele
me
> nt
>
> "cache-PrepareThread" daemon prio=5 tid=0x28b01e80 nid=0x168 runnable
> [0x26d4f000..0x26
> at java.lang.Object.wait(Native Method)
> at
>
weblogic.persist.TxIndexedFileImpl$PrepareThread.run(TxIndexedFileImpl.j
av
> a:
>
> "cache-CommitThread" daemon prio=5 tid=0x2882ad88 nid=0xedc runnable
> [0x26cdf000..0x26c
> at java.lang.Object.wait(Native Method)
> at
>
weblogic.persist.TxIndexedFileImpl$CommitThread.run(TxIndexedFileImpl.ja
va
> :6
>
> "ElementEventQueue.QProcessor-1" daemon prio=5 tid=0x287dccd0
nid=0xc24
> waiting on moni
> at java.lang.Object.wait(Native Method)
> at java.lang.Object.wait(Object.java:415)
> at
>
org.apache.jcs.engine.control.event.ElementEventQueue.take(ElementEventQ
ue
> ue
> at
>
org.apache.jcs.engine.control.event.ElementEventQueue.access$300(Element
Ev
> en
> at
>
org.apache.jcs.engine.control.event.ElementEventQueue$QProcessor.run(Ele
me
> nt
>
> "ElementEventQueue.QProcessor-1" daemon prio=5 tid=0x28928710
nid=0xac0
> waiting on moni
> at java.lang.Object.wait(Native Method)
> at java.lang.Object.wait(Object.java:415)
> at
>
org.apache.jcs.engine.control.event.ElementEventQueue.take(ElementEventQ
ue
> ue
> at
>
org.apache.jcs.engine.control.event.ElementEventQueue.access$300(Element
Ev
> en
> at
>
org.apache.jcs.engine.control.event.ElementEventQueue$QProcessor.run(Ele
me
> nt
>
> "SSLListenThread.Default" prio=5 tid=0x288b2250 nid=0x92c runnable
> [0x269df000..0x269df
> at java.net.PlainSocketImpl.socketAccept(Native Method)
> at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:463)
> at java.net.ServerSocket.implAccept(ServerSocket.java:238)
> at javax.net.ssl.impl.SSLServerSocketImpl.accept(Unknown
Source)
> at weblogic.t3.srvr.ListenThread.run(ListenThread.java:263)
>
> "ListenThread.Default" prio=5 tid=0x288cbd70 nid=0x644 runnable
> [0x265df000..0x265dfdbc
> at java.net.PlainSocketImpl.socketAccept(Native Method)
> at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:463)
> at java.net.ServerSocket.implAccept(ServerSocket.java:238)
> at
>
com.wily.introscope.agent.probe.net.ManagedServerSocket.accept(ManagedSe
rv
> er
> at
>
weblogic.socket.WeblogicServerSocket.accept(WeblogicServerSocket.java:26
)
> at weblogic.t3.srvr.ListenThread.run(ListenThread.java:263)
>
> "ElementEventQueue.QProcessor-1" daemon prio=5 tid=0x288d28e0
nid=0x898
> waiting on moni
> at java.lang.Object.wait(Native Method)
> at java.lang.Object.wait(Object.java:415)
> at
>
org.apache.jcs.engine.control.event.ElementEventQueue.take(ElementEventQ
ue
> ue
> at
>
org.apache.jcs.engine.control.event.ElementEventQueue.access$300(Element
Ev
> en
> at
>
org.apache.jcs.engine.control.event.ElementEventQueue$QProcessor.run(Ele
me
> nt
>
>
>
>
************************************************************************
**
> **
> *****
> Important Note
> This email (including any attachments) contains information which is
> confidential and may be subject to legal privilege. If you are not
> the intended recipient you must not use, distribute or copy this
> email. If you have received this email in error please notify the
> sender immediately and delete this email. Any views expressed in this
> email are not necessarily the views of AXA. Thank you.
>
************************************************************************
**
> **
> *****
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail:
turbine-jcs-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail:
turbine-jcs-user-help@jakarta.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: turbine-jcs-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: turbine-jcs-user-help@jakarta.apache.org