spring rabbitmq侦听器方法调用不工作

spring rabbitmq侦听器方法调用不工作,spring,rabbitmq,listener,Spring,Rabbitmq,Listener,我正在尝试使用基于XML而不是配置文件来实现Spring RabbitMq。消息已发送,我可以在RabbitMQ管理中看到它,但使用者没有打印任何输出。使用者初始化后,可以确认调用了构造函数。您能告诉我下面的问题是什么吗 rabbitConfiguration.xml: 以下是不同类别的生产者代码: ConfigurableApplicationContext context = new ClassPathXmlApplicationContext("rabbitConfigurati

我正在尝试使用基于XML而不是配置文件来实现Spring RabbitMq。消息已发送,我可以在RabbitMQ管理中看到它,但使用者没有打印任何输出。使用者初始化后,可以确认调用了构造函数。您能告诉我下面的问题是什么吗

rabbitConfiguration.xml:

以下是不同类别的生产者代码:

    ConfigurableApplicationContext  context = new ClassPathXmlApplicationContext("rabbitConfiguration.xml");//loading beans
    RabbitTemplate rb = (RabbitTemplate) context.getBean("amqpTemplate");
    rb.convertAndSend("blah balh");
    context.close();

你在上下文创建和上下文关闭之间等待的时间够长吗?是的,我试着放置Thread.sleep1000;在context.close之前。仍然不工作一旦我删除了id=myListenerContainer XSD不包含此属性并配置了我自己的用户和虚拟主机,您的代码段workedI也删除了它,下面是我的POM.xml代码org.springframework.boot-spring-boot-starter-amqp 1.2.0.RELEASE代码的片段。另外,当MyReceiver被修改为实现MessageListener时,它正在侦听重写的方法onMessage。但我的全部目标是要转移对象,而不是简单的字符串;实现MessageListener是不可能的
Public class MyReceiver {

        public MyReceiver() {
        System.out.println("init..");
    }
    public void printer(String msg){
        System.out.println("message: " + msg);
    }

}
    ConfigurableApplicationContext  context = new ClassPathXmlApplicationContext("rabbitConfiguration.xml");//loading beans
    RabbitTemplate rb = (RabbitTemplate) context.getBean("amqpTemplate");
    rb.convertAndSend("blah balh");
    context.close();