Hello,

I've noticed a huge decrease in performance with RC2. A transaction that
typically takes 300ms with Axis 1.0, 1.1Beta and RC1 now takes 1500ms with
RC2.

This performance decrease seems to be only affecting methods that return a
Vector (SOAP_VECTOR) from the service - but I'll need to carry out further
testing to verify this. Does anybody have any ideas on what the problem
might be?

Here's sample code of what has slowed down.

  public Vector getResourcesOfType(long authorityToken, int resourceTypeId)
{
    long startTick = System.currentTimeMillis();

    String  methodName  = "getResourcesOfType";
    Vector  results     = null;
    try {
      Call    call    = (Call)service.createCall();
      QName   qname1  = new QName(urnClassName, "Resource");
      QName   qname2  = new QName(urnClassName, "ResourceType");

      call.registerTypeMapping(Resource.class, qname1,
        new BeanSerializerFactory(Resource.class, qname1),
        new BeanDeserializerFactory(Resource.class, qname1));
      call.registerTypeMapping(ResourceType.class, qname2,
        new BeanSerializerFactory(ResourceType.class, qname2),
        new BeanDeserializerFactory(ResourceType.class, qname2));
      call.setTargetEndpointAddress(AppServerURL);
      call.setOperationName(new QName(serviceName, "getResourcesOfType"));
      call.addParameter("authorityToken", XMLType.XSD_LONG,
ParameterMode.IN);
      call.addParameter("resourceTypeId", XMLType.XSD_INTEGER,
ParameterMode.IN);
      call.setReturnType(XMLType.SOAP_VECTOR);
      results = (Vector)call.invoke(new Object[]{new Long(authorityToken),
new Integer(resourceTypeId)});
    }
    catch(AxisFault ax) {
      logger.error(methodName + " : " + ax);
    }
    catch(Exception ex) {
      logger.error(methodName + " : " + ex);
    }
    logger.info(methodName + " : " + (System.currentTimeMillis() -
startTick));
    return results;

Regards
Stephen Graham.

Reply via email to