在Linux服务器端安装好并启动ActiveMQ后使用
一、发送消息
public interface PushCallBack {
int saveOnDone(boolean isOk);
}
import org.eclipse.paho.client.mqttv3.*;
import org.eclipse.paho.client.mqttv3.persist.MqttDefaultFilePersistence;
public class MQTT {
private String host = "tcp://192.168.0.1:1883";
private String userName = "admin";
private String passWord = "admin";
private MqttClient client = null;
public static void main(String[] args) {
//发送消息
MQTT mq = new MQTT();
mq.passWord = "admin";
for (int i = 0; i < 2; i++) {
mq.send("Jaycekon-MQ", "HelloTest" + i, new PushCallBack() {
@Override
public int saveOnDone(boolean isOk) {
System.out.println("MQTT.main(...).new PushCallBack() {...}.saveOnDone()");
return 0;
}
});
}
}
private static MQTT mqtt = null;
public static MQTT get() {
if (mqtt == null) {
mqtt = new MQTT();
}
return mqtt;
}
private MQTT() {
init();
}
private void init() {
try {
String clientid = MqttClient.generateClientId();
if (clientid.length() > 23) {
clientid = clientid.substring(clientid.length() - 23);
}
client = new MqttClient(host, clientid,
new MqttDefaultFilePersistence());
MqttConnectOptions options = new MqttConnectOptions();
options.setCleanSession(false);
options.setUserName(userName);
options.setPassword(passWord.toCharArray());
options.setConnectionTimeout(10);
options.setKeepAliveInterval(20);
client.setCallback(new MqttCallback() {
@Override
public