2017-10-04 12 views
0

RabbitMQキューにメッセージを吐き出す春の起動アプリケーション(1.4.7.RELEASE)を実行しようとしています。私のビルドが正常に動作しますが、私はmvn clean spring-boot:runでアプリケーションを実行しようとしていたとき、私は RabbitMQ SpringBootアプリケーション実行時にエラーが発生する

@PropertySource("classpath:application.properties") 
@Component 
@ContextConfiguration("classpath:META-INF/spring/rabbitmq-producer.xml") 
public class ProduceMessage { 

    private static final Logger logger = LoggerFactory.getLogger(ProduceMessage.class.getName()); 

    @Autowired 
    private RabbitTemplate myEventTemplate; 

    @Autowired 
    private MessageConverter ctdMessageConverter; 

    @Value("${fieldChangedEvent.MainQueue}") 
    private String mainQ; 

    /* 
    * (non-Javadoc) 
    * 
    * @see com.ge.predix.dispatcherqproducer.api.produceFieldChangedEvent# 
    * produceFieldChangedEvent(com.ge.dsp.pm.solution.service.fieldchanged. 
    * FieldChangedEvent) 
    */ 
    public boolean produceStringMessage(String data) { 

     logger.debug("In produceStringMessage......"); 

     MessageProperties prop = new MessageProperties(); 
     prop.setContentType(MessageProperties.CONTENT_TYPE_TEXT_PLAIN); 

     Message msg = ctdMessageConverter.toMessage(data, prop); 

     logger.debug("publishing string to ......= " + mainQ); 
     myEventTemplate.convertAndSend(mainQ, msg); 

     return true; 
    } 
} 

ProduceMessage.java

ファイルにエラーが次のエラーを取得しています:

2017から10 -04 11:06:08.830 [0; 39m [32m INFO [0; 39m [35m62162 [0; 39m [2m --- [39m [2m; 39m] 。スタンダードサービス[0; 39m [2m:[0; 39m停止サービス[Tomcat] [2m2017-10-04 11:06:08.849 [0; 39m [32m INFm [35m62162 [0; 39m [2m- - [0; 39m [2m [main] [0; 39m [36mutoConfigurationReportLog gingInitializer [0; 39m [2m:[0; 39m

ApplicationContextの開始中にエラーが発生しました。自動構成レポートを表示するには、「デバッグ」を有効にしてアプリケーションを再実行します。 【請求項2】請求項1に記載の方法であって、 36mo.sbdLoggingFailureAnalysisReporter [0; 39メートル[2メートル:[0; 39メートル

***************************アプリケーションが起動に失敗しました************************** 説明: com.ge.power.tcs.producer.ProduceMessageのフィールドctdMessageConverterは型のBeanを必要としました 'org.springframework.amqp.support.converter.MessageConverter'その が見つかりませんでした。

処置:

があなたの 構成でタイプ 'org.springframework.amqp.support.converter.MessageConverter' のBeanを定義することを検討してください。


のRabbitMQ-producer.xml

<beans xmlns="http://www.springframework.org/schema/beans" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:rabbit="http://www.springframework.org/schema/rabbit" 
    xmlns:context="http://www.springframework.org/schema/context" 
    xmlns:oxm="http://www.springframework.org/schema/oxm" 
    xsi:schemaLocation="http://www.springframework.org/schema/rabbit 
      http://www.springframework.org/schema/rabbit/spring-rabbit.xsd 
      http://www.springframework.org/schema/beans 
      http://www.springframework.org/schema/beans/spring-beans.xsd 
      http://www.springframework.org/schema/oxm http://www.springframework.org/schema/oxm/spring-oxm.xsd"> 
    <bean id="ctdMessageConverter" 
     class="org.springframework.amqp.support.converter.ContentTypeDelegatingMessageConverter"> 
     <property name="delegates"> 
      <map> 
       <entry key="text/plain" value-ref="simpleMessageConverter" /> 
      </map> 
     </property> 
    </bean> 
    <bean id="simpleMessageConverter" 
     class="org.springframework.amqp.support.converter.SimpleMessageConverter" />   
</beans> 
+0

が含まれている代わりに@ContextConfiguration("classpath:META-INF/spring/rabbitmq-producer.xml")の春ブーツのメインアプリケーションクラスで@ImportResource("classpath:META-INF/spring/rabbitmq-producer.xml")を言及してみませんか一度問題が解決されましたここに注入したいメッセージコンバータの '@ Bean'定義がありますか? –

+0

そのインポートorg.springframework.amqp.support.converter.MessageConverter;インスタンス – sromit

+0

私の質問は、正確にあなたがここに注射されることを期待していたことです、そして、それはなぜあなたの期待ですか?あなたが共有したコードではそれが明白ではありません。 –

答えて

1

私たちは豆のインスタンス化