You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "Rahul Mourya (JIRA)" <ax...@ws.apache.org> on 2015/11/18 12:17:11 UTC

[jira] [Commented] (AXIS-2912) Axis 1.4 performance

    [ 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: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org