rocketmq-spring icon indicating copy to clipboard operation
rocketmq-spring copied to clipboard

RocketMQTemplate injection faild

Open Romic77 opened this issue 4 years ago • 2 comments

this is the error log. when i use bootstrap.yml. RocketMQAutoConfiguration not injection RocketMQTemplate; if use application.yml replace bootstrap.yml will be succeed; i don't know why not use bootstrap.yml?

2021-11-21 00:07:14.198  INFO 13196 --- [           main] org.example.SpringbootDemoApplication    : Starting SpringbootDemoApplication on rom1c with PID 13196 (D:\workspace\springboot-demo\target\classes started by admin in D:\workspace\springboot-demo)
2021-11-21 00:07:14.200  INFO 13196 --- [           main] org.example.SpringbootDemoApplication    : No active profile set, falling back to default profiles: default
2021-11-21 00:07:14.831  INFO 13196 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 8080 (http)
2021-11-21 00:07:14.837  INFO 13196 --- [           main] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
2021-11-21 00:07:14.838  INFO 13196 --- [           main] org.apache.catalina.core.StandardEngine  : Starting Servlet engine: [Apache Tomcat/9.0.38]
2021-11-21 00:07:14.915  INFO 13196 --- [           main] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2021-11-21 00:07:14.916  INFO 13196 --- [           main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 687 ms
2021-11-21 00:07:14.950  WARN 13196 --- [           main] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'produderController': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'org.apache.rocketmq.spring.core.RocketMQTemplate' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@javax.annotation.Resource(shareable=true, lookup=, name=, description=, authenticationType=CONTAINER, type=class java.lang.Object, mappedName=)}
2021-11-21 00:07:14.952  INFO 13196 --- [           main] o.apache.catalina.core.StandardService   : Stopping service [Tomcat]
2021-11-21 00:07:14.960  INFO 13196 --- [           main] ConditionEvaluationReportLoggingListener : 

Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2021-11-21 00:07:15.032 ERROR 13196 --- [           main] o.s.b.d.LoggingFailureAnalysisReporter   : 

***************************
APPLICATION FAILED TO START
***************************

Description:

A component required a bean of type 'org.apache.rocketmq.spring.core.RocketMQTemplate' that could not be found.

The following candidates were found but could not be injected:
	- Bean method 'rocketMQTemplate' in 'RocketMQAutoConfiguration' not loaded because @ConditionalOnBean (types: org.apache.rocketmq.client.producer.DefaultMQProducer; SearchStrategy: all) did not find any beans of type org.apache.rocketmq.client.producer.DefaultMQProducer


Action:

Consider revisiting the entries above or defining a bean of type 'org.apache.rocketmq.spring.core.RocketMQTemplate' in your configuration.

Disconnected from the target VM, address: '127.0.0.1:62492', transport: 'socket'

Process finished with exit code 1

bootstrap.yml

server:
  port: 8081
spring:
  application:
    name: producer

#producer
rocketmq:
  name-server: 127.0.0.1:9876
  producer:
    group: task-produer
    send-message-timeout: 300000
    compress-message-body-threshold: 4096
    max-message-size: 4194304
    retry-times-when-send-async-failed: 0
    retry-next-server: true
    retry-times-when-send-failed: 2

Romic77 avatar Nov 20 '21 16:11 Romic77

I also have this problem. Have you solved it?

dqxfz avatar Dec 28 '22 11:12 dqxfz

Are you using Spring Cloud? In Spring Boot, only the application configuration is read, and the bootstrap configuration is not read. You need to be in Spring Cloud to read the bootstrap configuration.

imp2002 avatar Apr 01 '23 13:04 imp2002