[ 
https://issues.apache.org/jira/browse/AXIS2-1927?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12463685
 ] 

Don Yao commented on AXIS2-1927:
--------------------------------

We've fixed the problem by creating a new instance of SimpleDateFormat every 
time it's called, rather than a static variable.

Thanks,
Don

> ArrayIndexOutOfBoundsException - 
> org.apache.axis2.databinding.typemapping.SimpleTypeMapper.getStringValue(SimpleTypeMapper.java:209)
> ------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: AXIS2-1927
>                 URL: https://issues.apache.org/jira/browse/AXIS2-1927
>             Project: Apache Axis 2.0 (Axis2)
>          Issue Type: Bug
>          Components: adb
>    Affects Versions: 1.1
>         Environment: Linux Servers, Tomcat5, Axis2 1.1, Java 5.
>            Reporter: Don Yao
>            Priority: Critical
>
> We ran 50 simutanous users against Axis2 Web Services Server and got the some 
> exceptions. We examined SimpleTypeMapper.java code and discovered that 
> getStringValue method is using the un-threadsafe SimpleDateFormat. So we put 
> synchronized block around the call:
>               synchronized (SimpleTypeMapper.class) {
>                       return zulu.format(((Calendar) obj).getTime());
>               }
> But are still encountering the following Exceptions:
> org.apache.axiom.om.OMException: java.lang.ArrayIndexOutOfBoundsException: -4
>       at 
> org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.java:199)
>       at org.apache.axiom.om.impl.llom.OMNodeImpl.build(OMNodeImpl.java:316)
>       at 
> org.apache.axiom.om.impl.llom.OMElementImpl.build(OMElementImpl.java:624)
>       at 
> org.apache.axiom.om.impl.llom.OMElementImpl.detach(OMElementImpl.java:591)
>       at 
> org.apache.axiom.om.impl.llom.OMNodeImpl.setParent(OMNodeImpl.java:117)
>       at 
> org.apache.axiom.om.impl.llom.OMElementImpl.addChild(OMElementImpl.java:240)
>       at 
> org.apache.axiom.om.impl.llom.OMElementImpl.addChild(OMElementImpl.java:193)
>       at 
> org.apache.axis2.rpc.receivers.RPCUtil.processResponse(RPCUtil.java:97)
>       at 
> org.apache.axis2.rpc.receivers.RPCUtil.processResponse(RPCUtil.java:192)
>       at 
> org.apache.axis2.rpc.receivers.RPCMessageReceiver.invokeBusinessLogic(RPCMessageReceiver.java:136)
>       at 
> org.apache.axis2.receivers.AbstractInOutSyncMessageReceiver.receive(AbstractInOutSyncMessageReceiver.java:39)
>       at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:493)
>       at 
> org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:319)
>       at 
> org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:247)
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>       at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
>       at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>       at 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
>       at 
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
>       at 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
>       at 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
>       at 
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
>       at 
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
>       at 
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
>       at 
> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
>       at 
> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
>       at 
> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
>       at 
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
>       at java.lang.Thread.run(Thread.java:595)
> Caused by: java.lang.ArrayIndexOutOfBoundsException: -4
>       at 
> sun.util.calendar.BaseCalendar.getCalendarDateFromFixedDate(BaseCalendar.java:436)
>       at 
> java.util.GregorianCalendar.computeFields(GregorianCalendar.java:2055)
>       at 
> java.util.GregorianCalendar.computeFields(GregorianCalendar.java:1970)
>       at java.util.Calendar.setTimeInMillis(Calendar.java:1066)
>       at java.util.Calendar.setTime(Calendar.java:1032)
>       at java.text.SimpleDateFormat.format(SimpleDateFormat.java:785)
>       at java.text.SimpleDateFormat.format(SimpleDateFormat.java:778)
>       at java.text.DateFormat.format(DateFormat.java:274)
>       at java.text.Format.format(Format.java:133)
>       at 
> org.apache.axis2.databinding.typemapping.SimpleTypeMapper.getStringValue(SimpleTypeMapper.java:209)
>       at 
> org.apache.axis2.databinding.utils.BeanUtil.getPullParser(BeanUtil.java:115)
>       at 
> org.apache.axis2.databinding.utils.reader.ADBXMLStreamReaderImpl.processProperties(ADBXMLStreamReaderImpl.java:948)
>       at 
> org.apache.axis2.databinding.utils.reader.ADBXMLStreamReaderImpl.next(ADBXMLStreamReaderImpl.java:821)
>       at 
> org.apache.axis2.databinding.utils.reader.WrappingXMLStreamReader.next(WrappingXMLStreamReader.java:45)
>       at 
> org.apache.axis2.databinding.utils.reader.ADBXMLStreamReaderImpl.next(ADBXMLStreamReaderImpl.java:824)
>       at org.apache.axis2.util.StreamWrapper.next(StreamWrapper.java:68)
>       at 
> org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.java:116)
>       ... 29 more

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to