Expand my Community achievements bar.

Dive into Adobe Summit 2024! Explore curated list of AEM sessions & labs, register, connect with experts, ask questions, engage, and share insights. Don't miss the excitement.

Setting socket timeout on ActionScriptAdapter?

Avatar

Level 1

I have an application that is using BlazeDS for two-way communication between a Java-based server hosted on Tomcat and a Flex Client.  From one particular client access location (and no others we've seen), the server is throwing a java.net.SocketTimeoutException as shown in the Stack trace below.

I believe I could solve the problem by increasing the socket timeout setting, but I can't find where to do this.  I am using a subclass of ActionScriptAdapter which, unlike the HTTPProxyAdapter, does not appear to accept an HTTPConnectionManagerSettings object to specify the timeout.

I am thinking I may be able to set this value via the initialize( id , ConfigMap ) method, but have found no documentation on the allowable properties that can go in the ConfigMap argument.

Any help greatly appreciated.  Partial stack trace for the error is below:

[BlazeDS]Read timed out

java.net.SocketTimeoutException: Read timed out

at java.net.SocketInputStream.socketRead0(Native Method)

at java.net.SocketInputStream.read(SocketInputStream.java:146)

at org.apache.coyote.http11.InternalInputBuffer.fill(InternalInputBuffer.java:748)

at org.apache.coyote.http11.InternalInputBuffer$InputStreamInputBuffer.doRead(InternalInputBuffer.java:778)

at org.apache.coyote.http11.filters.IdentityInputFilter.doRead(IdentityInputFilter.java:116)

at org.apache.coyote.http11.InternalInputBuffer.doRead(InternalInputBuffer.java:713)

at org.apache.coyote.Request.doRead(Request.java:419)

at org.apache.catalina.connector.InputBuffer.realReadBytes(InputBuffer.java:265)

at org.apache.tomcat.util.buf.ByteChunk.substract(ByteChunk.java:370)

at org.apache.catalina.connector.InputBuffer.readByte(InputBuffer.java:274)

at org.apache.catalina.connector.CoyoteInputStream.read(CoyoteInputStream.java:105)

at java.io.DataInputStream.readUnsignedShort(DataInputStream.java:337)

at flex.messaging.io.amf.AbstractAmfInput.readUnsignedShort(AbstractAmfInput.java:172)

at flex.messaging.io.amf.AmfMessageDeserializer.readMessage(AmfMessageDeserializer.java:88)

at flex.messaging.endpoints.amf.SerializationFilter.invoke(SerializationFilter.java:114)

at flex.messaging.endpoints.BaseHTTPEndpoint.service(BaseHTTPEndpoint.java:274)

at flex.messaging.MessageBrokerServlet.service(MessageBrokerServlet.java:377)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)

0 Replies