Community

getPort() call takes too long

reply from bu jo in JBoss Web Services - View the full discussion

Hi there!

 

Below is an excerpt of the org.jboss.ws.core.jaxws.spi.ServiceDelegateImpl.java class which shows the method that consumes so much time in my case. What I'd like to know is, how can I prevent the if part being executed, i.e. how can I put the portName into annotatedPorts before getPort is called? Through annotation i suppose.. but where.. on the web service interface?

 

 

private <T> T getPortInternal(EndpointMetaData epMetaData, Class<T> seiClass)

{

     QName portName = epMetaData.getPortName();

     // Adjust the endpoint meta data according to the annotations

     if (annotatedPorts.contains(portName) == false)

     {

          synchronized (epMetaData)

          {

               if (annotatedPorts.contains(portName) == false)

               {

                    JAXWSClientMetaDataBuilder metaDataBuilder =

                    new JAXWSClientMetaDataBuilder();

                    metaDataBuilder.rebuildEndpointMetaData(epMetaData, seiClass);

 

                    annotatedPorts.add(portName);

               }

          }

     }

 

     return (T)createProxy(seiClass, epMetaData);

}

 

 

 

Reply to this message by going to Community

Start a new discussion in JBoss Web Services at Community