當前的SAX解析器需要大量的時間(20分鐘)和堆內存(大約400mb)來反序列化來自肥皂服務器的響應。我們的響應XML平均大小爲4 MB。我可以爲Axis 1.4使用不同的解析器嗎?
日誌的一部分,當它運行的應用程序了出來堆低於
DEBUG (org.apache.axis.encoding.DeserializationContext) Pushing handler [email protected]
DEBUG (org.apache.axis.i18n.ProjectResourceBundle) org.apache.axis.i18n.resource::handleGetObject(newElem00)
DEBUG (org.apache.axis.message.MessageElement) New MessageElement ([email protected]) named {}name
DEBUG (org.apache.axis.encoding.DeserializationContext) Pushing element name
DEBUG (org.apache.axis.utils.NSStack) NSPush (32)
DEBUG (org.apache.axis.encoding.DeserializationContext) Exit: DeserializationContext::startElement()
DEBUG (org.apache.axis.encoding.DeserializationContext) Enter: DeserializationContext::endElement(, name)
DEBUG (org.apache.axis.i18n.ProjectResourceBundle) org.apache.axis.i18n.resource::handleGetObject(popHandler00)
DEBUG (org.apache.axis.encoding.DeserializationContext) Popping handler [email protected]
DEBUG (org.apache.axis.utils.NSStack) NSPop (32)
DEBUG (org.apache.axis.encoding.DeserializationContext) Popped element stack to org.apache.axis.message.MessageElement:property
DEBUG (org.apache.axis.encoding.DeserializationContext) Exit: DeserializationContext::endElement()
DEBUG (org.apache.axis.encoding.DeserializationContext) Enter: DeserializationContext::startElement(, value)
DEBUG (org.apache.axis.i18n.ProjectResourceBundle) org.apache.axis.i18n.resource::handleGetObject(pushHandler00)
DEBUG (org.apache.axis.encoding.DeserializationContext) Pushing handler [email protected]
DEBUG (org.apache.axis.i18n.ProjectResourceBundle) org.apache.axis.i18n.resource::handleGetObject(newElem00)
DEBUG (org.apache.axis.message.MessageElement) New MessageElement ([email protected]) named {}value
DEBUG (org.apache.axis.encoding.DeserializationContext) Pushing element value
DEBUG (org.apache.axis.utils.NSStack) NSPush (32)
DEBUG (org.apache.axis.encoding.DeserializationContext) Exit: DeserializationContext::startElement()
DEBUG (org.apache.axis.encoding.DeserializationContext) Enter: DeserializationContext::endElement(, value)
DEBUG (org.apache.axis.i18n.ProjectResourceBundle) org.apache.axis.i18n.resource::handleGetObject(popHandler00)
DEBUG (org.apache.axis.encoding.DeserializationContext) Popping handler [email protected]
DEBUG (org.apache.axis.utils.NSStack) NSPop (32)
我不能用的,因爲技術原因Axis2的。
我試過使用HTTP Commons客戶端而不是HTTP客戶端,但響應時間保持不變。
如何在這種情況下將不同的解析器(例如xerces 2.10.0或xstream 1.3.1?)鏈接到Axis 1.4框架,以便內存管理和響應時間有利?
由於調用java時選擇AXISCLASSPATH。但由於關鍵性質,我必須改用axis2。 axis2相對較快並且內存密集程度較低。 – NishM