Я очень новичок в этой очереди сообщений и только начал изучать некоторые базовые вещи в этом.
Итак, для нашего весеннего загрузочного приложения мы следовали архитектуре, такой как контроллеры, сервисы и сервисы, переговоры с репозиторием, поэтому здесь мне нужно создать один контроллер, который будет принимать класс DTO в качестве json, и отправлять эту информацию в очередь сообщений, указанную в верблюд апач
Я перехожу по этой ссылке ! для моей справки, которая работает хорошо, но когда я попытался реализовать это в своем проекте, он сказал мне ошибку, перечисленную ниже.
Error
Исключительная ситуация при инициализации контекста - отмена
попытка обновления:
org.springframework.beans.factory.UnsatisfiedDependencyException:
Ошибка создания бина с именем trackerQueueController: неудовлетворен
зависимость выражается через поле 'camelContext'; вложенное исключение
org.springframework.beans.factory.NoSuchBeanDefinitionException: нет
доступен квалифицирующий компонент типа 'org.apache.camel.CamelContext':
ожидается, по крайней мере, 1 боб, который считается кандидатом autowire.
Аннотации зависимостей:
{@ Org.springframework.beans.factory.annotation.Autowired (обязательно = истина)}
Я создал контроллер, маршруты и процессор, как показано ниже:
Контроллер
@RestController
@RequestMapping("/deviceinfo")
public class TrackerQueueController {
@Autowired
CamelContext camelContext;
@Autowired
private
ProducerTemplate producerTemplate;
@PostMapping()
public void startCamel(@RequestBody FieldUpdate fieldUpdate) {
producerTemplate.sendBody("activemq:topic:in", fieldUpdate);
}
}
Маршруты
@Component
public class TrackerQueueRoutes extends RouteBuilder {
@Override
public void configure() throws Exception {
from("activemq:topic:in")
.process(new TrackerProcessor() {
@Override
public void process(Exchange exchange) throws
Exception {
log.info("I'm in");
FieldUpdate body =
exchange.getIn().getBody(FieldUpdate.class);
log.info("Hello from camel processed message!
Received payload: {}" , body.getSerialNumber());
exchange.getOut().setHeader(Exchange.HTTP_RESPONSE_CODE,
HttpStatus.ACCEPTED);
}
});
}
}
Процессор
public class TrackerProcessor implements Processor {
@Override
public void process(Exchange exchange) throws Exception {
}
}
Может ли кто-нибудь предоставить мне ссылку на учебник, которая удовлетворяет мои потребности или любые идеи.