RabbitMQ Exchange не создается с помощью Spring-Cloud-Stream - PullRequest
0 голосов
/ 03 июля 2019

Я новичок в Java Spring Cloud.Я пытаюсь опубликовать сообщение для обмена с использованием RabbitMQ.Но как только я запускаю свое Java-приложение, я не вижу ни одного созданного Exchange.Я тоже не получаю никакой ошибки.Чего мне не хватает?

Я попытался установить ограничение на свободное дисковое пространство на 200 МБ, которое изначально было установлено на 50 МБ, но все равно не заметил никаких изменений.

Ниже приведен мой фрагмент кода для класса контроллера ::

public class AppointmentController {

private static final Logger 
   logger=LoggerFactory.getLogger(AppointmentController.class);
    @Autowired
    AppointmentSender sender;

    @PostMapping("/appointment-management-service/appointments")
    public void bookAppointment(@RequestBody AppointmentEvent 
              appointmentEvent) 
    {
       logger.info("Appointment request received {}",appointmentEvent);
       appointmentEvent.setStatus(AppointmentStatus.INITIATED);
       boolean isSent = sender.send(appointmentEvent);
       logger.info("Appointment booking initiated {}",isSent);

     }

}

Ниже приведен мой фрагмент кода для класса отправителя сообщения: *

@EnableBinding(Source.class)
public class AppointmentSender {

@Autowired
private Source source;

public boolean send(AppointmentEvent appointmentEvent) {
      return this.source.output().
      send(MessageBuilder.withPayload(appointmentEvent).build());
}

}

Ниже приведен файл application.properties

spring.application.name=appointment-management-service
server.port=8000
spring.jpa.show-sql=true
spring.h2.console.enabled=true
spring.rabbitmq.host=127.0.0.1
spring.rabbitmq.port=5672
spring.rabbitmq.username=guest
spring.rabbitmq.password=guest
spring.rabbitmq.broker-url=tcp://127.0.0.1:5672
spring.rabbitmq.virtual-host= /
spring.cloud.stream.bindings.output.destination=appointments-exchange

Ниже приведенpom.xml ::

 <?xml version="1.0" encoding="UTF-8"?>
 <project xmlns="http://maven.apache.org/POM/4.0.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
  http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.1.3.RELEASE</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.microservices</groupId>
<artifactId>appointmentmanagementsystem</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>appointmentmanagementsystem</name>
<description>Demo project for Spring Boot</description>

<properties>
    <java.version>1.8</java.version>
    <spring-cloud.version>Greenwich.SR1</spring-cloud.version>
</properties>

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-devtools</artifactId>
        <scope>runtime</scope>
    </dependency>
    <dependency>
        <groupId>com.h2database</groupId>
        <artifactId>h2</artifactId>
        <scope>runtime</scope>
    </dependency>
     <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-stream</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-stream-rabbit</artifactId>
    </dependency>
   <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-amqp</artifactId>
    </dependency>
     <dependency>
        <groupId>com.rabbitmq</groupId>
        <artifactId>amqp-client</artifactId>
        <version>5.6.0</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-stream-test-support</artifactId>
        <scope>test</scope>
    </dependency>
</dependencies>
<dependencyManagement>
      <dependencies>
          <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                 <version>${spring-cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
    </dependencies>
</dependencyManagement>
<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>


<repositories>
    <repository>
        <id>spring-snapshots</id>
        <name>Spring Snapshots</name>
        <url>https://repo.spring.io/snapshot</url>
        <snapshots>
            <enabled>true</enabled>
        </snapshots>
    </repository>
    <repository>
        <id>spring-milestones</id>
        <name>Spring Milestones</name>
        <url>https://repo.spring.io/milestone</url>
    </repository>
</repositories>
<pluginRepositories>
    <pluginRepository>
        <id>spring-snapshots</id>
        <name>Spring Snapshots</name>
        <url>https://repo.spring.io/snapshot</url>
        <snapshots>
            <enabled>true</enabled>
        </snapshots>
    </pluginRepository>
    <pluginRepository>
        <id>spring-milestones</id>
        <name>Spring Milestones</name>
        <url>https://repo.spring.io/milestone</url>
    </pluginRepository>
</pluginRepositories>

</project>

Обмен с именем "назначений-обмен" не создается.

1 Ответ

0 голосов
/ 03 июля 2019

Я только что скопировал ваши свойства в новый загрузочный проект, и он работал нормально.

enter image description here

У вашего гостевого пользователя есть права администратора?

Попробуйте включить ведение журнала DEBUG, чтобы увидеть, есть ли какие-либо подсказки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...