[Mulgara-svn] r1935 - trunk/src/jar/server-rmi/java/org/mulgara/server/rmi
alexhall at mulgara.org
alexhall at mulgara.org
Mon Apr 12 15:13:13 UTC 2010
Author: alexhall
Date: 2010-04-12 08:13:12 -0700 (Mon, 12 Apr 2010)
New Revision: 1935
Modified:
trunk/src/jar/server-rmi/java/org/mulgara/server/rmi/RemoteAnswerWrapperAnswer.java
Log:
Only generate stack traces when in debug mode
Modified: trunk/src/jar/server-rmi/java/org/mulgara/server/rmi/RemoteAnswerWrapperAnswer.java
===================================================================
--- trunk/src/jar/server-rmi/java/org/mulgara/server/rmi/RemoteAnswerWrapperAnswer.java 2010-04-12 15:12:23 UTC (rev 1934)
+++ trunk/src/jar/server-rmi/java/org/mulgara/server/rmi/RemoteAnswerWrapperAnswer.java 2010-04-12 15:13:12 UTC (rev 1935)
@@ -100,7 +100,8 @@
/**
* Keeps the stack trace of where the answer was originally closed.
*/
- private StackTrace closed;
+ private StackTrace closedTrace;
+ private boolean closed = false;
//
// Constructor
@@ -217,7 +218,7 @@
// make onFirstPage false if the page is invalid
onFirstPage = (currentPage != null);
// Abandon the last prefetched page, and start a new prefetch thread
- prefetchThread = new PrefetchThread(new StackTrace());
+ prefetchThread = new PrefetchThread();
}
} catch (RemoteException er) {
logger.warn("RemoteException thrown in beforeFirst", er);
@@ -247,11 +248,13 @@
prefetchThread = null;
}
- if (closed != null) {
- logger.warn("Was already closed at: " + closed);
+ if (closed) {
+ logger.warn("Was already closed.");
+ if (closedTrace != null) logger.debug("Originally closed at: " + closedTrace);
throw new TuplesException("Attempting to close answer twice.\n" + new StackTrace());
}
- closed = new StackTrace();
+ closed = true;
+ if (logger.isDebugEnabled()) closedTrace = new StackTrace();
// no more references left, close the remote object
try {
@@ -468,7 +471,7 @@
page = remoteAnswer.nextPage();
}
// launch new prefetch thread
- prefetchThread = new PrefetchThread(new StackTrace());
+ prefetchThread = new PrefetchThread();
return page;
}
@@ -521,14 +524,14 @@
private boolean finished;
/** Stack Trace for client-side invokation */
- private StackTrace caller;
+ private final StackTrace caller;
/**
* Main constructor. Starts the current thread.
*/
- public PrefetchThread(StackTrace caller) {
+ public PrefetchThread() {
- this.caller = caller;
+ this.caller = logger.isDebugEnabled() ? new StackTrace() : null;
page = null;
finished = false;
start();
@@ -545,7 +548,8 @@
// finished will never be set
// log exception and include the stack trace that created this Thread.
- logger.warn("Exception thrown in prefetchThread.\n" + caller);
+ logger.warn("Exception thrown in prefetchThread.");
+ if (caller != null) logger.debug("Prefetch caller: " + caller);
logger.warn("Caused by", e);
}
}
More information about the Mulgara-svn
mailing list