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>
が含まれている代わりに
@ContextConfiguration("classpath:META-INF/spring/rabbitmq-producer.xml")
の春ブーツのメインアプリケーションクラスで@ImportResource("classpath:META-INF/spring/rabbitmq-producer.xml")
を言及してみませんか一度問題が解決されましたここに注入したいメッセージコンバータの '@ Bean'定義がありますか? –そのインポートorg.springframework.amqp.support.converter.MessageConverter;インスタンス – sromit
私の質問は、正確にあなたがここに注射されることを期待していたことです、そして、それはなぜあなたの期待ですか?あなたが共有したコードではそれが明白ではありません。 –