[ 
https://issues.apache.org/jira/browse/AMQ-3359?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Amir Malekpour updated AMQ-3359:
--------------------------------

    Description: 
The broker listens on a random UDP port number instead of the one configure in 
the URI. The port number changes each time the broker is restarted. However, 
the management console indicates that the broker's listening on the configured 
port number while it is not the case (netstat shows another UDP port number). 
The reason  is that (as seen in the following block) the UdpTransport 
constructor does not assign "this.port" from remoteLocation but only reads the 
address and leaves "this.port" to be zero. Subsequently, Java API picks any 
available port number when it is creating the DatagraSocket. The solution is to 
add this line: "this.port = remoteLocation.getPort();" to the following 
constructor as seen in the accompanying patch.

public UdpTransport(OpenWireFormat wireFormat, URI remoteLocation) throws 
UnknownHostException, IOException {
        this(wireFormat);
        this.targetAddress = createAddress(remoteLocation);
        description = remoteLocation.toString() + "@";
}

  was:
The broker listens on a random UDP port number instead of the one configure in 
the URI. The port number changes each time the broker is restarted. However, 
the management console indicates that the broker's listening on the configured 
port number but netstat shows another UDP port number. The reason is that as 
seen in the 
following block, the UdpTransport constructor does not read this.port from 
remoreLocation and only reads its address and leaves the this.port to be zero. 
The solution is to add this line: this.port = remoteLocation.getPort();

public UdpTransport(OpenWireFormat wireFormat, URI remoteLocation) throws 
UnknownHostException, IOException {
        this(wireFormat);
        this.targetAddress = createAddress(remoteLocation);
        description = remoteLocation.toString() + "@";
    }


> UDP Transport connector listens on a random port number
> -------------------------------------------------------
>
>                 Key: AMQ-3359
>                 URL: https://issues.apache.org/jira/browse/AMQ-3359
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 5.4.0, 5.4.1, 5.4.2, 5.5.0
>            Reporter: Amir Malekpour
>              Labels: broker, port, transport, udp
>         Attachments: AMQ-3359.patch
>
>   Original Estimate: 5m
>  Remaining Estimate: 5m
>
> The broker listens on a random UDP port number instead of the one configure 
> in the URI. The port number changes each time the broker is restarted. 
> However, the management console indicates that the broker's listening on the 
> configured port number while it is not the case (netstat shows another UDP 
> port number). The reason  is that (as seen in the following block) the 
> UdpTransport constructor does not assign "this.port" from remoteLocation but 
> only reads the address and leaves "this.port" to be zero. Subsequently, Java 
> API picks any available port number when it is creating the DatagraSocket. 
> The solution is to add this line: "this.port = remoteLocation.getPort();" to 
> the following constructor as seen in the accompanying patch.
> public UdpTransport(OpenWireFormat wireFormat, URI remoteLocation) throws 
> UnknownHostException, IOException {
>         this(wireFormat);
>         this.targetAddress = createAddress(remoteLocation);
>         description = remoteLocation.toString() + "@";
> }

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to