You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by er...@apache.org on 2003/08/13 04:21:40 UTC
cvs commit: xml-axis/java/src/org/apache/axis/utils NSStack.java
ericf 2003/08/12 19:21:40
Modified: java/src/org/apache/axis/encoding
DeserializationContextImpl.java
DeserializerImpl.java SerializationContextImpl.java
java/src/org/apache/axis/utils NSStack.java
Log:
replaced calls to log.isDebugEnabled with a cached value. These classes
have methods that are heavily used, and checking for the status of debug
settings is prohibitively expensive. So, we only do it once per instance
lifecycle, which is the same as once per message request/response loop.
Revision Changes Path
1.77 +18 -13 xml-axis/java/src/org/apache/axis/encoding/DeserializationContextImpl.java
Index: DeserializationContextImpl.java
===================================================================
RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/encoding/DeserializationContextImpl.java,v
retrieving revision 1.76
retrieving revision 1.77
diff -u -r1.76 -r1.77
--- DeserializationContextImpl.java 18 Jun 2003 23:01:49 -0000 1.76
+++ DeserializationContextImpl.java 13 Aug 2003 02:21:40 -0000 1.77
@@ -103,6 +103,11 @@
protected static Log log =
LogFactory.getLog(DeserializationContextImpl.class.getName());
+ // invariant member variable to track low-level logging requirements
+ // we cache this once per instance lifecycle to avoid repeated lookups
+ // in heavily used code.
+ private final boolean debugEnabled = log.isDebugEnabled();
+
static final SchemaVersion schemaVersions[] = new SchemaVersion [] {
SchemaVersion.SCHEMA_1999,
SchemaVersion.SCHEMA_2000,
@@ -757,7 +762,7 @@
*/
public void pushNewElement(MessageElement elem)
{
- if (log.isDebugEnabled()) {
+ if (debugEnabled) {
log.debug("Pushing element " + elem.getName());
}
@@ -788,7 +793,7 @@
public void pushElementHandler(SOAPHandler handler)
{
- if (log.isDebugEnabled()) {
+ if (debugEnabled) {
log.debug(Messages.getMessage("pushHandler00", "" + handler));
}
@@ -818,7 +823,7 @@
topHandler = null;
}
- if (log.isDebugEnabled()) {
+ if (debugEnabled) {
if (result == null) {
log.debug(Messages.getMessage("popHandler00", "(null)"));
} else {
@@ -850,7 +855,7 @@
* endDocument is invoked at the end of the document.
*/
public void endDocument() throws SAXException {
- if (log.isDebugEnabled()) {
+ if (debugEnabled) {
log.debug("Enter: DeserializationContextImpl::endDocument()");
}
if (!doneParsing && (recorder != null))
@@ -858,7 +863,7 @@
doneParsing = true;
- if (log.isDebugEnabled()) {
+ if (debugEnabled) {
log.debug("Exit: DeserializationContextImpl::endDocument()");
}
}
@@ -878,7 +883,7 @@
public void startPrefixMapping(String prefix, String uri)
throws SAXException
{
- if (log.isDebugEnabled()) {
+ if (debugEnabled) {
log.debug("Enter: DeserializationContextImpl::startPrefixMapping(" + prefix + ", " + uri + ")");
}
@@ -917,7 +922,7 @@
topHandler.startPrefixMapping(prefix, uri);
}
- if (log.isDebugEnabled()) {
+ if (debugEnabled) {
log.debug("Exit: DeserializationContextImpl::startPrefixMapping()");
}
}
@@ -925,7 +930,7 @@
public void endPrefixMapping(String prefix)
throws SAXException
{
- if (log.isDebugEnabled()) {
+ if (debugEnabled) {
log.debug("Enter: DeserializationContextImpl::endPrefixMapping(" + prefix + ")");
}
@@ -937,7 +942,7 @@
topHandler.endPrefixMapping(prefix);
}
- if (log.isDebugEnabled()) {
+ if (debugEnabled) {
log.debug("Exit: DeserializationContextImpl::endPrefixMapping()");
}
}
@@ -995,7 +1000,7 @@
String qName, Attributes attributes)
throws SAXException
{
- if (log.isDebugEnabled()) {
+ if (debugEnabled) {
log.debug("Enter: DeserializationContextImpl::startElement(" + namespace + ", " + localName + ")");
}
@@ -1059,7 +1064,7 @@
namespaces.push();
}
- if (log.isDebugEnabled()) {
+ if (debugEnabled) {
log.debug("Exit: DeserializationContextImpl::startElement()");
}
}
@@ -1070,7 +1075,7 @@
public void endElement(String namespace, String localName, String qName)
throws SAXException
{
- if (log.isDebugEnabled()) {
+ if (debugEnabled) {
log.debug("Enter: DeserializationContextImpl::endElement(" + namespace + ", " + localName + ")");
}
@@ -1095,7 +1100,7 @@
namespaces.pop();
- if (log.isDebugEnabled()) {
+ if (debugEnabled) {
String name = curElement != null ?
curElement.getClass().getName() + ":" +
curElement.getName() : null;
1.37 +10 -5 xml-axis/java/src/org/apache/axis/encoding/DeserializerImpl.java
Index: DeserializerImpl.java
===================================================================
RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/encoding/DeserializerImpl.java,v
retrieving revision 1.36
retrieving revision 1.37
diff -u -r1.36 -r1.37
--- DeserializerImpl.java 18 Jun 2003 23:01:49 -0000 1.36
+++ DeserializerImpl.java 13 Aug 2003 02:21:40 -0000 1.37
@@ -91,6 +91,11 @@
protected Object value = null;
+ // invariant member variable to track low-level logging requirements
+ // we cache this once per instance lifecycle to avoid repeated lookups
+ // in heavily used code.
+ private final boolean debugEnabled = log.isDebugEnabled();
+
// isEnded is set when the endElement is called
protected boolean isEnded = false;
@@ -280,7 +285,7 @@
while (e.hasMoreElements()) {
Target target = (Target)e.nextElement();
target.set(value);
- if (log.isDebugEnabled()) {
+ if (debugEnabled) {
log.debug(Messages.getMessage("setValueInTarget00",
"" + value, "" + target));
}
@@ -373,7 +378,7 @@
id = attributes.getValue("id");
if (id != null) {
context.addObjectById(id, value);
- if (log.isDebugEnabled()) {
+ if (debugEnabled) {
log.debug(Messages.getMessage("deserInitPutValueDebug00", "" + value, id));
}
context.registerFixup("#" + id, this);
@@ -384,7 +389,7 @@
isHref = true;
Object ref = context.getObjectByRef(href);
- if (log.isDebugEnabled()) {
+ if (debugEnabled) {
log.debug(Messages.getMessage(
"gotForID00",
new String[] {"" + ref, href, (ref == null ? "*null*" : ref.getClass().toString())}));
@@ -462,7 +467,7 @@
}
}
- if (log.isDebugEnabled()) {
+ if (debugEnabled) {
log.debug(Messages.getMessage("gotType00", "Deser", "" + type));
}
@@ -549,7 +554,7 @@
// This is necessary for proper multi-reference deserialization.
if (id != null) {
context.addObjectById(id, value);
- if (log.isDebugEnabled()) {
+ if (debugEnabled) {
log.debug(Messages.getMessage("deserPutValueDebug00", "" + value, id));
}
}
1.97 +8 -3 xml-axis/java/src/org/apache/axis/encoding/SerializationContextImpl.java
Index: SerializationContextImpl.java
===================================================================
RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/encoding/SerializationContextImpl.java,v
retrieving revision 1.96
retrieving revision 1.97
diff -u -r1.96 -r1.97
--- SerializationContextImpl.java 18 Jul 2003 12:40:40 -0000 1.96
+++ SerializationContextImpl.java 13 Aug 2003 02:21:40 -0000 1.97
@@ -116,6 +116,11 @@
protected static Log log =
LogFactory.getLog(SerializationContextImpl.class.getName());
+ // invariant member variable to track low-level logging requirements
+ // we cache this once per instance lifecycle to avoid repeated lookups
+ // in heavily used code.
+ private final boolean debugEnabled = log.isDebugEnabled();
+
private NSStack nsStack = new NSStack();
private boolean writingStartTag = false;
private boolean onlyXML = true;
@@ -452,7 +457,7 @@
*/
public void registerPrefixForURI(String prefix, String uri)
{
- if (log.isDebugEnabled()) {
+ if (debugEnabled) {
log.debug(Messages.getMessage("register00", prefix, uri));
}
@@ -901,7 +906,7 @@
throws IOException
{
java.util.ArrayList vecQNames = null;
- if (log.isDebugEnabled()) {
+ if (debugEnabled) {
log.debug(Messages.getMessage("startElem00",
"[" + qName.getNamespaceURI() + "]:" + qName.getLocalPart()));
}
@@ -1007,7 +1012,7 @@
{
String elementQName = (String)elementStack.pop();
- if (log.isDebugEnabled()) {
+ if (debugEnabled) {
log.debug(Messages.getMessage("endElem00", "" + elementQName));
}
1.39 +7 -3 xml-axis/java/src/org/apache/axis/utils/NSStack.java
Index: NSStack.java
===================================================================
RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/utils/NSStack.java,v
retrieving revision 1.38
retrieving revision 1.39
diff -u -r1.38 -r1.39
--- NSStack.java 22 Apr 2003 19:36:04 -0000 1.38
+++ NSStack.java 13 Aug 2003 02:21:40 -0000 1.39
@@ -88,6 +88,10 @@
private int top = 0;
private int iterator = 0;
private int currentDefaultNS = -1;
+ // invariant member variable to track low-level logging requirements
+ // we cache this once per instance lifecycle to avoid repeated lookups
+ // in heavily used code.
+ private final boolean traceEnabled = log.isTraceEnabled();
public NSStack() {
stack = new Mapping[32];
@@ -106,7 +110,7 @@
stack = newstack;
}
- if (log.isTraceEnabled())
+ if (traceEnabled)
log.trace("NSPush (" + stack.length + ")");
stack[top] = null;
@@ -132,13 +136,13 @@
}
if (top == 0) {
- if (log.isTraceEnabled())
+ if (traceEnabled)
log.trace("NSPop (" + Messages.getMessage("empty00") + ")");
return;
}
- if (log.isTraceEnabled()){
+ if (traceEnabled){
log.trace("NSPop (" + stack.length + ")");
}
}