Hi again,
I have a bit of follow-up to the problem I described yesterday. Basically, I screwed up log4j.
Here's what I described yesterday:
"I have coded a simple integration server to run on top of Tomcat. It works fine, \
except that one of the connectors polls a SOAP connection for data on a regular \
schedule (which, in turn looks for data in a JMS topic). That SOAP connection is to \
an AXIS web service running on the same or another Tomcat instance. The problem is \
that when it does so it appears to add another "instance" of the query. For example \
the logs on the integration server (using log4j) show an attempt to poll once every \
ten seconds. On the AXIS side the logs show that during the first query there was an \
attempt to poll. Ten seconds later there will be two attempts to poll, then ten \
seconds after that three attempts and so on. This continues until things run out of \
memory or I Stop and Start the Axis application within Tomcat."
I decided, for no particularly compelling reason, to leave the log4j code in place but supplement it with a bit of hand-rolled logging. So I whipped up a quick subroutine that opens a FileWriter in append mode and writes out "Here at HH:mm:ss\n". Much to my surprise, even though the logging code on either side of this debug code would appear to be called multiple times, this code was only called once.
It turns out that my interface class wasn't getting it's own logger - it was getting the logger from the implementation class, which was a singleton. Each time it called the 'getInstance' method it was also adding another FileAppender to the log object.
Anyway, problem solved. Thanks for your time,
Mike
------------------------------------------------------------------------------
Confidentiality Note: This message is intended for use only by the individual or entity to which it is addressed and may contain information that is privileged, confidential, and exempt from disclosure under applicable law. If the reader of this message is not the intended recipient or the employee or agent responsible for delivering the message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this communication in error, please contact the sender immediately and destroy the material in its entirety, whether electronic or hard copy. Thank you.
------------
Visit us online at our award-winning www.clevelandclinic.org for a complete listing of Cleveland Clinic services, staff and locations from one of the country's leading hospitals.
==============================================================================