[ 
https://issues.apache.org/jira/browse/QPID-1251?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12623989#action_12623989
 ] 

Arnaud Simon commented on QPID-1251:
------------------------------------

Changed ioReceiver to close the socket on Windows. A release not like this one 
should be added: 
On windows platforms the following run time exception is thrown and displayed 
when initiating a connection with an 0.9 broker: 
Exception in thread "IoReceiver - localhost/localhost:5672"
java.lang.RuntimeException: connection closed
                at
org.apache.qpid.nclient.Client1.exception(Client.java:96)

                at
org.apache.qpid.transport.Connection.exception(Connection.java:148)

                at
org.apache.qpid.transport.network.Assembler.exception(Assembler.java:108)

                at
org.apache.qpid.transport.network.InputHandler.exception(InputHandler.java:196)

                at
org.apache.qpid.transport.network.io.IoReceiver.run(IoReceiver.java:127)

Caused by: java.net.SocketException: socket closed

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

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

                at
org.apache.qpid.transport.network.io.IoReceiver.run(IoReceiver.java:110)
 
Moreover, when closing JMS connections the JMS exception listener may
receive the following JMS exception: 
javax.jms.JMSException: connection was closed
                at
org.apache.qpid.client.AMQConnectionDelegate_0_10.onClosed(AMQConnectionDelegate_0_10.java:164)

                at org.apache.qpid.nclient.Client
$1.exception(Client.java:92)

                at
org.apache.qpid.transport.Connection.exception(Connection.java:148)

                at
org.apache.qpid.transport.network.Assembler.exception(Assembler.java:108)

                at
org.apache.qpid.transport.network.InputHandler.exception(InputHandler.java:196)

                at
org.apache.qpid.transport.network.io.IoReceiver.run(IoReceiver.java:127)

Caused by: java.net.SocketException: socket closed

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

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

                at
org.apache.qpid.transport.network.io.IoReceiver.run(IoReceiver.java:110)


> IO transport does not cleanly close on Windows
> ----------------------------------------------
>
>                 Key: QPID-1251
>                 URL: https://issues.apache.org/jira/browse/QPID-1251
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Client
>    Affects Versions: M3
>         Environment: Windows
>            Reporter: Arnaud Simon
>            Assignee: Arnaud Simon
>            Priority: Critical
>             Fix For: M3
>
>
> Description: 
> There is an issue on Windows platform with the io transport as 
> socket.shutdownInput() does not result of the reader getting an EOF. This 
> means that the IOReceiver thread does not terminate as expected and the main 
> thread does not join. This prevents the protocol version switching mechanism 
> to work.  
> Solution:
> We will be using a new nio transport that should solve this issue. I would 
> therefore suggest that we only provide a simple mechanism for selecting the 
> default version used and tell Windows users to set it to 0.9 when using the 
> current java broker. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to