[
https://issues.apache.org/jira/browse/AXIS-2749?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12885572#action_12885572
]
Prakash C Rao commented on AXIS-2749:
-------------------------------------
Yes, i too observed the same issue for our application with Axis 1.4. This bug
really makes Axis 1.4 library useless for us. You can try out Axis2 1.5.1 and
it's much stable version. I've done profiling for my application with Axis2
1.5.1 and it's very low on memory footprint. There are few best practices that
you need to implement when you write client code such as stub pooling, creating
only one configuration context and fine tunning http client parameters and
after doing all this, i see low memory footprint with Axis2 1.5.1.
As an alternate to Axis, i tried protocol buffer from google to exchange data
and found this to be much simpler, clean, easily maintainable, faster and yet
low on memory footprint. Protocol buffer uses java serialization mechanism and
you can write an object to any outputstream (output stream of http connection
with doPost method) and on the other side you can easily construct the object
back. Since this works on java serialization, it's much faster compared to XML
transfer.
> SAX2EventRecorder throws Out of Memory exception during Deserialization
> -----------------------------------------------------------------------
>
> Key: AXIS-2749
> URL: https://issues.apache.org/jira/browse/AXIS-2749
> Project: Axis
> Issue Type: Bug
> Components: Serialization/Deserialization
> Affects Versions: 1.4
> Environment: Operating System: OS X 10.5.4, Java SE: 1.6, Java EE:
> 1.5, Axis: 1.4
> Reporter: Michael Olson
> Priority: Critical
>
> After an unspecified amount of time, usually less than twelve hours, a thread
> repeatedly deserializing SOAP calls will eventually throw a
> java.lang.OutOfMemoryError. For instance:
> Exception in thread "Thread-2" java.lang.OutOfMemoryError: Java heap space
> at
> org.apache.axis.message.SAX2EventRecorder$objArrayVector.add(SAX2EventRecorder.java:254)
> at
> org.apache.axis.message.SAX2EventRecorder.startEntity(SAX2EventRecorder.java:116)
> at
> org.apache.axis.encoding.DeserializationContext.startEntity(DeserializationContext.java:1178)
> at
> org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:214)
> at
> org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:1141)
> at org.apache.axis.message.RPCElement.deserialize(RPCElement.java:236)
> at org.apache.axis.message.RPCElement.getParams(RPCElement.java:384)
> at org.apache.axis.client.Call.invoke(Call.java:2467)
> at org.apache.axis.client.Call.invoke(Call.java:2366)
> at org.apache.axis.client.Call.invoke(Call.java:1812)
> at com.opencalais.ws.CalaisSoapStub.enlighten(CalaisSoapStub.java:113)
> at com.opencalais.api.CalaisClient.enlighten(CalaisClient.java:155)
> at
> edu.caltech.cs.eventweb.calaistester.CalaisFeedSubmitter.processOne(CalaisFeedSubmitter.java:88)
> at
> edu.caltech.cs.eventweb.calaistester.CalaisFeedSubmitter.run(CalaisFeedSubmitter.java:143)
> at java.lang.Thread.run(Thread.java:637)
> It is worth noting that the thread in question maintains very little state
> itself. It pulls objects from a queue, makes a soap call with that object as
> a parameter, and then puts the result in another queue. That is all that is
> expected of that thread.
> This is either very similar or identical to the problem reported for version
> 1.2 reported here but unassigned:
> https://issues.apache.org/jira/browse/AXIS-2698
> I wanted to make sure this was also identified as a 1.4 problem. This bug is
> making the Axis library incredibly unstable for me.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]