diff --git a/spring-boot-autoconfigure/pom.xml b/spring-boot-autoconfigure/pom.xml
index 25ba35ea57..a3ff5fdb70 100755
--- a/spring-boot-autoconfigure/pom.xml
+++ b/spring-boot-autoconfigure/pom.xml
@@ -270,16 +270,6 @@
hibernate-validator
true
-
- org.hornetq
- hornetq-jms-client
- true
-
-
- org.hornetq
- hornetq-jms-server
- true
-
org.infinispan
infinispan-jcache
@@ -290,6 +280,11 @@
infinispan-spring4-embedded
true
+
+ org.jboss
+ jboss-transaction-spi
+ true
+
org.springframework
spring-jdbc
diff --git a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jms/hornetq/HornetQAutoConfiguration.java b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jms/hornetq/HornetQAutoConfiguration.java
deleted file mode 100644
index 115e3ad239..0000000000
--- a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jms/hornetq/HornetQAutoConfiguration.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Copyright 2012-2016 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.springframework.boot.autoconfigure.jms.hornetq;
-
-import javax.jms.ConnectionFactory;
-
-import org.hornetq.api.jms.HornetQJMSClient;
-
-import org.springframework.boot.autoconfigure.AutoConfigureAfter;
-import org.springframework.boot.autoconfigure.AutoConfigureBefore;
-import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
-import org.springframework.boot.autoconfigure.jms.JmsAutoConfiguration;
-import org.springframework.boot.autoconfigure.jms.JndiConnectionFactoryAutoConfiguration;
-import org.springframework.boot.context.properties.EnableConfigurationProperties;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.Import;
-
-/**
- * {@link EnableAutoConfiguration Auto-configuration} to integrate with an HornetQ broker.
- * If the necessary classes are present, embed the broker in the application by default.
- * Otherwise, connect to a broker available on the local machine with the default
- * settings.
- *
- * @author Stephane Nicoll
- * @author Phillip Webb
- * @since 1.1.0
- * @see HornetQProperties
- * @deprecated as of 1.4 in favor of the Artemis support
- */
-@Configuration
-@AutoConfigureBefore(JmsAutoConfiguration.class)
-@AutoConfigureAfter({ JndiConnectionFactoryAutoConfiguration.class })
-@ConditionalOnClass({ ConnectionFactory.class, HornetQJMSClient.class })
-@ConditionalOnMissingBean(ConnectionFactory.class)
-@EnableConfigurationProperties(HornetQProperties.class)
-@Import({ HornetQEmbeddedServerConfiguration.class,
- HornetQXAConnectionFactoryConfiguration.class,
- HornetQConnectionFactoryConfiguration.class })
-@Deprecated
-public class HornetQAutoConfiguration {
-
-}
diff --git a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jms/hornetq/HornetQConfigurationCustomizer.java b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jms/hornetq/HornetQConfigurationCustomizer.java
deleted file mode 100644
index 9dfc4d78d3..0000000000
--- a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jms/hornetq/HornetQConfigurationCustomizer.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright 2012-2016 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.springframework.boot.autoconfigure.jms.hornetq;
-
-import org.hornetq.core.config.Configuration;
-import org.hornetq.jms.server.embedded.EmbeddedJMS;
-
-/**
- * Callback interface that can be implemented by beans wishing to customize the HornetQ
- * JMS server {@link Configuration} before it is used by an auto-configured
- * {@link EmbeddedJMS} instance.
- *
- * @author Phillip Webb
- * @since 1.1.0
- * @see HornetQAutoConfiguration
- * @deprecated as of 1.4 in favor of the Artemis support
- */
-@Deprecated
-public interface HornetQConfigurationCustomizer {
-
- /**
- * Customize the configuration.
- * @param configuration the configuration to customize
- */
- void customize(Configuration configuration);
-
-}
diff --git a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jms/hornetq/HornetQConnectionFactoryConfiguration.java b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jms/hornetq/HornetQConnectionFactoryConfiguration.java
deleted file mode 100644
index 50247e94ca..0000000000
--- a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jms/hornetq/HornetQConnectionFactoryConfiguration.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Copyright 2012-2016 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.springframework.boot.autoconfigure.jms.hornetq;
-
-import javax.jms.ConnectionFactory;
-
-import org.hornetq.jms.client.HornetQConnectionFactory;
-
-import org.springframework.beans.factory.ListableBeanFactory;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-
-/**
- * Configuration for HornetQ {@link ConnectionFactory}.
- *
- * @author Phillip Webb
- * @since 1.2.0
- * @deprecated as of 1.4 in favor of the Artemis support
- */
-@Configuration
-@ConditionalOnMissingBean(ConnectionFactory.class)
-@Deprecated
-class HornetQConnectionFactoryConfiguration {
-
- @Bean
- public HornetQConnectionFactory jmsConnectionFactory(ListableBeanFactory beanFactory,
- HornetQProperties properties) {
- return new HornetQConnectionFactoryFactory(beanFactory, properties)
- .createConnectionFactory(SpringBootHornetQConnectionFactory.class);
- }
-
-}
diff --git a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jms/hornetq/HornetQConnectionFactoryFactory.java b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jms/hornetq/HornetQConnectionFactoryFactory.java
deleted file mode 100644
index a20dd785f5..0000000000
--- a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jms/hornetq/HornetQConnectionFactoryFactory.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*
- * Copyright 2012-2016 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.springframework.boot.autoconfigure.jms.hornetq;
-
-import java.lang.reflect.Constructor;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.hornetq.api.core.TransportConfiguration;
-import org.hornetq.api.core.client.HornetQClient;
-import org.hornetq.api.core.client.ServerLocator;
-import org.hornetq.core.remoting.impl.invm.InVMConnectorFactory;
-import org.hornetq.core.remoting.impl.netty.NettyConnectorFactory;
-import org.hornetq.core.remoting.impl.netty.TransportConstants;
-import org.hornetq.jms.client.HornetQConnectionFactory;
-
-import org.springframework.beans.BeanUtils;
-import org.springframework.beans.factory.ListableBeanFactory;
-import org.springframework.util.Assert;
-import org.springframework.util.ClassUtils;
-
-/**
- * Factory to create a {@link HornetQConnectionFactory} instance from properties defined
- * in {@link HornetQProperties}.
- *
- * @author Phillip Webb
- * @author Stephane Nicoll
- * @since 1.2.0
- * @deprecated as of 1.4 in favor of the Artemis support
- */
-@Deprecated
-class HornetQConnectionFactoryFactory {
-
- static final String EMBEDDED_JMS_CLASS = "org.hornetq.jms.server.embedded.EmbeddedJMS";
-
- private final HornetQProperties properties;
-
- private final ListableBeanFactory beanFactory;
-
- HornetQConnectionFactoryFactory(ListableBeanFactory beanFactory,
- HornetQProperties properties) {
- Assert.notNull(beanFactory, "BeanFactory must not be null");
- Assert.notNull(properties, "Properties must not be null");
- this.beanFactory = beanFactory;
- this.properties = properties;
- }
-
- public T createConnectionFactory(
- Class factoryClass) {
- try {
- startEmbeddedJms();
- return doCreateConnectionFactory(factoryClass);
- }
- catch (Exception ex) {
- throw new IllegalStateException(
- "Unable to create " + "HornetQConnectionFactory", ex);
- }
- }
-
- private void startEmbeddedJms() {
- if (ClassUtils.isPresent(EMBEDDED_JMS_CLASS, null)) {
- try {
- this.beanFactory.getBeansOfType(Class.forName(EMBEDDED_JMS_CLASS));
- }
- catch (Exception ex) {
- // Ignore
- }
- }
- }
-
- private T doCreateConnectionFactory(
- Class factoryClass) throws Exception {
- HornetQMode mode = this.properties.getMode();
- if (mode == null) {
- mode = deduceMode();
- }
- if (mode == HornetQMode.EMBEDDED) {
- return createEmbeddedConnectionFactory(factoryClass);
- }
- return createNativeConnectionFactory(factoryClass);
- }
-
- /**
- * Deduce the {@link HornetQMode} to use if none has been set.
- * @return the mode
- */
- private HornetQMode deduceMode() {
- if (this.properties.getEmbedded().isEnabled()
- && ClassUtils.isPresent(EMBEDDED_JMS_CLASS, null)) {
- return HornetQMode.EMBEDDED;
- }
- return HornetQMode.NATIVE;
- }
-
- private T createEmbeddedConnectionFactory(
- Class factoryClass) throws Exception {
- try {
- TransportConfiguration transportConfiguration = new TransportConfiguration(
- InVMConnectorFactory.class.getName(),
- this.properties.getEmbedded().generateTransportParameters());
- ServerLocator serviceLocator = HornetQClient
- .createServerLocatorWithoutHA(transportConfiguration);
- Constructor constructor = factoryClass
- .getDeclaredConstructor(HornetQProperties.class, ServerLocator.class);
- return BeanUtils.instantiateClass(constructor, this.properties,
- serviceLocator);
- }
- catch (NoClassDefFoundError ex) {
- throw new IllegalStateException("Unable to create InVM "
- + "HornetQ connection, ensure that hornet-jms-server.jar "
- + "is in the classpath", ex);
- }
- }
-
- private T createNativeConnectionFactory(
- Class factoryClass) throws Exception {
- Map params = new HashMap();
- params.put(TransportConstants.HOST_PROP_NAME, this.properties.getHost());
- params.put(TransportConstants.PORT_PROP_NAME, this.properties.getPort());
- TransportConfiguration transportConfiguration = new TransportConfiguration(
- NettyConnectorFactory.class.getName(), params);
- Constructor constructor = factoryClass.getDeclaredConstructor(
- HornetQProperties.class, boolean.class, TransportConfiguration[].class);
- return BeanUtils.instantiateClass(constructor, this.properties, false,
- new TransportConfiguration[] { transportConfiguration });
- }
-
-}
diff --git a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jms/hornetq/HornetQEmbeddedConfigurationFactory.java b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jms/hornetq/HornetQEmbeddedConfigurationFactory.java
deleted file mode 100644
index 8208bf97ef..0000000000
--- a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jms/hornetq/HornetQEmbeddedConfigurationFactory.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * Copyright 2012-2016 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.springframework.boot.autoconfigure.jms.hornetq;
-
-import java.io.File;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.hornetq.api.core.TransportConfiguration;
-import org.hornetq.core.config.Configuration;
-import org.hornetq.core.config.impl.ConfigurationImpl;
-import org.hornetq.core.remoting.impl.invm.InVMAcceptorFactory;
-import org.hornetq.core.server.JournalType;
-
-import org.springframework.boot.autoconfigure.jms.hornetq.HornetQProperties.Embedded;
-
-/**
- * Factory class to create a HornetQ {@link Configuration} from {@link HornetQProperties}.
- *
- * @author Stephane Nicoll
- * @author Phillip Webb
- * @since 1.1.0
- * @deprecated as of 1.4 in favor of the Artemis support
- */
-@Deprecated
-class HornetQEmbeddedConfigurationFactory {
-
- private static final Log logger = LogFactory
- .getLog(HornetQEmbeddedConfigurationFactory.class);
-
- private final Embedded properties;
-
- HornetQEmbeddedConfigurationFactory(HornetQProperties properties) {
- this.properties = properties.getEmbedded();
- }
-
- public Configuration createConfiguration() {
- ConfigurationImpl configuration = new ConfigurationImpl();
- configuration.setSecurityEnabled(false);
- configuration.setPersistenceEnabled(this.properties.isPersistent());
-
- String dataDir = getDataDir();
-
- // HORNETQ-1302
- configuration.setJournalDirectory(dataDir + "/journal");
-
- if (this.properties.isPersistent()) {
- configuration.setJournalType(JournalType.NIO);
- configuration.setLargeMessagesDirectory(dataDir + "/largemessages");
- configuration.setBindingsDirectory(dataDir + "/bindings");
- configuration.setPagingDirectory(dataDir + "/paging");
- }
-
- TransportConfiguration transportConfiguration = new TransportConfiguration(
- InVMAcceptorFactory.class.getName(),
- this.properties.generateTransportParameters());
- configuration.getAcceptorConfigurations().add(transportConfiguration);
-
- // HORNETQ-1143
- if (this.properties.isDefaultClusterPassword()) {
- logger.debug("Using default HornetQ cluster password: "
- + this.properties.getClusterPassword());
- }
-
- configuration.setClusterPassword(this.properties.getClusterPassword());
- return configuration;
- }
-
- private String getDataDir() {
- if (this.properties.getDataDirectory() != null) {
- return this.properties.getDataDirectory();
- }
- String tempDirectory = System.getProperty("java.io.tmpdir");
- return new File(tempDirectory, "hornetq-data").getAbsolutePath();
- }
-}
diff --git a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jms/hornetq/HornetQEmbeddedServerConfiguration.java b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jms/hornetq/HornetQEmbeddedServerConfiguration.java
deleted file mode 100644
index 4cd8efbc86..0000000000
--- a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jms/hornetq/HornetQEmbeddedServerConfiguration.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*
- * Copyright 2012-2016 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.springframework.boot.autoconfigure.jms.hornetq;
-
-import java.util.Collection;
-import java.util.List;
-
-import org.hornetq.jms.server.config.JMSConfiguration;
-import org.hornetq.jms.server.config.JMSQueueConfiguration;
-import org.hornetq.jms.server.config.TopicConfiguration;
-import org.hornetq.jms.server.config.impl.JMSConfigurationImpl;
-import org.hornetq.jms.server.config.impl.JMSQueueConfigurationImpl;
-import org.hornetq.jms.server.config.impl.TopicConfigurationImpl;
-import org.hornetq.jms.server.embedded.EmbeddedJMS;
-
-import org.springframework.beans.factory.ObjectProvider;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.core.annotation.AnnotationAwareOrderComparator;
-
-/**
- * Configuration used to create the embedded HornetQ server.
- *
- * @author Phillip Webb
- * @author Stephane Nicoll
- * @since 1.2.0
- * @deprecated as of 1.4 in favor of the Artemis support
- */
-@Configuration
-@ConditionalOnClass(name = HornetQConnectionFactoryFactory.EMBEDDED_JMS_CLASS)
-@ConditionalOnProperty(prefix = "spring.hornetq.embedded", name = "enabled", havingValue = "true", matchIfMissing = true)
-@Deprecated
-class HornetQEmbeddedServerConfiguration {
-
- private final HornetQProperties properties;
-
- private final List configurationCustomizers;
-
- private final List queuesConfiguration;
-
- private final List topicsConfiguration;
-
- HornetQEmbeddedServerConfiguration(HornetQProperties properties,
- ObjectProvider> configurationCustomizersProvider,
- ObjectProvider> queuesConfigurationProvider,
- ObjectProvider> topicsConfigurationProvider) {
- this.properties = properties;
- this.configurationCustomizers = configurationCustomizersProvider.getIfAvailable();
- this.queuesConfiguration = queuesConfigurationProvider.getIfAvailable();
- this.topicsConfiguration = topicsConfigurationProvider.getIfAvailable();
- }
-
- @Bean
- @ConditionalOnMissingBean
- public org.hornetq.core.config.Configuration hornetQConfiguration() {
- return new HornetQEmbeddedConfigurationFactory(this.properties)
- .createConfiguration();
- }
-
- @Bean(initMethod = "start", destroyMethod = "stop")
- @ConditionalOnMissingBean
- public EmbeddedJMS hornetQServer(org.hornetq.core.config.Configuration configuration,
- JMSConfiguration jmsConfiguration) {
- EmbeddedJMS server = new EmbeddedJMS();
- customize(configuration);
- server.setConfiguration(configuration);
- server.setJmsConfiguration(jmsConfiguration);
- server.setRegistry(new HornetQNoOpBindingRegistry());
- return server;
- }
-
- private void customize(org.hornetq.core.config.Configuration configuration) {
- if (this.configurationCustomizers != null) {
- AnnotationAwareOrderComparator.sort(this.configurationCustomizers);
- for (HornetQConfigurationCustomizer customizer : this.configurationCustomizers) {
- customizer.customize(configuration);
- }
- }
- }
-
- @Bean
- @ConditionalOnMissingBean
- public JMSConfiguration hornetQJmsConfiguration() {
- JMSConfiguration configuration = new JMSConfigurationImpl();
- addAll(configuration.getQueueConfigurations(), this.queuesConfiguration);
- addAll(configuration.getTopicConfigurations(), this.topicsConfiguration);
- addQueues(configuration, this.properties.getEmbedded().getQueues());
- addTopics(configuration, this.properties.getEmbedded().getTopics());
- return configuration;
- }
-
- private void addAll(List list, Collection extends T> items) {
- if (items != null) {
- list.addAll(items);
- }
- }
-
- private void addQueues(JMSConfiguration configuration, String[] queues) {
- boolean persistent = this.properties.getEmbedded().isPersistent();
- for (String queue : queues) {
- configuration.getQueueConfigurations().add(new JMSQueueConfigurationImpl(
- queue, null, persistent, "/queue/" + queue));
- }
- }
-
- private void addTopics(JMSConfiguration configuration, String[] topics) {
- for (String topic : topics) {
- configuration.getTopicConfigurations()
- .add(new TopicConfigurationImpl(topic, "/topic/" + topic));
- }
- }
-
-}
diff --git a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jms/hornetq/HornetQMode.java b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jms/hornetq/HornetQMode.java
deleted file mode 100644
index ab900684e0..0000000000
--- a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jms/hornetq/HornetQMode.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright 2012-2016 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.springframework.boot.autoconfigure.jms.hornetq;
-
-/**
- * Define the mode in which HornetQ can operate.
- *
- * @author Stephane Nicoll
- * @since 1.1.0
- * @deprecated as of 1.4 in favor of the Artemis support
- */
-@Deprecated
-public enum HornetQMode {
-
- /**
- * Connect to a broker using the native HornetQ protocol (i.e. netty).
- */
- NATIVE,
-
- /**
- * Embed (i.e. start) the broker in the application.
- */
- EMBEDDED
-
-}
diff --git a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jms/hornetq/HornetQNoOpBindingRegistry.java b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jms/hornetq/HornetQNoOpBindingRegistry.java
deleted file mode 100644
index 22c2e249bd..0000000000
--- a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jms/hornetq/HornetQNoOpBindingRegistry.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Copyright 2012-2016 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.springframework.boot.autoconfigure.jms.hornetq;
-
-import org.hornetq.spi.core.naming.BindingRegistry;
-
-/**
- * A no-op implementation of the {@link org.hornetq.spi.core.naming.BindingRegistry}.
- *
- * @author Stephane Nicoll
- * @since 1.1.0
- * @deprecated as of 1.4 in favor of the Artemis support
- */
-@Deprecated
-public class HornetQNoOpBindingRegistry implements BindingRegistry {
-
- @Override
- public Object lookup(String name) {
- // This callback is used to check if an entry is present in the context before
- // creating a queue on the fly. This is actually never used to try to fetch a
- // destination that is unknown.
- return null;
- }
-
- @Override
- public boolean bind(String name, Object obj) {
- // This callback is used bind a Destination created on the fly by the embedded
- // broker using the JNDI name that was specified in the configuration. This does
- // not look very useful since it's used nowhere. It could be interesting to
- // autowire a destination to use it but the wiring is a bit "asynchronous" so
- // better not provide that feature at all.
- return false;
- }
-
- @Override
- public void unbind(String name) {
- }
-
- @Override
- public void close() {
- }
-
- @Override
- public Object getContext() {
- return this;
- }
-
- @Override
- public void setContext(Object ctx) {
- }
-
-}
diff --git a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jms/hornetq/HornetQProperties.java b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jms/hornetq/HornetQProperties.java
deleted file mode 100644
index 69800d8cf7..0000000000
--- a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jms/hornetq/HornetQProperties.java
+++ /dev/null
@@ -1,230 +0,0 @@
-/*
- * Copyright 2012-2016 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.springframework.boot.autoconfigure.jms.hornetq;
-
-import java.util.HashMap;
-import java.util.Map;
-import java.util.UUID;
-import java.util.concurrent.atomic.AtomicInteger;
-
-import org.hornetq.core.remoting.impl.invm.TransportConstants;
-
-import org.springframework.boot.context.properties.ConfigurationProperties;
-
-/**
- * Configuration properties for HornetQ.
- *
- * @author Stephane Nicoll
- * @since 1.1.0
- * @deprecated as of 1.4 in favor of the Artemis support
- */
-@ConfigurationProperties(prefix = "spring.hornetq")
-@Deprecated
-public class HornetQProperties {
-
- /**
- * HornetQ deployment mode, auto-detected by default.
- */
- private HornetQMode mode;
-
- /**
- * HornetQ broker host.
- */
- private String host = "localhost";
-
- /**
- * HornetQ broker port.
- */
- private int port = 5445;
-
- /**
- * Login user of the broker.
- */
- private String user;
-
- /**
- * Login password of the broker.
- */
- private String password;
-
- private final Embedded embedded = new Embedded();
-
- public HornetQMode getMode() {
- return this.mode;
- }
-
- public void setMode(HornetQMode mode) {
- this.mode = mode;
- }
-
- public String getHost() {
- return this.host;
- }
-
- public void setHost(String host) {
- this.host = host;
- }
-
- public int getPort() {
- return this.port;
- }
-
- public void setPort(int port) {
- this.port = port;
- }
-
- public String getUser() {
- return this.user;
- }
-
- public void setUser(String user) {
- this.user = user;
- }
-
- public String getPassword() {
- return this.password;
- }
-
- public void setPassword(String password) {
- this.password = password;
- }
-
- public Embedded getEmbedded() {
- return this.embedded;
- }
-
- /**
- * Configuration for an embedded HornetQ server.
- */
- public static class Embedded {
-
- private static final AtomicInteger serverIdCounter = new AtomicInteger();
-
- /**
- * Server id. By default, an auto-incremented counter is used.
- */
- private int serverId = serverIdCounter.getAndIncrement();
-
- /**
- * Enable embedded mode if the HornetQ server APIs are available.
- */
- private boolean enabled = true;
-
- /**
- * Enable persistent store.
- */
- private boolean persistent;
-
- /**
- * Journal file directory. Not necessary if persistence is turned off.
- */
- private String dataDirectory;
-
- /**
- * Comma-separated list of queues to create on startup.
- */
- private String[] queues = new String[0];
-
- /**
- * Comma-separated list of topics to create on startup.
- */
- private String[] topics = new String[0];
-
- /**
- * Cluster password. Randomly generated on startup by default.
- */
- private String clusterPassword = UUID.randomUUID().toString();
-
- private boolean defaultClusterPassword = true;
-
- public int getServerId() {
- return this.serverId;
- }
-
- public void setServerId(int serverId) {
- this.serverId = serverId;
- }
-
- public boolean isEnabled() {
- return this.enabled;
- }
-
- public void setEnabled(boolean enabled) {
- this.enabled = enabled;
- }
-
- public boolean isPersistent() {
- return this.persistent;
- }
-
- public void setPersistent(boolean persistent) {
- this.persistent = persistent;
- }
-
- public String getDataDirectory() {
- return this.dataDirectory;
- }
-
- public void setDataDirectory(String dataDirectory) {
- this.dataDirectory = dataDirectory;
- }
-
- public String[] getQueues() {
- return this.queues;
- }
-
- public void setQueues(String[] queues) {
- this.queues = queues;
- }
-
- public String[] getTopics() {
- return this.topics;
- }
-
- public void setTopics(String[] topics) {
- this.topics = topics;
- }
-
- public String getClusterPassword() {
- return this.clusterPassword;
- }
-
- public void setClusterPassword(String clusterPassword) {
- this.clusterPassword = clusterPassword;
- this.defaultClusterPassword = false;
- }
-
- public boolean isDefaultClusterPassword() {
- return this.defaultClusterPassword;
- }
-
- /**
- * Creates the minimal transport parameters for an embedded transport
- * configuration.
- *
- * @return the transport parameters
- * @see TransportConstants#SERVER_ID_PROP_NAME
- */
- public Map generateTransportParameters() {
- Map parameters = new HashMap();
- parameters.put(TransportConstants.SERVER_ID_PROP_NAME, getServerId());
- return parameters;
- }
-
- }
-
-}
diff --git a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jms/hornetq/HornetQXAConnectionFactoryConfiguration.java b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jms/hornetq/HornetQXAConnectionFactoryConfiguration.java
deleted file mode 100644
index bd5b92b1b9..0000000000
--- a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jms/hornetq/HornetQXAConnectionFactoryConfiguration.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Copyright 2012-2016 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.springframework.boot.autoconfigure.jms.hornetq;
-
-import javax.jms.ConnectionFactory;
-import javax.transaction.TransactionManager;
-
-import org.hornetq.jms.client.HornetQConnectionFactory;
-
-import org.springframework.beans.factory.ListableBeanFactory;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
-import org.springframework.boot.jta.XAConnectionFactoryWrapper;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.Primary;
-
-/**
- * Configuration for HornetQ XA {@link ConnectionFactory}.
- *
- * @author Phillip Webb
- * @since 1.2.0
- * @deprecated as of 1.4 in favor of the Artemis support
- */
-@Configuration
-@ConditionalOnMissingBean(ConnectionFactory.class)
-@ConditionalOnClass(TransactionManager.class)
-@ConditionalOnBean(XAConnectionFactoryWrapper.class)
-@Deprecated
-class HornetQXAConnectionFactoryConfiguration {
-
- @Primary
- @Bean(name = { "jmsConnectionFactory", "xaJmsConnectionFactory" })
- public ConnectionFactory jmsConnectionFactory(ListableBeanFactory beanFactory,
- HornetQProperties properties, XAConnectionFactoryWrapper wrapper)
- throws Exception {
- return wrapper.wrapConnectionFactory(
- new HornetQConnectionFactoryFactory(beanFactory, properties)
- .createConnectionFactory(
- SpringBootHornetQXAConnectionFactory.class));
- }
-
- @Bean
- public HornetQConnectionFactory nonXaJmsConnectionFactory(
- ListableBeanFactory beanFactory, HornetQProperties properties) {
- return new HornetQConnectionFactoryFactory(beanFactory, properties)
- .createConnectionFactory(SpringBootHornetQConnectionFactory.class);
- }
-}
diff --git a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jms/hornetq/SpringBootHornetQConnectionFactory.java b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jms/hornetq/SpringBootHornetQConnectionFactory.java
deleted file mode 100644
index bce572f93c..0000000000
--- a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jms/hornetq/SpringBootHornetQConnectionFactory.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Copyright 2012-2016 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.springframework.boot.autoconfigure.jms.hornetq;
-
-import javax.jms.Connection;
-import javax.jms.JMSException;
-
-import org.hornetq.api.core.TransportConfiguration;
-import org.hornetq.api.core.client.ServerLocator;
-import org.hornetq.jms.client.HornetQConnectionFactory;
-
-import org.springframework.util.StringUtils;
-
-/**
- * A {@link HornetQConnectionFactory} that manages the credentials of the connection.
- *
- * @author Stéphane Lagraulet
- * @author Stephane Nicoll
- * @deprecated as of 1.4 in favor of the Artemis support
- */
-@Deprecated
-class SpringBootHornetQConnectionFactory extends HornetQConnectionFactory {
-
- private final HornetQProperties properties;
-
- SpringBootHornetQConnectionFactory(HornetQProperties properties,
- ServerLocator serverLocator) {
- super(serverLocator);
- this.properties = properties;
- }
-
- SpringBootHornetQConnectionFactory(HornetQProperties properties, boolean ha,
- TransportConfiguration... initialConnectors) {
- super(ha, initialConnectors);
- this.properties = properties;
- }
-
- @Override
- public Connection createConnection() throws JMSException {
- String user = this.properties.getUser();
- if (StringUtils.hasText(user)) {
- return createConnection(user, this.properties.getPassword());
- }
- return super.createConnection();
- }
-
-}
diff --git a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jms/hornetq/SpringBootHornetQXAConnectionFactory.java b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jms/hornetq/SpringBootHornetQXAConnectionFactory.java
deleted file mode 100644
index e77cab8b2d..0000000000
--- a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jms/hornetq/SpringBootHornetQXAConnectionFactory.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Copyright 2012-2016 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.springframework.boot.autoconfigure.jms.hornetq;
-
-import javax.jms.Connection;
-import javax.jms.JMSException;
-
-import org.hornetq.api.core.TransportConfiguration;
-import org.hornetq.api.core.client.ServerLocator;
-import org.hornetq.jms.client.HornetQXAConnectionFactory;
-
-import org.springframework.util.StringUtils;
-
-/**
- * A {@link HornetQXAConnectionFactory} that manages the credentials of the connection.
- *
- * @author Stéphane Lagraulet
- * @author Stephane Nicoll
- * @deprecated as of 1.4 in favor of the Artemis support
- */
-@Deprecated
-class SpringBootHornetQXAConnectionFactory extends HornetQXAConnectionFactory {
-
- private final HornetQProperties properties;
-
- SpringBootHornetQXAConnectionFactory(HornetQProperties properties,
- ServerLocator serverLocator) {
- super(serverLocator);
- this.properties = properties;
- }
-
- SpringBootHornetQXAConnectionFactory(HornetQProperties properties, boolean ha,
- TransportConfiguration... initialConnectors) {
- super(ha, initialConnectors);
- this.properties = properties;
- }
-
- @Override
- public Connection createConnection() throws JMSException {
- String user = this.properties.getUser();
- if (StringUtils.hasText(user)) {
- return createConnection(user, this.properties.getPassword());
- }
- return super.createConnection();
- }
-
-}
diff --git a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jms/hornetq/package-info.java b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jms/hornetq/package-info.java
deleted file mode 100644
index 9e2b9d56e7..0000000000
--- a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jms/hornetq/package-info.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * Copyright 2012-2016 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Auto-configuration for HornetQ.
- * @deprecated as of 1.4 in favor of the Artemis support
- */
-package org.springframework.boot.autoconfigure.jms.hornetq;
diff --git a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/transaction/jta/JtaAutoConfiguration.java b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/transaction/jta/JtaAutoConfiguration.java
index 9996cb2e59..3d9bdf63ae 100644
--- a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/transaction/jta/JtaAutoConfiguration.java
+++ b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/transaction/jta/JtaAutoConfiguration.java
@@ -23,7 +23,6 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.boot.autoconfigure.jdbc.XADataSourceAutoConfiguration;
import org.springframework.boot.autoconfigure.jms.activemq.ActiveMQAutoConfiguration;
import org.springframework.boot.autoconfigure.jms.artemis.ArtemisAutoConfiguration;
-import org.springframework.boot.autoconfigure.jms.hornetq.HornetQAutoConfiguration;
import org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Import;
@@ -35,12 +34,11 @@ import org.springframework.context.annotation.Import;
* @author Phillip Webb
* @since 1.2.0
*/
-@SuppressWarnings("deprecation")
@ConditionalOnClass(javax.transaction.Transaction.class)
@ConditionalOnProperty(prefix = "spring.jta", value = "enabled", matchIfMissing = true)
@AutoConfigureBefore({ XADataSourceAutoConfiguration.class,
- ArtemisAutoConfiguration.class, ActiveMQAutoConfiguration.class,
- HornetQAutoConfiguration.class, HibernateJpaAutoConfiguration.class })
+ ActiveMQAutoConfiguration.class, ArtemisAutoConfiguration.class,
+ HibernateJpaAutoConfiguration.class })
@Import({ JndiJtaConfiguration.class, BitronixJtaConfiguration.class,
AtomikosJtaConfiguration.class, NarayanaJtaConfiguration.class })
@EnableConfigurationProperties(JtaProperties.class)
diff --git a/spring-boot-autoconfigure/src/main/resources/META-INF/spring.factories b/spring-boot-autoconfigure/src/main/resources/META-INF/spring.factories
index 62f5a8b2df..cd9e241c6a 100644
--- a/spring-boot-autoconfigure/src/main/resources/META-INF/spring.factories
+++ b/spring-boot-autoconfigure/src/main/resources/META-INF/spring.factories
@@ -58,7 +58,6 @@ org.springframework.boot.autoconfigure.jmx.JmxAutoConfiguration,\
org.springframework.boot.autoconfigure.jms.JndiConnectionFactoryAutoConfiguration,\
org.springframework.boot.autoconfigure.jms.activemq.ActiveMQAutoConfiguration,\
org.springframework.boot.autoconfigure.jms.artemis.ArtemisAutoConfiguration,\
-org.springframework.boot.autoconfigure.jms.hornetq.HornetQAutoConfiguration,\
org.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration,\
org.springframework.boot.autoconfigure.groovy.template.GroovyTemplateAutoConfiguration,\
org.springframework.boot.autoconfigure.jersey.JerseyAutoConfiguration,\
diff --git a/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/jms/hornetq/HornetQAutoConfigurationTests.java b/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/jms/hornetq/HornetQAutoConfigurationTests.java
deleted file mode 100644
index 2a0795fae0..0000000000
--- a/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/jms/hornetq/HornetQAutoConfigurationTests.java
+++ /dev/null
@@ -1,435 +0,0 @@
-/*
- * Copyright 2012-2016 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.springframework.boot.autoconfigure.jms.hornetq;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.UUID;
-
-import javax.jms.Connection;
-import javax.jms.Destination;
-import javax.jms.JMSException;
-import javax.jms.Message;
-import javax.jms.Session;
-import javax.jms.TextMessage;
-
-import org.hornetq.api.core.TransportConfiguration;
-import org.hornetq.core.remoting.impl.invm.InVMConnectorFactory;
-import org.hornetq.core.remoting.impl.netty.NettyConnectorFactory;
-import org.hornetq.jms.client.HornetQConnectionFactory;
-import org.hornetq.jms.server.config.JMSConfiguration;
-import org.hornetq.jms.server.config.JMSQueueConfiguration;
-import org.hornetq.jms.server.config.TopicConfiguration;
-import org.hornetq.jms.server.config.impl.JMSConfigurationImpl;
-import org.hornetq.jms.server.config.impl.JMSQueueConfigurationImpl;
-import org.hornetq.jms.server.config.impl.TopicConfigurationImpl;
-import org.hornetq.jms.server.embedded.EmbeddedJMS;
-import org.junit.After;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.TemporaryFolder;
-
-import org.springframework.boot.autoconfigure.jms.JmsAutoConfiguration;
-import org.springframework.boot.test.util.EnvironmentTestUtils;
-import org.springframework.context.ApplicationContext;
-import org.springframework.context.annotation.AnnotationConfigApplicationContext;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.jms.core.JmsTemplate;
-import org.springframework.jms.core.MessageCreator;
-import org.springframework.jms.core.SessionCallback;
-import org.springframework.jms.support.destination.DestinationResolver;
-import org.springframework.jms.support.destination.DynamicDestinationResolver;
-
-import static org.assertj.core.api.Assertions.assertThat;
-import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.spy;
-
-/**
- * Tests for {@link HornetQAutoConfiguration}.
- *
- * @author Stephane Nicoll
- */
-@Deprecated
-@SuppressWarnings("deprecation")
-public class HornetQAutoConfigurationTests {
-
- @Rule
- public final TemporaryFolder folder = new TemporaryFolder();
-
- private AnnotationConfigApplicationContext context;
-
- @After
- public void tearDown() {
- if (this.context != null) {
- this.context.close();
- }
- }
-
- @Test
- public void nativeConnectionFactory() {
- load(EmptyConfiguration.class, "spring.hornetq.mode:native");
- JmsTemplate jmsTemplate = this.context.getBean(JmsTemplate.class);
- HornetQConnectionFactory connectionFactory = this.context
- .getBean(HornetQConnectionFactory.class);
- assertThat(connectionFactory).isEqualTo(jmsTemplate.getConnectionFactory());
- assertNettyConnectionFactory(connectionFactory, "localhost", 5445);
- }
-
- @Test
- public void nativeConnectionFactoryCustomHost() {
- load(EmptyConfiguration.class, "spring.hornetq.mode:native",
- "spring.hornetq.host:192.168.1.144", "spring.hornetq.port:9876");
- HornetQConnectionFactory connectionFactory = this.context
- .getBean(HornetQConnectionFactory.class);
- assertNettyConnectionFactory(connectionFactory, "192.168.1.144", 9876);
- }
-
- @Test
- public void nativeConnectionFactoryCredentials() throws JMSException {
- load(EmptyConfiguration.class, "spring.hornetq.mode:native",
- "spring.hornetq.user:user", "spring.hornetq.password:secret");
- HornetQConnectionFactory connectionFactory = this.context
- .getBean(HornetQConnectionFactory.class);
-
- // Validate the secured variant is invoked
- HornetQConnectionFactory testCf = spy(connectionFactory);
- Connection connection = mock(Connection.class);
- doReturn(connection).when(testCf).createConnection("user", "secret");
-
- Connection actual = testCf.createConnection();
- assertThat(actual).isSameAs(connection);
- }
-
- @Test
- public void embeddedConnectionFactory() {
- load(EmptyConfiguration.class, "spring.hornetq.mode:embedded");
-
- HornetQProperties properties = this.context.getBean(HornetQProperties.class);
- assertThat(properties.getMode()).isEqualTo(HornetQMode.EMBEDDED);
-
- assertThat(this.context.getBeansOfType(EmbeddedJMS.class)).hasSize(1);
- org.hornetq.core.config.Configuration configuration = this.context
- .getBean(org.hornetq.core.config.Configuration.class);
- assertThat(configuration.isPersistenceEnabled()).isFalse();
- assertThat(configuration.isSecurityEnabled()).isFalse();
-
- HornetQConnectionFactory connectionFactory = this.context
- .getBean(HornetQConnectionFactory.class);
- assertInVmConnectionFactory(connectionFactory);
- }
-
- @Test
- public void embeddedConnectionFactoryByDefault() {
- // No mode is specified
- load(EmptyConfiguration.class);
-
- assertThat(this.context.getBeansOfType(EmbeddedJMS.class)).hasSize(1);
- org.hornetq.core.config.Configuration configuration = this.context
- .getBean(org.hornetq.core.config.Configuration.class);
- assertThat(configuration.isPersistenceEnabled()).isFalse();
- assertThat(configuration.isSecurityEnabled()).isFalse();
-
- HornetQConnectionFactory connectionFactory = this.context
- .getBean(HornetQConnectionFactory.class);
- assertInVmConnectionFactory(connectionFactory);
- }
-
- @Test
- public void nativeConnectionFactoryIfEmbeddedServiceDisabledExplicitly() {
- // No mode is specified
- load(EmptyConfiguration.class, "spring.hornetq.embedded.enabled:false");
-
- assertThat(this.context.getBeansOfType(EmbeddedJMS.class)).isEmpty();
-
- HornetQConnectionFactory connectionFactory = this.context
- .getBean(HornetQConnectionFactory.class);
- assertNettyConnectionFactory(connectionFactory, "localhost", 5445);
- }
-
- @Test
- public void embeddedConnectionFactoryEvenIfEmbeddedServiceDisabled() {
- // No mode is specified
- load(EmptyConfiguration.class, "spring.hornetq.mode:embedded",
- "spring.hornetq.embedded.enabled:false");
-
- assertThat(this.context.getBeansOfType(EmbeddedJMS.class)).isEmpty();
-
- HornetQConnectionFactory connectionFactory = this.context
- .getBean(HornetQConnectionFactory.class);
- assertInVmConnectionFactory(connectionFactory);
- }
-
- @Test
- public void embeddedServerWithDestinations() {
- load(EmptyConfiguration.class, "spring.hornetq.embedded.queues=Queue1,Queue2",
- "spring.hornetq.embedded.topics=Topic1");
-
- DestinationChecker checker = new DestinationChecker(this.context);
- checker.checkQueue("Queue1", true);
- checker.checkQueue("Queue2", true);
- checker.checkQueue("QueueDoesNotExist", false);
-
- checker.checkTopic("Topic1", true);
- checker.checkTopic("TopicDoesNotExist", false);
- }
-
- @Test
- public void embeddedServerWithDestinationConfig() {
- load(DestinationConfiguration.class);
-
- DestinationChecker checker = new DestinationChecker(this.context);
- checker.checkQueue("sampleQueue", true);
- checker.checkTopic("sampleTopic", true);
- }
-
- @Test
- public void embeddedServiceWithCustomJmsConfiguration() {
- // Ignored with custom config
- load(CustomJmsConfiguration.class,
- "spring.hornetq.embedded.queues=Queue1,Queue2");
- DestinationChecker checker = new DestinationChecker(this.context);
- checker.checkQueue("custom", true); // See CustomJmsConfiguration
-
- checker.checkQueue("Queue1", false);
- checker.checkQueue("Queue2", false);
- }
-
- @Test
- public void embeddedServiceWithCustomHornetQConfiguration() {
- load(CustomHornetQConfiguration.class);
- org.hornetq.core.config.Configuration configuration = this.context
- .getBean(org.hornetq.core.config.Configuration.class);
- assertThat(configuration.getName()).isEqualTo("customFooBar");
- }
-
- @Test
- public void embeddedWithPersistentMode() throws IOException, JMSException {
- File dataFolder = this.folder.newFolder();
-
- // Start the server and post a message to some queue
- load(EmptyConfiguration.class, "spring.hornetq.embedded.queues=TestQueue",
- "spring.hornetq.embedded.persistent:true",
- "spring.hornetq.embedded.dataDirectory:" + dataFolder.getAbsolutePath());
-
- final String msgId = UUID.randomUUID().toString();
- JmsTemplate jmsTemplate = this.context.getBean(JmsTemplate.class);
- jmsTemplate.send("TestQueue", new MessageCreator() {
- @Override
- public Message createMessage(Session session) throws JMSException {
- return session.createTextMessage(msgId);
- }
- });
- this.context.close(); // Shutdown the broker
-
- // Start the server again and check if our message is still here
- load(EmptyConfiguration.class, "spring.hornetq.embedded.queues=TestQueue",
- "spring.hornetq.embedded.persistent:true",
- "spring.hornetq.embedded.dataDirectory:" + dataFolder.getAbsolutePath());
-
- JmsTemplate jmsTemplate2 = this.context.getBean(JmsTemplate.class);
- jmsTemplate2.setReceiveTimeout(1000L);
- Message message = jmsTemplate2.receive("TestQueue");
- assertThat(message).isNotNull();
- assertThat(((TextMessage) message).getText()).isEqualTo(msgId);
- }
-
- @Test
- public void severalEmbeddedBrokers() {
- load(EmptyConfiguration.class, "spring.hornetq.embedded.queues=Queue1");
-
- AnnotationConfigApplicationContext anotherContext = doLoad(
- EmptyConfiguration.class, "spring.hornetq.embedded.queues=Queue2");
-
- try {
- HornetQProperties properties = this.context.getBean(HornetQProperties.class);
- HornetQProperties anotherProperties = anotherContext
- .getBean(HornetQProperties.class);
- assertThat(properties.getEmbedded().getServerId() < anotherProperties
- .getEmbedded().getServerId()).isTrue();
-
- DestinationChecker checker = new DestinationChecker(this.context);
- checker.checkQueue("Queue1", true);
- checker.checkQueue("Queue2", false);
-
- DestinationChecker anotherChecker = new DestinationChecker(anotherContext);
- anotherChecker.checkQueue("Queue2", true);
- anotherChecker.checkQueue("Queue1", false);
- }
- finally {
- anotherContext.close();
- }
- }
-
- @Test
- public void connectToASpecificEmbeddedBroker() {
- load(EmptyConfiguration.class, "spring.hornetq.embedded.serverId=93",
- "spring.hornetq.embedded.queues=Queue1");
-
- AnnotationConfigApplicationContext anotherContext = doLoad(
- EmptyConfiguration.class, "spring.hornetq.mode=embedded",
- "spring.hornetq.embedded.serverId=93", // Connect to the "main" broker
- "spring.hornetq.embedded.enabled=false"); // do not start a specific one
-
- try {
- DestinationChecker checker = new DestinationChecker(this.context);
- checker.checkQueue("Queue1", true);
-
- DestinationChecker anotherChecker = new DestinationChecker(anotherContext);
- anotherChecker.checkQueue("Queue1", true);
- }
- finally {
- anotherContext.close();
- }
- }
-
- private TransportConfiguration assertInVmConnectionFactory(
- HornetQConnectionFactory connectionFactory) {
- TransportConfiguration transportConfig = getSingleTransportConfiguration(
- connectionFactory);
- assertThat(transportConfig.getFactoryClassName())
- .isEqualTo(InVMConnectorFactory.class.getName());
- return transportConfig;
- }
-
- private TransportConfiguration assertNettyConnectionFactory(
- HornetQConnectionFactory connectionFactory, String host, int port) {
- TransportConfiguration transportConfig = getSingleTransportConfiguration(
- connectionFactory);
- assertThat(transportConfig.getFactoryClassName())
- .isEqualTo(NettyConnectorFactory.class.getName());
- assertThat(transportConfig.getParams().get("host")).isEqualTo(host);
- assertThat(transportConfig.getParams().get("port")).isEqualTo(port);
- return transportConfig;
- }
-
- private TransportConfiguration getSingleTransportConfiguration(
- HornetQConnectionFactory connectionFactory) {
- TransportConfiguration[] transportConfigurations = connectionFactory
- .getServerLocator().getStaticTransportConfigurations();
- assertThat(transportConfigurations.length).isEqualTo(1);
- return transportConfigurations[0];
- }
-
- private void load(Class> config, String... environment) {
- this.context = doLoad(config, environment);
- }
-
- private AnnotationConfigApplicationContext doLoad(Class> config,
- String... environment) {
- AnnotationConfigApplicationContext applicationContext = new AnnotationConfigApplicationContext();
- applicationContext.register(config);
- applicationContext.register(HornetQAutoConfiguration.class,
- JmsAutoConfiguration.class);
- EnvironmentTestUtils.addEnvironment(applicationContext, environment);
- applicationContext.refresh();
- return applicationContext;
- }
-
- private final static class DestinationChecker {
-
- private final JmsTemplate jmsTemplate;
-
- private final DestinationResolver destinationResolver;
-
- private DestinationChecker(ApplicationContext applicationContext) {
- this.jmsTemplate = applicationContext.getBean(JmsTemplate.class);
- this.destinationResolver = new DynamicDestinationResolver();
- }
-
- public void checkQueue(String name, boolean shouldExist) {
- checkDestination(name, false, shouldExist);
- }
-
- public void checkTopic(String name, boolean shouldExist) {
- checkDestination(name, true, shouldExist);
- }
-
- public void checkDestination(final String name, final boolean pubSub,
- final boolean shouldExist) {
- this.jmsTemplate.execute(new SessionCallback() {
- @Override
- public Void doInJms(Session session) throws JMSException {
- try {
- Destination destination = DestinationChecker.this.destinationResolver
- .resolveDestinationName(session, name, pubSub);
- if (!shouldExist) {
- throw new IllegalStateException("Destination '" + name
- + "' was not expected but got " + destination);
- }
- }
- catch (JMSException e) {
- if (shouldExist) {
- throw new IllegalStateException("Destination '" + name
- + "' was expected but got " + e.getMessage());
- }
- }
- return null;
- }
- });
- }
- }
-
- @Configuration
- protected static class EmptyConfiguration {
- }
-
- @Configuration
- protected static class DestinationConfiguration {
-
- @Bean
- JMSQueueConfiguration sampleQueueConfiguration() {
- return new JMSQueueConfigurationImpl("sampleQueue", "foo=bar", false,
- "/queue/1");
- }
-
- @Bean
- TopicConfiguration sampleTopicConfiguration() {
- return new TopicConfigurationImpl("sampleTopic", "/topic/1");
- }
- }
-
- @Configuration
- protected static class CustomJmsConfiguration {
-
- @Bean
- public JMSConfiguration myJmsConfiguration() {
- JMSConfiguration config = new JMSConfigurationImpl();
- config.getQueueConfigurations()
- .add(new JMSQueueConfigurationImpl("custom", null, false));
- return config;
- }
- }
-
- @Configuration
- protected static class CustomHornetQConfiguration {
-
- @Bean
- public HornetQConfigurationCustomizer myHornetQCustomize() {
- return new HornetQConfigurationCustomizer() {
- @Override
- public void customize(
- org.hornetq.core.config.Configuration configuration) {
- configuration.setClusterPassword("Foobar");
- configuration.setName("customFooBar");
- }
- };
- }
- }
-
-}
diff --git a/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/jms/hornetq/HornetQEmbeddedConfigurationFactoryTests.java b/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/jms/hornetq/HornetQEmbeddedConfigurationFactoryTests.java
deleted file mode 100644
index 5175f7dcf1..0000000000
--- a/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/jms/hornetq/HornetQEmbeddedConfigurationFactoryTests.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Copyright 2012-2016 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.springframework.boot.autoconfigure.jms.hornetq;
-
-import org.hornetq.core.config.Configuration;
-import org.hornetq.core.server.JournalType;
-import org.junit.Test;
-
-import static org.assertj.core.api.Assertions.assertThat;
-
-/**
- * Tests for {@link HornetQEmbeddedConfigurationFactory}.
- *
- * @author Stephane Nicoll
- * @author Phillip Webb
- */
-@Deprecated
-public class HornetQEmbeddedConfigurationFactoryTests {
-
- @Test
- public void defaultDataDir() {
- HornetQProperties properties = new HornetQProperties();
- properties.getEmbedded().setPersistent(true);
- Configuration configuration = new HornetQEmbeddedConfigurationFactory(properties)
- .createConfiguration();
- assertThat(configuration.getJournalDirectory())
- .startsWith(System.getProperty("java.io.tmpdir")).endsWith("/journal");
- }
-
- @Test
- public void persistenceSetup() {
- HornetQProperties properties = new HornetQProperties();
- properties.getEmbedded().setPersistent(true);
- Configuration configuration = new HornetQEmbeddedConfigurationFactory(properties)
- .createConfiguration();
- assertThat(configuration.isPersistenceEnabled()).isTrue();
- assertThat(configuration.getJournalType()).isEqualTo(JournalType.NIO);
- }
-
- @Test
- public void generatedClusterPassword() throws Exception {
- HornetQProperties properties = new HornetQProperties();
- Configuration configuration = new HornetQEmbeddedConfigurationFactory(properties)
- .createConfiguration();
- assertThat(configuration.getClusterPassword().length()).isEqualTo(36);
- }
-
- @Test
- public void specificClusterPassword() throws Exception {
- HornetQProperties properties = new HornetQProperties();
- properties.getEmbedded().setClusterPassword("password");
- Configuration configuration = new HornetQEmbeddedConfigurationFactory(properties)
- .createConfiguration();
- assertThat(configuration.getClusterPassword()).isEqualTo("password");
- }
-
-}
diff --git a/spring-boot-autoconfigure/src/test/resources/application.properties b/spring-boot-autoconfigure/src/test/resources/application.properties
index 38b49d8506..5a146148b6 100644
--- a/spring-boot-autoconfigure/src/test/resources/application.properties
+++ b/spring-boot-autoconfigure/src/test/resources/application.properties
@@ -5,4 +5,3 @@ spring.social.twitter.appId: twid
spring.social.twitter.appSecret: twsecret
spring.social.linkedin.appId: liid
spring.social.linkedin.appSecret: lisecret
-spring.hornetq.embedded.enabled: false
diff --git a/spring-boot-dependencies/pom.xml b/spring-boot-dependencies/pom.xml
index 1243b7ca06..8a09d165de 100644
--- a/spring-boot-dependencies/pom.xml
+++ b/spring-boot-dependencies/pom.xml
@@ -88,7 +88,6 @@
5.2.4.Final
2.4.7
2.3.13
- 2.4.7.Final
2.3.3
2.21
4.1.2
@@ -376,11 +375,6 @@
spring-boot-starter-hateoas
1.5.0.BUILD-SNAPSHOT
-
- org.springframework.boot
- spring-boot-starter-hornetq
- 1.5.0.BUILD-SNAPSHOT
-
org.springframework.boot
spring-boot-starter-integration
@@ -1770,22 +1764,6 @@
hibernate-validator-annotation-processor
${hibernate-validator.version}
-
- org.hornetq
- hornetq-jms-client
- ${hornetq.version}
-
-
- org.hornetq
- hornetq-jms-server
- ${hornetq.version}
-
-
- org.jboss.spec.javax.transaction
- jboss-transaction-api_1.1_spec
-
-
-
org.hsqldb
hsqldb
diff --git a/spring-boot-docs/pom.xml b/spring-boot-docs/pom.xml
index 879da7e9a1..fd753f1741 100644
--- a/spring-boot-docs/pom.xml
+++ b/spring-boot-docs/pom.xml
@@ -445,11 +445,6 @@
hibernate-validator
true
-
- org.hornetq
- hornetq-jms-server
- true
-
org.infinispan
infinispan-jcache
diff --git a/spring-boot-docs/src/main/asciidoc/appendix-application-properties.adoc b/spring-boot-docs/src/main/asciidoc/appendix-application-properties.adoc
index 58d59984b8..25f2564f11 100644
--- a/spring-boot-docs/src/main/asciidoc/appendix-application-properties.adoc
+++ b/spring-boot-docs/src/main/asciidoc/appendix-application-properties.adoc
@@ -854,20 +854,6 @@ content into your application; rather pick only the properties that you need.
spring.batch.schema=classpath:org/springframework/batch/core/schema-@@platform@@.sql # Path to the SQL file to use to initialize the database schema.
spring.batch.table-prefix= # Table prefix for all the batch meta-data tables.
- # HORNETQ ({sc-spring-boot-autoconfigure}/jms/hornetq/HornetQProperties.{sc-ext}[HornetQProperties])
- spring.hornetq.embedded.cluster-password= # Cluster password. Randomly generated on startup by default.
- spring.hornetq.embedded.data-directory= # Journal file directory. Not necessary if persistence is turned off.
- spring.hornetq.embedded.enabled=true # Enable embedded mode if the HornetQ server APIs are available.
- spring.hornetq.embedded.persistent=false # Enable persistent store.
- spring.hornetq.embedded.queues= # Comma-separated list of queues to create on startup.
- spring.hornetq.embedded.server-id= # Server id. By default, an auto-incremented counter is used.
- spring.hornetq.embedded.topics= # Comma-separated list of topics to create on startup.
- spring.hornetq.host=localhost # HornetQ broker host.
- spring.hornetq.mode= # HornetQ deployment mode, auto-detected by default.
- spring.hornetq.password= # Login password of the broker.
- spring.hornetq.port=5445 # HornetQ broker port.
- spring.hornetq.user= # Login user of the broker.
-
# JMS ({sc-spring-boot-autoconfigure}/jms/JmsProperties.{sc-ext}[JmsProperties])
spring.jms.jndi-name= # Connection factory JNDI name. When set, takes precedence to others connection factory auto-configurations.
spring.jms.listener.acknowledge-mode= # Acknowledge mode of the container. By default, the listener is transacted with automatic acknowledgment.
diff --git a/spring-boot-docs/src/main/asciidoc/spring-boot-features.adoc b/spring-boot-docs/src/main/asciidoc/spring-boot-features.adoc
index d8aa9b0a88..277393bca7 100644
--- a/spring-boot-docs/src/main/asciidoc/spring-boot-features.adoc
+++ b/spring-boot-docs/src/main/asciidoc/spring-boot-features.adoc
@@ -4123,11 +4123,6 @@ resolved against their provided names.
[[boot-features-artemis]]
==== Artemis support
-Apache Artemis was formed in 2015 when HornetQ was donated to the Apache Foundation. Make
-sure to use that rather than the deprecated HornetQ support.
-
-NOTE: You should not try and use Artemis and HornetQ at the same time.
-
Spring Boot can auto-configure a `ConnectionFactory` when it detects that Artemis is
available on the classpath. If the broker is present, an embedded broker is started and
configured automatically (unless the mode property has been explicitly set). The supported
@@ -4172,55 +4167,6 @@ through configuration.
-[[boot-features-hornetq]]
-==== HornetQ support
-
-NOTE: HornetQ is deprecated in 1.4, consider migrating to <>
-
-Spring Boot can auto-configure a `ConnectionFactory` when it detects that HornetQ is
-available on the classpath. If the broker is present, an embedded broker is started and
-configured automatically (unless the mode property has been explicitly set). The supported
-modes are: `embedded` (to make explicit that an embedded broker is required and should
-lead to an error if the broker is not available in the classpath), and `native` to connect
-to a broker using the `netty` transport protocol. When the latter is configured, Spring
-Boot configures a `ConnectionFactory` connecting to a broker running on the local machine
-with the default settings.
-
-NOTE: If you are using `spring-boot-starter-hornetq` the necessary dependencies to
-connect to an existing HornetQ instance are provided, as well as the Spring infrastructure
-to integrate with JMS. Adding `org.hornetq:hornetq-jms-server` to your application allows
-you to use the embedded mode.
-
-HornetQ configuration is controlled by external configuration properties in
-`+spring.hornetq.*+`. For example, you might declare the following section in
-`application.properties`:
-
-[source,properties,indent=0]
-----
- spring.hornetq.mode=native
- spring.hornetq.host=192.168.1.210
- spring.hornetq.port=9876
- spring.hornetq.user=admin
- spring.hornetq.password=secret
-----
-
-When embedding the broker, you can choose if you want to enable persistence, and the list
-of destinations that should be made available. These can be specified as a comma-separated
-list to create them with the default options; or you can define bean(s) of type
-`org.hornetq.jms.server.config.JMSQueueConfiguration` or
-`org.hornetq.jms.server.config.TopicConfiguration`, for advanced queue and topic
-configurations respectively.
-
-See
-{sc-spring-boot-autoconfigure}/jms/hornetq/HornetQProperties.{sc-ext}[`HornetQProperties`]
-for more of the supported options.
-
-No JNDI lookup is involved at all and destinations are resolved against their names,
-either using the '`name`' attribute in the HornetQ configuration or the names provided
-through configuration.
-
-
-
[[boot-features-jms-jndi]]
==== Using a JNDI ConnectionFactory
If you are running your application in an Application Server Spring Boot will attempt to
diff --git a/spring-boot-samples/README.adoc b/spring-boot-samples/README.adoc
index f5aeac729f..c286f642f6 100644
--- a/spring-boot-samples/README.adoc
+++ b/spring-boot-samples/README.adoc
@@ -83,9 +83,6 @@ The following sample applications are provided:
| link:spring-boot-sample-hibernate4[spring-boot-sample-hibernate52]
| Demonstrates how to use Hibernate 5.2
-| link:spring-boot-sample-hornetq[spring-boot-sample-hornetq]
-| Message-oriented application using HornetQ
-
| link:spring-boot-sample-hypermedia[spring-boot-sample-hypermedia]
| Demonstrates Actuator's hypermedia support, including HAL Browser
diff --git a/spring-boot-samples/pom.xml b/spring-boot-samples/pom.xml
index 4bfaad8264..40cb914ff9 100644
--- a/spring-boot-samples/pom.xml
+++ b/spring-boot-samples/pom.xml
@@ -47,7 +47,6 @@
spring-boot-sample-hateoas
spring-boot-sample-hibernate4
spring-boot-sample-hibernate52
- spring-boot-sample-hornetq
spring-boot-sample-hypermedia
spring-boot-sample-hypermedia-gson
spring-boot-sample-hypermedia-jpa
diff --git a/spring-boot-samples/spring-boot-sample-hornetq/pom.xml b/spring-boot-samples/spring-boot-sample-hornetq/pom.xml
deleted file mode 100644
index 3a2c9f7d0d..0000000000
--- a/spring-boot-samples/spring-boot-sample-hornetq/pom.xml
+++ /dev/null
@@ -1,44 +0,0 @@
-
-
- 4.0.0
-
-
- org.springframework.boot
- spring-boot-samples
- 1.5.0.BUILD-SNAPSHOT
-
- spring-boot-sample-hornetq
- Spring Boot HornetQ Sample
- Spring Boot HornetQ Sample
- http://projects.spring.io/spring-boot/
-
- Pivotal Software, Inc.
- http://www.spring.io
-
-
- ${basedir}/../..
-
-
-
- org.springframework.boot
- spring-boot-starter-hornetq
-
-
- org.hornetq
- hornetq-jms-server
-
-
- org.springframework.boot
- spring-boot-starter-test
- test
-
-
-
-
-
- org.springframework.boot
- spring-boot-maven-plugin
-
-
-
-
diff --git a/spring-boot-samples/spring-boot-sample-hornetq/src/main/java/sample/hornetq/SampleHornetQApplication.java b/spring-boot-samples/spring-boot-sample-hornetq/src/main/java/sample/hornetq/SampleHornetQApplication.java
deleted file mode 100644
index 0bce25a501..0000000000
--- a/spring-boot-samples/spring-boot-sample-hornetq/src/main/java/sample/hornetq/SampleHornetQApplication.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Copyright 2012-2015 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package sample.hornetq;
-
-import javax.jms.ConnectionFactory;
-import javax.jms.JMSException;
-import javax.jms.Message;
-import javax.jms.MessageListener;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.context.annotation.Bean;
-import org.springframework.jms.listener.DefaultMessageListenerContainer;
-import org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor;
-
-@SpringBootApplication
-public class SampleHornetQApplication {
-
- @Autowired
- private ConnectionFactory connectionFactory;
-
- @Bean
- public ScheduledAnnotationBeanPostProcessor scheduledAnnotationBeanPostProcessor() {
- return new ScheduledAnnotationBeanPostProcessor();
- }
-
- @Bean
- public DefaultMessageListenerContainer messageListener() {
- DefaultMessageListenerContainer container = new DefaultMessageListenerContainer();
- container.setConnectionFactory(this.connectionFactory);
- container.setDestinationName("testQueue");
- container.setMessageListener(new MessageListener() {
- @Override
- public void onMessage(Message message) {
- try {
- System.out.println(message.getBody(Object.class));
- }
- catch (JMSException ex) {
- ex.printStackTrace();
- }
- }
- });
- return container;
- }
-
- public static void main(String[] args) throws Exception {
- SpringApplication.run(SampleHornetQApplication.class, args);
- }
-
-}
diff --git a/spring-boot-samples/spring-boot-sample-hornetq/src/main/java/sample/hornetq/Sender.java b/spring-boot-samples/spring-boot-sample-hornetq/src/main/java/sample/hornetq/Sender.java
deleted file mode 100644
index 5c34c4d4c6..0000000000
--- a/spring-boot-samples/spring-boot-sample-hornetq/src/main/java/sample/hornetq/Sender.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Copyright 2012-2013 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package sample.hornetq;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.jms.core.JmsTemplate;
-import org.springframework.scheduling.annotation.Scheduled;
-import org.springframework.stereotype.Component;
-
-@Component
-public class Sender {
-
- @Autowired
- private JmsTemplate jmsTemplate;
-
- @Scheduled(fixedDelay = 1000L)
- public void send() {
- this.jmsTemplate.convertAndSend("testQueue", "Hello");
- }
-
-}
diff --git a/spring-boot-samples/spring-boot-sample-hornetq/src/main/resources/application.properties b/spring-boot-samples/spring-boot-sample-hornetq/src/main/resources/application.properties
deleted file mode 100644
index f7c09bcefd..0000000000
--- a/spring-boot-samples/spring-boot-sample-hornetq/src/main/resources/application.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-spring.hornetq.mode=embedded
-spring.hornetq.embedded.enabled=true
-spring.hornetq.embedded.queues=testQueue,anotherQueue
diff --git a/spring-boot-starters/pom.xml b/spring-boot-starters/pom.xml
index 9eda7150f7..29937f00fe 100644
--- a/spring-boot-starters/pom.xml
+++ b/spring-boot-starters/pom.xml
@@ -41,7 +41,6 @@
spring-boot-starter-freemarker
spring-boot-starter-groovy-templates
spring-boot-starter-hateoas
- spring-boot-starter-hornetq
spring-boot-starter-integration
spring-boot-starter-jdbc
spring-boot-starter-jersey
diff --git a/spring-boot-starters/spring-boot-starter-hornetq/pom.xml b/spring-boot-starters/spring-boot-starter-hornetq/pom.xml
deleted file mode 100644
index 8e8529e9f9..0000000000
--- a/spring-boot-starters/spring-boot-starter-hornetq/pom.xml
+++ /dev/null
@@ -1,57 +0,0 @@
-
-
- 4.0.0
-
- org.springframework.boot
- spring-boot-starters
- 1.5.0.BUILD-SNAPSHOT
-
- spring-boot-starter-hornetq
- spring-boot-starter-hornetq (DEPRECATED)
- Starter for JMS messaging using HornetQ. Deprecated as of 1.4 in favor
- of spring-boot-starter-artemis
- http://projects.spring.io/spring-boot/
-
- Pivotal Software, Inc.
- http://www.spring.io
-
-
- ${basedir}/../..
-
-
-
- org.springframework.boot
- spring-boot-starter
-
-
- org.springframework
- spring-jms
-
-
- org.hornetq
- hornetq-jms-client
-
-
-
-
-
- org.basepom.maven
- duplicate-finder-maven-plugin
-
-
- duplicate-dependencies
- validate
-
- check
-
-
-
- org/hornetq/utils.HornetQUtil(Bundle|Logger).i18n.properties
-
-
-
-
-
-
-
-
diff --git a/spring-boot-starters/spring-boot-starter-hornetq/src/main/java/org/springframework/boot/starter/hornetq/HornetQStarterDeprecationWarningAutoConfiguration.java b/spring-boot-starters/spring-boot-starter-hornetq/src/main/java/org/springframework/boot/starter/hornetq/HornetQStarterDeprecationWarningAutoConfiguration.java
deleted file mode 100644
index 88ab21a6ae..0000000000
--- a/spring-boot-starters/spring-boot-starter-hornetq/src/main/java/org/springframework/boot/starter/hornetq/HornetQStarterDeprecationWarningAutoConfiguration.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Copyright 2012-2016 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.springframework.boot.starter.hornetq;
-
-import javax.annotation.PostConstruct;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
-import org.springframework.context.annotation.Configuration;
-
-/**
- * {@link EnableAutoConfiguration Auto-configuration} to print a deprecation warning about
- * the starter.
- *
- * @author Stephane Nicoll
- * @since 1.4.0
- */
-@Configuration
-@Deprecated
-public class HornetQStarterDeprecationWarningAutoConfiguration {
-
- private static final Log logger = LogFactory
- .getLog(HornetQStarterDeprecationWarningAutoConfiguration.class);
-
- @PostConstruct
- public void logWarning() {
- logger.warn("spring-boot-starter-hornetq is deprecated as of Spring Boot 1.4, "
- + "please migrate to spring-boot-starter-artemis");
- }
-
-}
diff --git a/spring-boot-starters/spring-boot-starter-hornetq/src/main/resources/META-INF/spring.factories b/spring-boot-starters/spring-boot-starter-hornetq/src/main/resources/META-INF/spring.factories
deleted file mode 100644
index 989f05e7b0..0000000000
--- a/spring-boot-starters/spring-boot-starter-hornetq/src/main/resources/META-INF/spring.factories
+++ /dev/null
@@ -1,3 +0,0 @@
-# Auto Configure
-org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
-org.springframework.boot.starter.hornetq.HornetQStarterDeprecationWarningAutoConfiguration
diff --git a/spring-boot-starters/spring-boot-starter-hornetq/src/main/resources/META-INF/spring.provides b/spring-boot-starters/spring-boot-starter-hornetq/src/main/resources/META-INF/spring.provides
deleted file mode 100644
index 09425bb7c8..0000000000
--- a/spring-boot-starters/spring-boot-starter-hornetq/src/main/resources/META-INF/spring.provides
+++ /dev/null
@@ -1 +0,0 @@
-provides: hornetq-jms-client,spring-jms
\ No newline at end of file