Сервис Quartz не работает с использованием Spring Feign Client - PullRequest
1 голос
/ 04 апреля 2020

Я создаю функцию уведомления в реальном времени, используя библиотеку пружинного кварца. Я создаю две службы, как показано ниже: 1) Кварц-служба: которая используется для установки расписания для уведомления в режиме реального времени. 2) задача-служба: которая используется для создания задачи и напоминания через кварцевый сервис.

Когда служба вызова вызывает кварцевый сервис через симулированного клиента, я не получаю никакого ответа. Но если я позвоню через Rest Template, это работает, найти.

На самом деле мы используем микросервисную архитектуру с пружинной загрузкой. При использовании шаблона отдыха нам нужно указать URL-адрес с жестким кодом, поэтому мы не можем реализовать концепцию ленты в этом случае, поэтому нам не интересно использовать шаблон отдыха.

Поэтому, пожалуйста, помогите мне, если кто-нибудь когда-нибудь столкнется с этой проблемой.

кварц-сервис:

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-quartz</artifactId>
    </dependency>
   <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

Контроллер покоя:

 @RestController
    @RequestMapping(value = "/quartz/taks", produces = "application/hal+json")
    public class QuartzTaskController
    {   
        @Autowired
        private QuartzTaskServices quartzTaskServices;      

        @PostMapping("/reminder")
        public ResponseEntity<Object> saveTaskReminder(@RequestBody Task task)
        {
            quartzTaskServices.saveTaskReminderScheduler(task);
            return ResponseEntity.ok().build();
        }
    }

Task-Service

Зависимость:

<dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-ribbon</artifactId>
</dependency>

Feign Client:

@RibbonClient(name="quartz-services")
@FeignClient(name="quartz-services")
public interface QuartzProxy
{
    @PostMapping("/quartz/taks/reminder")
    public ResponseEntity<Object> saveTaskReminder(@RequestBody Task task);
}

Call Feign Client:

@Autowired
private QuartzProxy quartzProxy;
...
.....
......
quartzProxy.saveTaskReminder(task);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...