Christian Tytgat created AMQ-5397:
-------------------------------------
Summary: Using authorization plugin with MQTT causes
ClassCastException on client reconnect.
Key: AMQ-5397
URL: https://issues.apache.org/jira/browse/AMQ-5397
Project: ActiveMQ
Issue Type: Bug
Components: Connector, MQTT
Affects Versions: 5.10.0
Reporter: Christian Tytgat
We have the following setup:
MQTT client (reproducible with at least mosquitto and fusesource) with
cleanSession = false and QOS = 1 (important!)
AMQ with authentication/authorization plugin
{noformat}
<plugins>
<statisticsBrokerPlugin/>
<simpleAuthenticationPlugin>
<users>
<authenticationUser username="${activemq.username}"
password="${activemq.password}" groups="admins,everyone"/>
<authenticationUser username="mcollective" password="secret"
groups="mcollective,admins,everyone"/>
</users>
</simpleAuthenticationPlugin>
<authorizationPlugin>
<map>
<authorizationMap>
<authorizationEntries>
<authorizationEntry queue=">" write="admins" read="admins"
admin="admins" />
<authorizationEntry topic=">" write="admins" read="admins"
admin="admins" />
<authorizationEntry topic="mcollective.>" write="mcollective"
read="mcollective" admin="mcollective" />
<authorizationEntry queue="mcollective.>" write="mcollective"
read="mcollective" admin="mcollective" />
<authorizationEntry topic="ActiveMQ.Advisory.>"
read="everyone" write="everyone" admin="everyone"/>
</authorizationEntries>
</authorizationMap>
</map>
</authorizationPlugin>
</plugins>
{noformat}
No problem to connect for the first time, but when reconnecting with the same
client ID, the connection fails each time:
{noformat}
2014-10-16 11:20:41,120 [MQ NIO Worker 3] WARN Transport - Transport
Connection to: tcp://10.0.2.2:49479 failed:
org.apache.activemq.transport.mqtt.MQTTProtocolException: Error recovering
retained messages for m2mbox.macbookx.schedule:
org.apache.activemq.security.AuthorizationDestinationFilter cannot be cast to
org.apache.activemq.broker.region.Topic
{noformat}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)