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

Timothy Bish resolved AMQ-4692.
-------------------------------

       Resolution: Duplicate
    Fix Version/s: 5.9.1
                   5.10.0

Fixed by later issue.  

> ActiveMQ broker does not publish last will messages
> ---------------------------------------------------
>
>                 Key: AMQ-4692
>                 URL: https://issues.apache.org/jira/browse/AMQ-4692
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker, MQTT
>    Affects Versions: 5.8.0
>         Environment: win7 64 OS.
>            Reporter: greywolf
>             Fix For: 5.10.0, 5.9.1
>
>
> When I run a MQTT client(paho or fuse)to connect ActiveMQ broker. if i 
> terminate this client and can not receive LWT messages from broker.
> I changed broker from ActiveMQ to Mosquitto broker , everything is ok.
> below is my test class:
> package com.paho;
> import org.eclipse.paho.client.mqttv3.MqttCallback;
> import org.eclipse.paho.client.mqttv3.MqttClient;
> import org.eclipse.paho.client.mqttv3.MqttConnectOptions;
> import org.eclipse.paho.client.mqttv3.MqttDeliveryToken;
> import org.eclipse.paho.client.mqttv3.MqttException;
> import org.eclipse.paho.client.mqttv3.MqttMessage;
> import org.eclipse.paho.client.mqttv3.MqttSecurityException;
> import org.eclipse.paho.client.mqttv3.MqttTopic;
> public class Sub {
>       private MqttClient mqttClient;
>       
>       public void subscriber(){
>               try {
>                       mqttClient = new 
> MqttClient("tcp://192.168.100.80:1883", MqttClient.generateClientId());
>                       
>                       MqttConnectOptions connectOptions = new  
> MqttConnectOptions();
>                       //set will
>                       connectOptions.setWill(mqttClient.getTopic("lastwill"), 
> new String("I am offline").getBytes(), 1, false);
>                       mqttClient.connect(connectOptions);
>                       mqttClient.setCallback(new MqttCallback(){
>                               public void connectionLost(Throwable 
> paramThrowable) {
>                                       System.out.println("Connection Exist. 
> \nCause: " + paramThrowable);
>                                       while(true){
>                                               try {
>                                                       Thread.sleep(20000);
>                                                       
> if(!mqttClient.isConnected()){
>                                                               subscriber();
>                                                       }
>                                               } catch (InterruptedException 
> e) {
>                                                       e.printStackTrace();
>                                               }
>                                       }
>                               }
>                               public void messageArrived(MqttTopic 
> paramMqttTopic,
>                                               MqttMessage paramMqttMessage) 
> throws Exception {
>                                       System.out.println("Message arrived 
> From The Topic:\t"+paramMqttTopic.toString() +" \nMessage: " + 
> paramMqttMessage.toString());
>                               }
>                               public void deliveryComplete(
>                                               MqttDeliveryToken 
> paramMqttDeliveryToken) {
>                               }
>                               
>                       });
>                       
>                       mqttClient.subscribe("durable",1);
> //                    mqttClient.subscribe("durable1",1);
>                       
>               } catch (MqttException e) {
>                       e.printStackTrace();
>               }
>       }
>       
>       /**
>        * @param args
>        */
>       public static void main(String[] args) {
>               Sub sub = new Sub();
>               sub.subscriber();
>       }
> }



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to