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

ASF subversion and git services commented on AMQ-9383:
------------------------------------------------------

Commit 48369bfe2bfd46264a1fb22fa0861499e7451705 in activemq's branch 
refs/heads/activemq-5.17.x from JB Onofré
[ https://gitbox.apache.org/repos/asf?p=activemq.git;h=48369bfe2 ]

AMQ-9383: Copy transport options before sending in introspection setter

(cherry picked from commit f4be8a6806206df3c9ddb6566c2e48eff767d55d)


> Websocket transport options do not get applied
> ----------------------------------------------
>
>                 Key: AMQ-9383
>                 URL: https://issues.apache.org/jira/browse/AMQ-9383
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Transport
>    Affects Versions: 5.15.16, 5.18.3, 5.17.6, 5.16.7
>            Reporter: Kostiantyn Miklevskyi
>            Assignee: Jean-Baptiste Onofré
>            Priority: Major
>             Fix For: 6.0.0, 5.18.4, 5.17.7, 5.16.8
>
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> Configure broker transport connector like this:
> {code:java}
> <transportConnector name="amqpws" 
> uri="ws://0.0.0.0:5680?amqp.traceFrames=true&amp;wireFormat=amqp&amp;wireFormat.transformer=jms&amp;wireFormat.allowNonSaslConnections=true"/>
>  {code}
>  
> Try to connect to this instance with rhea.js library.
> First attempt to connect would be successful.
> Second and all subsequent attempts would fail.
> The only way to "fix" this would be a broker restart.
>  
> The issue is here:
> [https://github.com/apache/activemq/blob/4bbb055187166706103d785e9665efb439792c51/activemq-http/src/main/java/org/apache/activemq/transport/ws/jetty9/WSServlet.java#L162]
>  
> transportOptions would be "consumed" by introspection on the first connection 
> attempt, and on subsequent attempts "allowNonSaslConnections" and 
> "transformer" would not be there, so won't be applied to wireformat and the 
> result would be an error.
>  
> Interestingly this was already spotted and fixed in the same class for MQTT 
> subprotocol here:
> [https://github.com/apache/activemq/blob/4bbb055187166706103d785e9665efb439792c51/activemq-http/src/main/java/org/apache/activemq/transport/ws/jetty9/WSServlet.java#L115C86-L115C86]
> by simply creating a copy of transport options before sending it into 
> introspecting setters.
>  
> Please apply the same fix.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to