diff --git a/examples/features/standard/pom.xml b/examples/features/standard/pom.xml
index 0493457d8b..6ede89768d 100644
--- a/examples/features/standard/pom.xml
+++ b/examples/features/standard/pom.xml
@@ -94,6 +94,7 @@ under the License.
shared-consumer
slow-consumer
spring-integration
+ spring-boot-integration
ssl-enabled
ssl-enabled-crl-mqtt
ssl-enabled-dual-authentication
diff --git a/examples/features/standard/spring-boot-integration/README.md b/examples/features/standard/spring-boot-integration/README.md
new file mode 100644
index 0000000000..075bbd0d79
--- /dev/null
+++ b/examples/features/standard/spring-boot-integration/README.md
@@ -0,0 +1,7 @@
+# ActiveMQ Artemis Spring Boot Example
+
+To run the example, simply type **mvn verify -Pexample** from this directory.
+
+This example shows how to setup and run an embedded broker within a Spring Boot Application relying on [AMQP 1.0 JMS Spring Boot project](https://github.com/amqphub/amqp-10-jms-spring-boot) for configuration.
+
+
diff --git a/examples/features/standard/spring-boot-integration/pom.xml b/examples/features/standard/spring-boot-integration/pom.xml
new file mode 100644
index 0000000000..10d4d76e41
--- /dev/null
+++ b/examples/features/standard/spring-boot-integration/pom.xml
@@ -0,0 +1,102 @@
+
+
+
+ 4.0.0
+
+ org.apache.activemq.examples.broker
+ jms-examples
+ 2.7.0-SNAPSHOT
+
+ spring-boot-integration
+ ActiveMQ Artemis JMS Spring Boot Integration Example
+
+
+ ${project.basedir}/../../../..
+
+
+ 2.0.1
+
+
+
+
+ org.apache.activemq
+ artemis-amqp-protocol
+ ${project.version}
+
+
+ org.amqphub.spring
+ amqp-10-jms-spring-boot-starter
+ ${amqp-10-jms-spring.version}
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+ 2.0.4.RELEASE
+
+
+
+
+
+ example
+
+
+
+ org.apache.activemq
+ artemis-maven-plugin
+
+
+ runClient
+
+ runClient
+
+
+ org.apache.activemq.artemis.jms.example.springboot.Application
+
+
+
+
+
+ org.apache.activemq.examples.broker
+ spring-boot-integration
+ ${project.version}
+
+
+
+
+ org.apache.maven.plugins
+ maven-clean-plugin
+
+
+
+
+
+ release
+
+
+
+ com.vladsch.flexmark
+ markdown-page-generator-plugin
+
+
+
+
+
+
\ No newline at end of file
diff --git a/examples/features/standard/spring-boot-integration/src/main/java/org/apache/activemq/artemis/jms/example/springboot/Application.java b/examples/features/standard/spring-boot-integration/src/main/java/org/apache/activemq/artemis/jms/example/springboot/Application.java
new file mode 100644
index 0000000000..a42c6ceed5
--- /dev/null
+++ b/examples/features/standard/spring-boot-integration/src/main/java/org/apache/activemq/artemis/jms/example/springboot/Application.java
@@ -0,0 +1,70 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.apache.activemq.artemis.jms.example.springboot;
+
+import org.apache.activemq.artemis.core.config.impl.SecurityConfiguration;
+import org.apache.activemq.artemis.core.server.embedded.EmbeddedActiveMQ;
+import org.apache.activemq.artemis.spi.core.security.ActiveMQJAASSecurityManager;
+import org.apache.activemq.artemis.spi.core.security.jaas.InVMLoginModule;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.context.ConfigurableApplicationContext;
+import org.springframework.context.annotation.Bean;
+import org.springframework.jms.annotation.EnableJms;
+
+/**
+ * @see Spring JMS Messaging Guide
+ */
+@SpringBootApplication
+@EnableJms
+public class Application {
+ public Application() {
+
+ }
+
+ public static void main(String[] args) throws InterruptedException {
+ final ConfigurableApplicationContext context = SpringApplication.run(Application.class);
+ System.out.println("********************* Sending message...");
+ MessageSender sender = context.getBean(MessageSender.class);
+ sender.send("Hello Artemis!");
+ Thread.sleep(1000);
+ context.close();
+ }
+
+ @Bean
+ public ActiveMQJAASSecurityManager securityManager(@Value("${amq.broker.user}") String user,
+ @Value("${amq.broker.password}") String password,
+ @Value("${amq.broker.role}") String role) {
+ final SecurityConfiguration configuration = new SecurityConfiguration();
+ final ActiveMQJAASSecurityManager securityManager =
+ new ActiveMQJAASSecurityManager(InVMLoginModule.class.getName(), configuration);
+ configuration.addUser(user, password);
+ configuration.addRole(user, role);
+ configuration.setDefaultUser(user);
+
+ return securityManager;
+ }
+
+ @Bean(initMethod = "start", destroyMethod = "stop")
+ public EmbeddedActiveMQ embeddedActiveMQ(ActiveMQJAASSecurityManager securityManager) {
+ final EmbeddedActiveMQ embeddedActiveMQ = new EmbeddedActiveMQ();
+ embeddedActiveMQ.setSecurityManager(securityManager);
+ return embeddedActiveMQ;
+ }
+
+}
diff --git a/examples/features/standard/spring-boot-integration/src/main/java/org/apache/activemq/artemis/jms/example/springboot/ExampleListener.java b/examples/features/standard/spring-boot-integration/src/main/java/org/apache/activemq/artemis/jms/example/springboot/ExampleListener.java
new file mode 100644
index 0000000000..82bdc3e95a
--- /dev/null
+++ b/examples/features/standard/spring-boot-integration/src/main/java/org/apache/activemq/artemis/jms/example/springboot/ExampleListener.java
@@ -0,0 +1,29 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.apache.activemq.artemis.jms.example.springboot;
+
+import org.springframework.jms.annotation.JmsListener;
+import org.springframework.stereotype.Component;
+
+@Component
+public class ExampleListener {
+
+ @JmsListener(destination = "${amq.queue}")
+ public void receiveMessage(String message) {
+ System.out.println("*********************** MESSAGE RECEIVED: " + message);
+ }
+}
diff --git a/examples/features/standard/spring-boot-integration/src/main/java/org/apache/activemq/artemis/jms/example/springboot/MessageSender.java b/examples/features/standard/spring-boot-integration/src/main/java/org/apache/activemq/artemis/jms/example/springboot/MessageSender.java
new file mode 100644
index 0000000000..70f1124562
--- /dev/null
+++ b/examples/features/standard/spring-boot-integration/src/main/java/org/apache/activemq/artemis/jms/example/springboot/MessageSender.java
@@ -0,0 +1,41 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.apache.activemq.artemis.jms.example.springboot;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.jms.core.JmsTemplate;
+import org.springframework.stereotype.Component;
+
+@Component
+public class MessageSender {
+
+ @Autowired
+ private JmsTemplate jmsTemplate;
+
+ @Value("${amq.queue}")
+ private String queue;
+
+ public MessageSender() {
+
+ }
+
+ public void send(String message) {
+ jmsTemplate.convertAndSend(queue, message);
+ }
+
+}
diff --git a/examples/features/standard/spring-boot-integration/src/main/resources/META-INF/additional-spring-configuration-metadata.json b/examples/features/standard/spring-boot-integration/src/main/resources/META-INF/additional-spring-configuration-metadata.json
new file mode 100644
index 0000000000..fbe5563490
--- /dev/null
+++ b/examples/features/standard/spring-boot-integration/src/main/resources/META-INF/additional-spring-configuration-metadata.json
@@ -0,0 +1,44 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.
+*/
+
+{"properties": [
+ {
+ "name": "amq.queue",
+ "type": "java.lang.String",
+ "description": "A description for 'amq.queue'"
+ },
+ {
+ "name": "amq.broker.password",
+ "type": "java.lang.String",
+ "description": "A description for 'amq.broker.password'"
+ },
+ {
+ "name": "amq.broker.user",
+ "type": "java.lang.String",
+ "description": "A description for 'amq.broker.user'"
+ },
+ {
+ "name": "amq.broker.user",
+ "type": "java.lang.String",
+ "description": "A description for 'amq.broker.user'"
+ },
+ {
+ "name": "amq.broker.role",
+ "type": "java.lang.String",
+ "description": "A description for 'amq.broker.role'"
+ }
+]}
\ No newline at end of file
diff --git a/examples/features/standard/spring-boot-integration/src/main/resources/application.properties b/examples/features/standard/spring-boot-integration/src/main/resources/application.properties
new file mode 100644
index 0000000000..14f0c2ef8d
--- /dev/null
+++ b/examples/features/standard/spring-boot-integration/src/main/resources/application.properties
@@ -0,0 +1,23 @@
+## ---------------------------------------------------------------------------
+## Licensed to the Apache Software Foundation (ASF) under one or more
+## contributor license agreements. See the NOTICE file distributed with
+## this work for additional information regarding copyright ownership.
+## The ASF licenses this file to You 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.
+## ---------------------------------------------------------------------------
+amqphub.amqp10jms.remote-url=amqp://localhost:61616
+amqphub.amqp10jms.username=guest
+amqphub.amqp10jms.password=guest
+amq.broker.password=guest
+amq.broker.user=guest
+amq.broker.role=guest
+amq.queue=exampleQueue
\ No newline at end of file
diff --git a/examples/features/standard/spring-boot-integration/src/main/resources/broker.xml b/examples/features/standard/spring-boot-integration/src/main/resources/broker.xml
new file mode 100644
index 0000000000..099363e929
--- /dev/null
+++ b/examples/features/standard/spring-boot-integration/src/main/resources/broker.xml
@@ -0,0 +1,42 @@
+
+
+
+
+
+ false
+
+
+ tcp://0.0.0.0:61616?protocols=AMQP,CORE
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/examples/features/standard/spring-boot-integration/src/main/resources/logback.xml b/examples/features/standard/spring-boot-integration/src/main/resources/logback.xml
new file mode 100644
index 0000000000..2f867cdab8
--- /dev/null
+++ b/examples/features/standard/spring-boot-integration/src/main/resources/logback.xml
@@ -0,0 +1,38 @@
+
+
+
+
+
+
+ %d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n
+
+
+
+
+
+
+
+
+
+
+
+
+