ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
# 32.1.3 HornetQ支持 **注** HornetQ在1.4版本已过期,可以考虑迁移到[artemis](http://docs.spring.io/spring-boot/docs/1.4.1.RELEASE/reference/htmlsingle/#boot-features-artemis)。 如果在classpath下发现HornetQ,Spring Boot会自动配置`ConnectionFactory`。如果需要代理,将会开启一个内嵌的,已经自动配置好的代理(除非显式设置mode属性)。支持的modes有:`embedded`(显式声明使用内嵌的代理,如果该代理在classpath下不可用将出错),`native`(使用`netty`传输协议连接代理)。当后者被配置,Spring Boot配置一个连接到代理的`ConnectionFactory`,该代理运行在使用默认配置的本地机器上。 **注**:如果使用`spring-boot-starter-hornetq`,连接到一个已存在的HornetQ实例所需的依赖都会被提供,同时还有用于集成JMS的Spring基础设施。将`org.hornetq:hornetq-jms-server`添加到应用中,你就可以使用`embedded`模式。 HornetQ配置被`spring.hornetq.*`中的外部配置属性所控制,例如,在`application.properties`声明以下片段: ```java spring.hornetq.mode=native spring.hornetq.host=192.168.1.210 spring.hornetq.port=9876 ``` 当内嵌代理时,你可以选择是否启用持久化,并且列表中的目标都应该是可用的。这些可以通过一个以逗号分割的列表来指定一些默认的配置项,或定义`org.hornetq.jms.server.config.JMSQueueConfiguration`或`org.hornetq.jms.server.config.TopicConfiguration`类型的bean\(s\)来配置更高级的队列和主题,具体参考[HornetQProperties](http://github.com/spring-projects/spring-boot/tree/master/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jms/hornetq/HornetQProperties.java)。 没有涉及JNDI查找,目标是通过名字解析的,名字即可以使用HornetQ配置中的name属性,也可以是配置中提供的names。