Uploaded image for project: 'Tuscany'
  1. Tuscany
  2. TUSCANY-2240

Creation of SDO object out of XML (read from an JMS message) is taking too long

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • Java-SDO-1.0, Java-SCA-1.1
    • None
    • None
    • Windows XP Pro SP2, JDK 1.6_06, SCA 1.1, SDO 1.1

    Description

      After I've switched from JMS messages containing Objects to XML (migrated from Tuscany 1.0.1 to 1.1) my application needs around 7 sec to call my service.
      Before it reacted instantly.

      I've debugged into to see where the problem is and saw that receiving of the JMS message works still instantly but the processing takes pretty long.
      Below in the stack trace one can see that a new http connection is opened (???) and I guess that's responsible for the delay.

      Any explanation for this behaviour? What am I doing wrong?

      The service's method I'm calling has an argument of complex type.

      Thanks,
      Philipp

      Daemon Thread [ActiveMQ Session Task] (Suspended)
      PlainSocketImpl.socketConnect(InetAddress, int, int) line: not available [native method]
      PlainSocketImpl.doConnect(InetAddress, int, int) line: 333
      PlainSocketImpl.connectToAddress(InetAddress, int, int) line: 195
      PlainSocketImpl.connect(SocketAddress, int) line: 182
      Socket.connect(SocketAddress, int) line: 519
      Socket.connect(SocketAddress) line: 469
      HttpClient(NetworkClient).doConnect(String, int) line: 157
      HttpClient.openServer(String, int) line: 394
      HttpClient.openServer() line: 529
      HttpClient.<init>(URL, Proxy, int) line: 233
      HttpClient.New(URL, Proxy, int, boolean) line: 306
      HttpClient.New(URL, Proxy, int) line: 323
      HttpURLConnection.getNewHttpClient(URL, Proxy, int) line: 788
      HttpURLConnection.plainConnect() line: 729
      HttpURLConnection.connect() line: 654
      HttpURLConnection.getInputStream() line: 977
      URIConverterImpl.createURLInputStream(URI) line: 566
      URIConverterImpl.createInputStream(URI) line: 453
      SDOXMLResourceImpl$SDOXMLLoadImpl$XmlHandler(XMLHandler).getPackageForURI(String) line: 2294
      SDOXMLResourceImpl$SDOXMLLoadImpl$XmlHandler(XMLHandler).getFactoryForPrefix(String) line: 2188
      SDOXMLResourceImpl$SDOXMLLoadImpl$XmlHandler(XMLHandler).createObjectByType(String, String, boolean) line: 1145
      SDOXMLResourceImpl$SDOXMLLoadImpl$XmlHandler(XMLHandler).createTopObject(String, String) line: 1247
      SDOXMLResourceImpl$SDOXMLLoadImpl$XmlHandler(XMLHandler).processElement(String, String, String) line: 883
      SDOXMLResourceImpl$SDOXMLLoadImpl$XmlHandler(XMLHandler).startElement(String, String, String) line: 866
      SDOXMLResourceImpl$SDOXMLLoadImpl$XmlHandler(XMLHandler).startElement(String, String, String, Attributes) line: 627
      SDOXMLResourceImpl$SDOXMLLoadImpl$XmlHandler.startElement(String, String, String, Attributes) line: 401
      StAX2SAXAdapter.handleStartElement(XMLStreamReader, ContentHandler) line: 162
      StAX2SAXAdapter.parse(XMLStreamReader, ContentHandler) line: 111
      SDOXMLResourceImpl$SDOXMLLoadImpl$1.run() line: 472
      AccessController.doPrivileged(PrivilegedExceptionAction<T>) line: not available [native method]
      SDOXMLResourceImpl$SDOXMLLoadImpl.load(XMLResource, XMLStreamReader, Map) line: 470
      SDOXMLResourceImpl.load(XMLStreamReader, Map) line: 598
      XMLDocumentImpl.load(XMLStreamReader, Map) line: 248
      XMLStreamHelperImpl.loadDocument(XMLStreamReader, Map) line: 136
      XMLStreamHelperImpl.loadObject(XMLStreamReader, Map) line: 98
      XMLStreamHelperImpl.loadObject(XMLStreamReader) line: 102
      XMLStreamReader2DataObject.transform(XMLStreamReader, TransformationContext) line: 49
      XMLStreamReader2DataObject.transform(Object, TransformationContext) line: 34
      DefaultTransformerExtensionPoint$LazyPullTransformer.transform(Object, TransformationContext) line: 199
      MediatorImpl.mediate(Object, DataType, DataType, Map<String,Object>) line: 73
      Input2InputTransformer.transform(Object[], TransformationContext) line: 179
      Input2InputTransformer.transform(Object, TransformationContext) line: 43
      MediatorImpl.mediate(Object, DataType, DataType, Map<String,Object>) line: 73
      DataTransformationInterceptor.transform(Object, DataType, DataType, boolean) line: 175
      DataTransformationInterceptor.invoke(Message) line: 72
      RuntimeWireInvoker.invoke(InvocationChain, Message, RuntimeWire) line: 113
      RuntimeWireInvoker.invoke(RuntimeWire, Operation, Message) line: 88
      RuntimeWireInvoker.invoke(Operation, Message) line: 82
      RuntimeWireImpl.invoke(Operation, Object[]) line: 122
      JMSBindingListener.invokeService(Message) line: 108
      JMSBindingListener.onMessage(Message) line: 62
      ActiveMQMessageConsumer.dispatch(MessageDispatch) line: 854
      ActiveMQSessionExecutor.dispatch(MessageDispatch) line: 99
      ActiveMQSessionExecutor.iterate() line: 166
      PooledTaskRunner.runTask() line: 117
      PooledTaskRunner.access$100(PooledTaskRunner) line: 26
      PooledTaskRunner$1.run() line: 44
      ThreadPoolExecutor$Worker.runTask(Runnable) line: 665
      ThreadPoolExecutor$Worker.run() line: 690
      Thread.run() line: 619

      Attachments

        Activity

          People

            rfeng Zhaohui Feng
            pkonrad Ph.Konradi
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: