前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。
1. 情景描述:只是想簡單寫個 ActiveMQ 的小樣,啟動服務卻報錯:
Error starting ApplicationContext. To display the auto-configuration report re-run your application with 'debug' enabled.
2018-08-01 16:10:39.858 ERROR 4928 --- [ main] o.s.b.d.LoggingFailureAnalysisReporter : ***************************
APPLICATION FAILED TO START
***************************Description:A component required a bean of type 'javax.jms.Queue' that could not be found.Action:Consider defining a bean of type 'javax.jms.Queue' in your configuration.
?
2. 原因和解決:
如提示信息中說的一樣,Queue 類沒有納入spring 的管理。加上注解:? @Bean 就行了。
錯誤寫法:
/*** @author silence* @date 2018/8/1 10:42*/
@Component
public class MessageQueue{public Queue queue(){return new ActiveMQQueue("my-message");}}
正確寫法:
package gentle.activemq;import org.apache.activemq.command.ActiveMQQueue;
import org.springframework.context.annotation.Bean;
import org.springframework.stereotype.Component;
import javax.jms.Queue;/*** @author silence* @date 2018/8/1 10:42*/
@Component
public class MessageQueue{@Bean //返回一個名為 my-message 的隊列,并且注冊為 beanpublic Queue queue(){return new ActiveMQQueue("my-message");}}
3. 成功啟動服務:
?