页面MQ报文管理

页面显示:
第一步: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;
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值