Has anyone else noticed that if you create an org.apache.axis.client.Call in a servlet 
in tomcat, it consumes a thread and never dies?  I seem to think this is because of 
the ThreadLocal references throughout the classes.  Is there something we can do to 
avoid this?  I am only following the documentation on how to use it, and calling the 
generated code from a servlet:



try {

  EdgeHealthPortType port = getService().getEdgeHealthPort();

  modem = (String) map.get(UsageKeys.MODEM_MAC_ADDRESS_KEY);

  //this is the generated function, which creates an org.apache.axis.client.Call 
object,
  //which gets somehow stuck in tomcat's threadpool forever.......
  usageToday = port.getModemCurrentUsage(modem);

 
  
} 
catch (javax.xml.rpc.ServiceException se) {
    throwError(
    modem,
    se,
    UsageKeys.ERROR_CURRENT_USAGE_NOT_AVAILABLE_KEY);
} 
catch (java.rmi.RemoteException re) {
    throwError(
    modem,
    re,
    UsageKeys.ERROR_CURRENT_USAGE_NOT_AVAILABLE_KEY);
}


And ideas?  Anyone else experience this?  I used Jprofiler to diagnose this.  


Jennifer Jackson
Programmer/Analyst

Reply via email to