You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "Samuel Ueltschi (JIRA)" <ji...@apache.org> on 2018/04/19 09:22:00 UTC

[jira] [Commented] (AMQ-6949) SocketTimeoutException when using HTTP transport connector

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

Samuel Ueltschi commented on AMQ-6949:
--------------------------------------

I tested the problem on different versions:

 

problem happens on:
 * 5.15.3
 * 5.14.2

no problem (so far) on:
 * 5.13.4
 * 5.12.2

> SocketTimeoutException when using HTTP transport connector
> ----------------------------------------------------------
>
>                 Key: AMQ-6949
>                 URL: https://issues.apache.org/jira/browse/AMQ-6949
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 5.15.3
>            Reporter: Samuel Ueltschi
>            Priority: Major
>         Attachments: TestConnect.java, activemq.xml, amqtest.zip
>
>
> Java clients that connect to the ActiveMQ broker over the HTTP transport connector loose the conection after 30 seconds with the following exception:
>  
> {code:java}
> WARN | Transport (http://localhost:8866) failed , attempting to automatically reconnect: {}
> java.io.IOException: Failed to perform GET on: http://localhost:8866 Reason: Read timed out
>  at org.apache.activemq.util.IOExceptionSupport.create(IOExceptionSupport.java:34)
>  at org.apache.activemq.transport.http.HttpClientTransport.run(HttpClientTransport.java:208)
>  at java.lang.Thread.run(Thread.java:748)
> Caused by: java.net.SocketTimeoutException: Read timed out
>  at java.net.SocketInputStream.socketRead0(Native Method)
>  at java.net.SocketInputStream.socketRead(SocketInputStream.java:116)
>  at java.net.SocketInputStream.read(SocketInputStream.java:171)
>  at java.net.SocketInputStream.read(SocketInputStream.java:141)
>  at org.apache.http.impl.io.AbstractSessionInputBuffer.fillBuffer(AbstractSessionInputBuffer.java:158)
>  at org.apache.http.impl.io.SocketInputBuffer.fillBuffer(SocketInputBuffer.java:82)
>  at org.apache.http.impl.io.AbstractSessionInputBuffer.readLine(AbstractSessionInputBuffer.java:271)
>  at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:138)
>  at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:56)
>  at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:259)
>  at org.apache.http.impl.AbstractHttpClientConnection.receiveResponseHeader(AbstractHttpClientConnection.java:281)
>  at org.apache.http.impl.conn.DefaultClientConnection.receiveResponseHeader(DefaultClientConnection.java:257)
>  at org.apache.http.impl.conn.ManagedClientConnectionImpl.receiveResponseHeader(ManagedClientConnectionImpl.java:207)
>  at org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:273)
>  at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:125)
>  at org.apache.http.impl.client.DefaultRequestDirector.tryExecute(DefaultRequestDirector.java:684)
>  at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:486)
>  at org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:835)
>  at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)
>  at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:108)
>  at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:56)
>  at org.apache.activemq.transport.http.HttpClientTransport.run(HttpClientTransport.java:180)
>  ... 1 more
>  
> {code}
>  
> This happens on the default 5.15.3 distribution on Windows and on Ubuntu with the following transport connector:
>  
> {code:java}
> <transportConnector name="http" uri="http://0.0.0.0:8866?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>{code}
>  
> There are no errors in the borker log that could explain the problem.
>  
> This is the sample program that I used:
>  
> {code:java}
> import javax.jms.Connection;
> import javax.jms.JMSException;
> import org.apache.activemq.ActiveMQConnectionFactory;
> public class TestConnect {
>  public static void main(String[] args) throws JMSException {
>  System.out.println("Connecting:");
>  ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory("failover:(http://localhost:8866)?randomize=false&jms.prefetchPolicy.queuePrefetch=1");
>  Connection connection = connectionFactory.createConnection("admin", "admin");
>  connection.start();
>  }
> }{code}
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)