[ 
https://issues.apache.org/jira/browse/AXIS-2912?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15010790#comment-15010790
 ] 

Rahul Mourya commented on AXIS-2912:
------------------------------------

Can we have any update on this issue. Just to add, based on the internal 
testing and below link

http://www.javacodegeeks.com/2010/07/java-best-practices-dateformat-in.html

including a ThreadPool in CalendarSerializer.java and CalendarDeserializer.java 
for the DateFormat instead of the current approach of synchronizing on a static 
object seems to improve the performance drastically. Could you please have a 
look at the above mentioned link.

Regards
Rahul

> Axis 1.4 performance
> --------------------
>
>                 Key: AXIS-2912
>                 URL: https://issues.apache.org/jira/browse/AXIS-2912
>             Project: Axis
>          Issue Type: Bug
>          Components: Serialization/Deserialization
>    Affects Versions: 1.4
>         Environment: ***** Pivotal Values ***** 
>  Reported Version: 9.8
>  OSName: SUSE Linux Enterprise Server
>  OSVersion: 
>  Hardware: 
>  Environment: Any Operating System
> --------------------
>            Reporter: Rahul Mourya
>
> On serialization process we saw lots of threads blocked executing 
> org.apache.axis.encoding.ser.CalendarSerializer.getValueAsString (20 times in 
> 5 dumps, 6 times max). This method seems to access to a static 
> SimpleDateFormat object in a synchronized block, so it's shaded for any 
> thread serializing SOAP response. They presume this code is used to serialize 
> date attibutes on SOAP response. It is affecting the overall performance 
> while forming the SOAP response with the increase in the number of threads. 
> Below is the thread stack for the blocked threads :
> =========================
> "qtp124606801-507" #507 prio=5 os_prio=0 tid=0x0000000000e44800 nid=0x6c84 
> waiting for monitor entry [0x00002af16048c000]
>    java.lang.Thread.State: BLOCKED (on object monitor)
>       at 
> org.apache.axis.encoding.ser.CalendarSerializer.getValueAsString(CalendarSerializer.java:67)
>       - waiting to lock <0x00000000a25f8c98> (a java.text.SimpleDateFormat)
>       at 
> org.apache.axis.encoding.ser.CalendarSerializer.serialize(CalendarSerializer.java:58)
>       at 
> org.apache.axis.encoding.SerializationContext.serializeActual(SerializationContext.java:1504)
>       at 
> org.apache.axis.encoding.SerializationContext.serialize(SerializationContext.java:980)
>       at 
> org.apache.axis.encoding.SerializationContext.serialize(SerializationContext.java:734)
>       at 
> org.apache.axis.encoding.ser.BeanSerializer.serialize(BeanSerializer.java:230)
>       at 
> org.apache.axis.encoding.SerializationContext.serializeActual(SerializationContext.java:1504)
>       at 
> org.apache.axis.encoding.SerializationContext.serialize(SerializationContext.java:980)
>       at 
> org.apache.axis.encoding.SerializationContext.outputMultiRefs(SerializationContext.java:1055)
>       at org.apache.axis.message.SOAPBody.outputImpl(SOAPBody.java:145)
>       at 
> org.apache.axis.message.SOAPEnvelope.outputImpl(SOAPEnvelope.java:478)
>       at 
> org.apache.axis.message.MessageElement.output(MessageElement.java:1208)
>       at org.apache.axis.SOAPPart.writeTo(SOAPPart.java:315)
>       at org.apache.axis.SOAPPart.getAsString(SOAPPart.java:632)
>       at 
> org.apache.axis.handlers.SOAPMonitorHandler.invoke(SOAPMonitorHandler.java:69)
>       at 
> org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
>       at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
>       at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
>       at org.apache.axis.server.AxisServer.invoke(AxisServer.java:296)
>       at 
> org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:699)
> .
> .(Thread stack skipped)
> ================================
> Could you please help providing some insight on it. Let me know if you need 
> any further details.
> Regards
> Rahul



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to