Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in / Register
Toggle navigation
S
spring-boot
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
DEMO
spring-boot
Commits
464915d2
Commit
464915d2
authored
Sep 29, 2016
by
Andy Wilkinson
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Remove support for HornetQ following its deprecation in 1.4
See gh-6971
parent
0232e3b1
Changes
34
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
34 changed files
with
7 additions
and
1927 deletions
+7
-1927
pom.xml
spring-boot-autoconfigure/pom.xml
+5
-10
HornetQAutoConfiguration.java
...t/autoconfigure/jms/hornetq/HornetQAutoConfiguration.java
+0
-58
HornetQConfigurationCustomizer.java
...configure/jms/hornetq/HornetQConfigurationCustomizer.java
+0
-41
HornetQConnectionFactoryConfiguration.java
...re/jms/hornetq/HornetQConnectionFactoryConfiguration.java
+0
-47
HornetQConnectionFactoryFactory.java
...onfigure/jms/hornetq/HornetQConnectionFactoryFactory.java
+0
-142
HornetQEmbeddedConfigurationFactory.java
...gure/jms/hornetq/HornetQEmbeddedConfigurationFactory.java
+0
-90
HornetQEmbeddedServerConfiguration.java
...igure/jms/hornetq/HornetQEmbeddedServerConfiguration.java
+0
-130
HornetQMode.java
...framework/boot/autoconfigure/jms/hornetq/HornetQMode.java
+0
-39
HornetQNoOpBindingRegistry.java
...autoconfigure/jms/hornetq/HornetQNoOpBindingRegistry.java
+0
-66
HornetQProperties.java
...ork/boot/autoconfigure/jms/hornetq/HornetQProperties.java
+0
-230
HornetQXAConnectionFactoryConfiguration.java
.../jms/hornetq/HornetQXAConnectionFactoryConfiguration.java
+0
-64
SpringBootHornetQConnectionFactory.java
...igure/jms/hornetq/SpringBootHornetQConnectionFactory.java
+0
-61
SpringBootHornetQXAConnectionFactory.java
...ure/jms/hornetq/SpringBootHornetQXAConnectionFactory.java
+0
-61
package-info.java
...ramework/boot/autoconfigure/jms/hornetq/package-info.java
+0
-21
JtaAutoConfiguration.java
...t/autoconfigure/transaction/jta/JtaAutoConfiguration.java
+2
-4
spring.factories
...utoconfigure/src/main/resources/META-INF/spring.factories
+0
-1
HornetQAutoConfigurationTests.java
...oconfigure/jms/hornetq/HornetQAutoConfigurationTests.java
+0
-435
HornetQEmbeddedConfigurationFactoryTests.java
...jms/hornetq/HornetQEmbeddedConfigurationFactoryTests.java
+0
-71
application.properties
...t-autoconfigure/src/test/resources/application.properties
+0
-1
pom.xml
spring-boot-dependencies/pom.xml
+0
-22
pom.xml
spring-boot-docs/pom.xml
+0
-5
appendix-application-properties.adoc
...cs/src/main/asciidoc/appendix-application-properties.adoc
+0
-14
spring-boot-features.adoc
spring-boot-docs/src/main/asciidoc/spring-boot-features.adoc
+0
-54
README.adoc
spring-boot-samples/README.adoc
+0
-3
pom.xml
spring-boot-samples/pom.xml
+0
-1
pom.xml
spring-boot-samples/spring-boot-sample-hornetq/pom.xml
+0
-44
SampleHornetQApplication.java
...rc/main/java/sample/hornetq/SampleHornetQApplication.java
+0
-65
Sender.java
...t-sample-hornetq/src/main/java/sample/hornetq/Sender.java
+0
-35
application.properties
...-sample-hornetq/src/main/resources/application.properties
+0
-3
pom.xml
spring-boot-starters/pom.xml
+0
-1
pom.xml
spring-boot-starters/spring-boot-starter-hornetq/pom.xml
+0
-57
HornetQStarterDeprecationWarningAutoConfiguration.java
...tq/HornetQStarterDeprecationWarningAutoConfiguration.java
+0
-47
spring.factories
...rter-hornetq/src/main/resources/META-INF/spring.factories
+0
-3
spring.provides
...arter-hornetq/src/main/resources/META-INF/spring.provides
+0
-1
No files found.
spring-boot-autoconfigure/pom.xml
View file @
464915d2
...
...
@@ -270,16 +270,6 @@
<artifactId>
hibernate-validator
</artifactId>
<optional>
true
</optional>
</dependency>
<dependency>
<groupId>
org.hornetq
</groupId>
<artifactId>
hornetq-jms-client
</artifactId>
<optional>
true
</optional>
</dependency>
<dependency>
<groupId>
org.hornetq
</groupId>
<artifactId>
hornetq-jms-server
</artifactId>
<optional>
true
</optional>
</dependency>
<dependency>
<groupId>
org.infinispan
</groupId>
<artifactId>
infinispan-jcache
</artifactId>
...
...
@@ -290,6 +280,11 @@
<artifactId>
infinispan-spring4-embedded
</artifactId>
<optional>
true
</optional>
</dependency>
<dependency>
<groupId>
org.jboss
</groupId>
<artifactId>
jboss-transaction-spi
</artifactId>
<optional>
true
</optional>
</dependency>
<dependency>
<groupId>
org.springframework
</groupId>
<artifactId>
spring-jdbc
</artifactId>
...
...
spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jms/hornetq/HornetQAutoConfiguration.java
deleted
100644 → 0
View file @
0232e3b1
/*
* 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
{
}
spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jms/hornetq/HornetQConfigurationCustomizer.java
deleted
100644 → 0
View file @
0232e3b1
/*
* 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
);
}
spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jms/hornetq/HornetQConnectionFactoryConfiguration.java
deleted
100644 → 0
View file @
0232e3b1
/*
* 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
);
}
}
spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jms/hornetq/HornetQConnectionFactoryFactory.java
deleted
100644 → 0
View file @
0232e3b1
/*
* 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
extends
HornetQConnectionFactory
>
T
createConnectionFactory
(
Class
<
T
>
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
extends
HornetQConnectionFactory
>
T
doCreateConnectionFactory
(
Class
<
T
>
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
extends
HornetQConnectionFactory
>
T
createEmbeddedConnectionFactory
(
Class
<
T
>
factoryClass
)
throws
Exception
{
try
{
TransportConfiguration
transportConfiguration
=
new
TransportConfiguration
(
InVMConnectorFactory
.
class
.
getName
(),
this
.
properties
.
getEmbedded
().
generateTransportParameters
());
ServerLocator
serviceLocator
=
HornetQClient
.
createServerLocatorWithoutHA
(
transportConfiguration
);
Constructor
<
T
>
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
extends
HornetQConnectionFactory
>
T
createNativeConnectionFactory
(
Class
<
T
>
factoryClass
)
throws
Exception
{
Map
<
String
,
Object
>
params
=
new
HashMap
<
String
,
Object
>();
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
<
T
>
constructor
=
factoryClass
.
getDeclaredConstructor
(
HornetQProperties
.
class
,
boolean
.
class
,
TransportConfiguration
[].
class
);
return
BeanUtils
.
instantiateClass
(
constructor
,
this
.
properties
,
false
,
new
TransportConfiguration
[]
{
transportConfiguration
});
}
}
spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jms/hornetq/HornetQEmbeddedConfigurationFactory.java
deleted
100644 → 0
View file @
0232e3b1
/*
* 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
();
}
}
spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jms/hornetq/HornetQEmbeddedServerConfiguration.java
deleted
100644 → 0
View file @
0232e3b1
/*
* 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
<
HornetQConfigurationCustomizer
>
configurationCustomizers
;
private
final
List
<
JMSQueueConfiguration
>
queuesConfiguration
;
private
final
List
<
TopicConfiguration
>
topicsConfiguration
;
HornetQEmbeddedServerConfiguration
(
HornetQProperties
properties
,
ObjectProvider
<
List
<
HornetQConfigurationCustomizer
>>
configurationCustomizersProvider
,
ObjectProvider
<
List
<
JMSQueueConfiguration
>>
queuesConfigurationProvider
,
ObjectProvider
<
List
<
TopicConfiguration
>>
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
<
T
>
void
addAll
(
List
<
T
>
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
));
}
}
}
spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jms/hornetq/HornetQMode.java
deleted
100644 → 0
View file @
0232e3b1
/*
* 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
}
spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jms/hornetq/HornetQNoOpBindingRegistry.java
deleted
100644 → 0
View file @
0232e3b1
/*
* 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
)
{
}
}
spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jms/hornetq/HornetQProperties.java
deleted
100644 → 0
View file @
0232e3b1
/*
* 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
<
String
,
Object
>
generateTransportParameters
()
{
Map
<
String
,
Object
>
parameters
=
new
HashMap
<
String
,
Object
>();
parameters
.
put
(
TransportConstants
.
SERVER_ID_PROP_NAME
,
getServerId
());
return
parameters
;
}
}
}
spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jms/hornetq/HornetQXAConnectionFactoryConfiguration.java
deleted
100644 → 0
View file @
0232e3b1
/*
* 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
);
}
}
spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jms/hornetq/SpringBootHornetQConnectionFactory.java
deleted
100644 → 0
View file @
0232e3b1
/*
* 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
();
}
}
spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jms/hornetq/SpringBootHornetQXAConnectionFactory.java
deleted
100644 → 0
View file @
0232e3b1
/*
* 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
();
}
}
spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jms/hornetq/package-info.java
deleted
100644 → 0
View file @
0232e3b1
/*
* 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
;
spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/transaction/jta/JtaAutoConfiguration.java
View file @
464915d2
...
...
@@ -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
,
A
rtemisAutoConfiguration
.
class
,
ActiveMQ
AutoConfiguration
.
class
,
H
ornetQAutoConfiguration
.
class
,
H
ibernateJpaAutoConfiguration
.
class
})
A
ctiveMQAutoConfiguration
.
class
,
Artemis
AutoConfiguration
.
class
,
HibernateJpaAutoConfiguration
.
class
})
@Import
({
JndiJtaConfiguration
.
class
,
BitronixJtaConfiguration
.
class
,
AtomikosJtaConfiguration
.
class
,
NarayanaJtaConfiguration
.
class
})
@EnableConfigurationProperties
(
JtaProperties
.
class
)
...
...
spring-boot-autoconfigure/src/main/resources/META-INF/spring.factories
View file @
464915d2
...
...
@@ -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,\
...
...
spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/jms/hornetq/HornetQAutoConfigurationTests.java
deleted
100644 → 0
View file @
0232e3b1
This diff is collapsed.
Click to expand it.
spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/jms/hornetq/HornetQEmbeddedConfigurationFactoryTests.java
deleted
100644 → 0
View file @
0232e3b1
/*
* 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"
);
}
}
spring-boot-autoconfigure/src/test/resources/application.properties
View file @
464915d2
...
...
@@ -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
spring-boot-dependencies/pom.xml
View file @
464915d2
...
...
@@ -88,7 +88,6 @@
<hibernate-validator.version>
5.2.4.Final
</hibernate-validator.version>
<hikaricp.version>
2.4.7
</hikaricp.version>
<hikaricp-java6.version>
2.3.13
</hikaricp-java6.version>
<hornetq.version>
2.4.7.Final
</hornetq.version>
<hsqldb.version>
2.3.3
</hsqldb.version>
<htmlunit.version>
2.21
</htmlunit.version>
<httpasyncclient.version>
4.1.2
</httpasyncclient.version>
...
...
@@ -376,11 +375,6 @@
<artifactId>
spring-boot-starter-hateoas
</artifactId>
<version>
1.5.0.BUILD-SNAPSHOT
</version>
</dependency>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-hornetq
</artifactId>
<version>
1.5.0.BUILD-SNAPSHOT
</version>
</dependency>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-integration
</artifactId>
...
...
@@ -1770,22 +1764,6 @@
<artifactId>
hibernate-validator-annotation-processor
</artifactId>
<version>
${hibernate-validator.version}
</version>
</dependency>
<dependency>
<groupId>
org.hornetq
</groupId>
<artifactId>
hornetq-jms-client
</artifactId>
<version>
${hornetq.version}
</version>
</dependency>
<dependency>
<groupId>
org.hornetq
</groupId>
<artifactId>
hornetq-jms-server
</artifactId>
<version>
${hornetq.version}
</version>
<exclusions>
<exclusion>
<groupId>
org.jboss.spec.javax.transaction
</groupId>
<artifactId>
jboss-transaction-api_1.1_spec
</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>
org.hsqldb
</groupId>
<artifactId>
hsqldb
</artifactId>
...
...
spring-boot-docs/pom.xml
View file @
464915d2
...
...
@@ -445,11 +445,6 @@
<artifactId>
hibernate-validator
</artifactId>
<optional>
true
</optional>
</dependency>
<dependency>
<groupId>
org.hornetq
</groupId>
<artifactId>
hornetq-jms-server
</artifactId>
<optional>
true
</optional>
</dependency>
<dependency>
<groupId>
org.infinispan
</groupId>
<artifactId>
infinispan-jcache
</artifactId>
...
...
spring-boot-docs/src/main/asciidoc/appendix-application-properties.adoc
View file @
464915d2
...
...
@@ -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.
...
...
spring-boot-docs/src/main/asciidoc/spring-boot-features.adoc
View file @
464915d2
...
...
@@ -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 <<boot-features-artemis,artemis>>
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
...
...
spring-boot-samples/README.adoc
View file @
464915d2
...
...
@@ -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
...
...
spring-boot-samples/pom.xml
View file @
464915d2
...
...
@@ -47,7 +47,6 @@
<module>
spring-boot-sample-hateoas
</module>
<module>
spring-boot-sample-hibernate4
</module>
<module>
spring-boot-sample-hibernate52
</module>
<module>
spring-boot-sample-hornetq
</module>
<module>
spring-boot-sample-hypermedia
</module>
<module>
spring-boot-sample-hypermedia-gson
</module>
<module>
spring-boot-sample-hypermedia-jpa
</module>
...
...
spring-boot-samples/spring-boot-sample-hornetq/pom.xml
deleted
100644 → 0
View file @
0232e3b1
<?xml version="1.0" encoding="UTF-8"?>
<project
xmlns=
"http://maven.apache.org/POM/4.0.0"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=
"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
>
<modelVersion>
4.0.0
</modelVersion>
<parent>
<!-- Your own application should inherit from spring-boot-starter-parent -->
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-samples
</artifactId>
<version>
1.5.0.BUILD-SNAPSHOT
</version>
</parent>
<artifactId>
spring-boot-sample-hornetq
</artifactId>
<name>
Spring Boot HornetQ Sample
</name>
<description>
Spring Boot HornetQ Sample
</description>
<url>
http://projects.spring.io/spring-boot/
</url>
<organization>
<name>
Pivotal Software, Inc.
</name>
<url>
http://www.spring.io
</url>
</organization>
<properties>
<main.basedir>
${basedir}/../..
</main.basedir>
</properties>
<dependencies>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-hornetq
</artifactId>
</dependency>
<dependency>
<groupId>
org.hornetq
</groupId>
<artifactId>
hornetq-jms-server
</artifactId>
</dependency>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-test
</artifactId>
<scope>
test
</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-maven-plugin
</artifactId>
</plugin>
</plugins>
</build>
</project>
spring-boot-samples/spring-boot-sample-hornetq/src/main/java/sample/hornetq/SampleHornetQApplication.java
deleted
100644 → 0
View file @
0232e3b1
/*
* 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
);
}
}
spring-boot-samples/spring-boot-sample-hornetq/src/main/java/sample/hornetq/Sender.java
deleted
100644 → 0
View file @
0232e3b1
/*
* 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"
);
}
}
spring-boot-samples/spring-boot-sample-hornetq/src/main/resources/application.properties
deleted
100644 → 0
View file @
0232e3b1
spring.hornetq.mode
=
embedded
spring.hornetq.embedded.enabled
=
true
spring.hornetq.embedded.queues
=
testQueue,anotherQueue
spring-boot-starters/pom.xml
View file @
464915d2
...
...
@@ -41,7 +41,6 @@
<module>
spring-boot-starter-freemarker
</module>
<module>
spring-boot-starter-groovy-templates
</module>
<module>
spring-boot-starter-hateoas
</module>
<module>
spring-boot-starter-hornetq
</module>
<module>
spring-boot-starter-integration
</module>
<module>
spring-boot-starter-jdbc
</module>
<module>
spring-boot-starter-jersey
</module>
...
...
spring-boot-starters/spring-boot-starter-hornetq/pom.xml
deleted
100644 → 0
View file @
0232e3b1
<?xml version="1.0" encoding="UTF-8"?>
<project
xmlns=
"http://maven.apache.org/POM/4.0.0"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=
"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
>
<modelVersion>
4.0.0
</modelVersion>
<parent>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starters
</artifactId>
<version>
1.5.0.BUILD-SNAPSHOT
</version>
</parent>
<artifactId>
spring-boot-starter-hornetq
</artifactId>
<name>
spring-boot-starter-hornetq (DEPRECATED)
</name>
<description>
Starter for JMS messaging using HornetQ. Deprecated as of 1.4 in favor
of spring-boot-starter-artemis
</description>
<url>
http://projects.spring.io/spring-boot/
</url>
<organization>
<name>
Pivotal Software, Inc.
</name>
<url>
http://www.spring.io
</url>
</organization>
<properties>
<main.basedir>
${basedir}/../..
</main.basedir>
</properties>
<dependencies>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter
</artifactId>
</dependency>
<dependency>
<groupId>
org.springframework
</groupId>
<artifactId>
spring-jms
</artifactId>
</dependency>
<dependency>
<groupId>
org.hornetq
</groupId>
<artifactId>
hornetq-jms-client
</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>
org.basepom.maven
</groupId>
<artifactId>
duplicate-finder-maven-plugin
</artifactId>
<executions>
<execution>
<id>
duplicate-dependencies
</id>
<phase>
validate
</phase>
<goals>
<goal>
check
</goal>
</goals>
<configuration>
<ignoredResourcePatterns>
<ignoredResourcePattern>
org/hornetq/utils.HornetQUtil(Bundle|Logger).i18n.properties
</ignoredResourcePattern>
</ignoredResourcePatterns>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
spring-boot-starters/spring-boot-starter-hornetq/src/main/java/org/springframework/boot/starter/hornetq/HornetQStarterDeprecationWarningAutoConfiguration.java
deleted
100644 → 0
View file @
0232e3b1
/*
* 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"
);
}
}
spring-boot-starters/spring-boot-starter-hornetq/src/main/resources/META-INF/spring.factories
deleted
100644 → 0
View file @
0232e3b1
# Auto Configure
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
org.springframework.boot.starter.hornetq.HornetQStarterDeprecationWarningAutoConfiguration
spring-boot-starters/spring-boot-starter-hornetq/src/main/resources/META-INF/spring.provides
deleted
100644 → 0
View file @
0232e3b1
provides: hornetq-jms-client,spring-jms
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment