--- title: Spring BootでJMSを試すの簡単すぎワロタ tags: ["JMS", "Java", "Spring", "Spring Boot"] categories: ["Programming", "Java", "org", "springframework", "boot"] date: 2015-01-05T14:52:27Z updated: 2015-01-05T15:29:55Z --- 以前、渋谷Javaで発表しましたが、Spring Boot 1.2でJMS対応が行われました。
HornetQの場合、依存関係に`org.springframework.boot:spring-boot-starter-hornetq`を追加する。以上です。これで諸々の設定が有効になります。簡単! そして、組み込みJMSサーバーにも対応しています。HornetQの場合、`org.hornetq:hornetq-jms-server`を依存関係に追加して、`application.yml`に以下を設定します。 ``` yaml spring: hornetq: mode: embedded embedded: enabled: true queues: hoge ``` これで、Spring Bootアプリケーションを起動するだけでJMSプログラミングが可能になります! JSUGで発表したSpring 4.1のJMS対応機能を使うとJMSプログラミングも超簡単です。 ちょっとしたサンプルのソースコードは以下で全量です。 ``` java package demo; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.jms.annotation.JmsListener; import org.springframework.jms.core.JmsMessagingTemplate; import org.springframework.messaging.Message; import org.springframework.messaging.support.MessageBuilder; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @SpringBootApplication @RestController public class App { public static void main(String[] args) { SpringApplication.run(App.class, args); } private static final Logger log = LoggerFactory.getLogger(App.class); @Autowired JmsMessagingTemplate messagingTemplate; @RequestMapping(value = "/") String hello() { Message