页面显示:
第一步:jsp页面
$("#withhold").click(function () {
$("#message").hide();
var operationType = $("#inputType").val();
var messageMQ = $("#messageMQ").val();
var queueName = $("#queueName").val();
if (operationType == "" || operationType == null) {
$("#message").show();
$("#message").removeClass("bg-danger");
$("#message").addClass("bg-danger").text("业务类型不能为空");
} else if (messageMQ == "" || messageMQ == null) {
$("#message").show();
$("#message").removeClass("bg-danger");
$("#message").addClass("bg-danger").text("消息内容不能为空");
} else if (queueName == "" || queueName == null) {
$("#message").show();
$("#message").removeClass("bg-danger");
$("#message").addClass("bg-danger").text("Routing key不能为空");
} else {
var confirmResult = confirm("确定发送吗?");
if (confirmResult == true) {
var url = "/message/sendMQ";
var args = {
"queueName": queueName,
"messageMQ": messageMQ,
"operationType": operationType
};
$.get(url, args, function (data) {
$("#message").show();
$("#message").removeClass("bg-danger");
$("#message").addClass("bg-danger").text(data.message);
console.log(data);
});
//$("#jqGrid").setGridParam({url: '/management/transactionFlow/message2'}).trigger("reloadGrid");
}
}
});
$("#chongzhi").click(function () {
$("#messageMQ").val("");
});
</script>
第二步:@Controller层
@RequestMapping(value = "sendMQ", method = RequestMethod.GET)
@ResponseBody
public Map<String, Object> sendMQ(@RequestParam(value = "operationType", required = false) String operationType,
@RequestParam(value = "queueName", required = false) String queueName,
@RequestParam(value = "messageMQ", required = false) String messageMQ) throws Exception {
String str = messageService.sendMQ(operationType, queueName, messageMQ);
Map<String, Object> result = new HashMap<String, Object>();
result.put("message", str);
return result;
}
第三步:
//需要在service层扫面读取RabbitMQ信息
<context:property-placeholder location="file:/data/code/account-ws-conf/account-config.properties"/>
@Service
public class MessageServiceImpl extends BaseService implements MessageService {
@Value("${messaging.ribbitmq.address}")
public String address;
@Value("${messaging.ribbitmq.vhost}")
public String vhost;
@Value("${messaging.ribbitmq.username}")
public String username;
@Value("${messaging.ribbitmq.password}")
public String password;
@Value("${messaging.ribbitmq.port}")
public String port;
@Value("${messaging.ribbitmq.apiport}")
public String apiport;
@Value("${messaging.ribbitmq.exchange}")
public String exchange;
@Value("${messaging.ribbitmq.payment.address}")
public String address530;
@Value("${messaging.ribbitmq.payment.vhost}")
public String vhost530;
@Value("${messaging.ribbitmq.payment.username}")
public String username530;
@Value("${messaging.ribbitmq.payment.password}")
public String password530;
@Value("${messaging.ribbitmq.payment.port}")
public String port530;
@Value("${messaging.ribbitmq.payment.apiport}")
public String apiport530;
@Value("${messaging.ribbitmq.payment.exchange}")
public String exchange530;
@Override
public String sendMQ(String operationType, String routingKey, String messageMQ) {
String str = null;
routingKey = routingKey.trim();
if (operationType != null && operationType.equals("old")) {
ConnectionFactory factory = new ConnectionFactory();
factory.setHost(address);
factory.setPort(Integer.parseInt(port));// 默认端口
factory.setUsername(username);// 默认用户名
factory.setPassword(password);// 默认密码
factory.setVirtualHost(vhost);// 默认虚拟主机,区分权限
Connection connection = null;
Channel channel = null;
try {
connection = factory.newConnection();
channel = connection.createChannel();
channel.exchangeDeclare(exchange, "topic", true);
String queueName = channel.queueDeclare().getQueue();
channel.queueBind(queueName, exchange, routingKey);
channel.basicPublish(exchange, routingKey, null, messageMQ.trim().getBytes());
channel.close();
connection.close();
str = "发送成功";
} catch (IOException e) {
e.printStackTrace();
str = "发送失败";
}
} else {
ConnectionFactory factory = new ConnectionFactory();
factory.setHost(address530);
factory.setPort(Integer.parseInt(port530));// 默认端口
factory.setUsername(username530);// 默认用户名
factory.setPassword(password530);// 默认密码
factory.setVirtualHost(vhost530);// 默认虚拟主机,区分权限
Connection connection = null;
Channel channel = null;
try {
connection = factory.newConnection();
channel = connection.createChannel();
channel.exchangeDeclare(exchange530, "topic", true);
String queueName = channel.queueDeclare().getQueue();
channel.queueBind(queueName, exchange530, routingKey);
channel.basicPublish(exchange530, routingKey, null, messageMQ.trim().getBytes());
channel.close();
connection.close();
str = "发送成功";
} catch (IOException e) {
e.printStackTrace();
str = "发送失败";
}
}
return str;
}