これは、メッセージを埋め込みブローカに送信するための設定です。また、最初のBeanメソッドは、ブローカの作成と起動だけに使用されます。インスタンスは返されません。 このコードはブローカーを開始しますか? JMSテンプレートのsendメソッドを使用して、以下のトピックにメッセージを送信しました。ブローカを作成して実行するためのcreatebrokerserviceを作成しました。組み込みブローカActiveMQのコンフィグレーション
@Configuration
@EnableJms
public class JMSConfig {
public static final String DEFAULT_BROKER_URL = "tcp://localhost:61616";
public static final String COMMENT_QUEUE = "comment-queue";
@Bean
public void createBrokerService() throws Exception {
BrokerService broker = new BrokerService();
TransportConnector connector = new TransportConnector();
connector.setUri(new URI("tcp://localhost:61616"));
broker.addConnector(connector);
broker.start();
}
@Bean
public ActiveMQConnectionFactory connectionFactory(){
ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory();
connectionFactory.setBrokerURL(DEFAULT_BROKER_URL);
return connectionFactory;
}
@Bean
public JmsTemplate jmsTemplate(){
JmsTemplate template = new JmsTemplate();
template.setConnectionFactory(connectionFactory());
template.setDefaultDestinationName(COMMENT_QUEUE);
template.setPubSubDomain(true);
template.setSessionTransacted(true);
return template;
}
コードレビューにはhttps://codereview.stackexchange.com/があります。 – ventiseis
私の質問は少し異なります。 createBrokerservice()内のステートメントは実行されますか?私はそのブローカーを発行して購読することができます。 – africandrogba