此内容没有您所选择的语言版本。
Chapter 3. Getting started
This chapter guides you through a simple exercise to help you get started using AMQ Spring Boot Starter.
3.1. Prerequisites 复制链接链接已复制到粘贴板!
To build the example, Maven must be configured to use the Red Hat repository.
3.2. Preparing the broker 复制链接链接已复制到粘贴板!
The example programs require a running broker with a queue named example. Follow these steps to define the queue and start the broker:
Procedure
- Install the broker.
- Create a broker instance. Enable anonymous access.
Start the broker instance and check the console for any critical errors logged during startup.
$ <broker-instance-dir>/bin/artemis run ... 14:43:20,158 INFO [org.apache.activemq.artemis.integration.bootstrap] AMQ101000: Starting ActiveMQ Artemis Server ... 15:01:39,686 INFO [org.apache.activemq.artemis.core.server] AMQ221020: Started Acceptor at 0.0.0.0:5672 for protocols [AMQP] ... 15:01:39,691 INFO [org.apache.activemq.artemis.core.server] AMQ221007: Server is now liveUse the
artemis queuecommand to create a queue calledexample.<broker-instance-dir>/bin/artemis queue create --name example --auto-create-address --anycastYou are prompted to answer a series of questions. For yes or no questions, type
N. Otherwise, press Enter to accept the default value.
3.3. Hello World 复制链接链接已复制到粘贴板!
This example sends a greeting to a queue called example and then receives it back.
Example: Sending and receiving "Hello World!" - HelloWorld.java
package net.example;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.jms.annotation.EnableJms;
import org.springframework.jms.annotation.JmsListener;
import org.springframework.jms.core.JmsTemplate;
@EnableJms
@SpringBootApplication
public class HelloWorld implements CommandLineRunner {
@Autowired
private JmsTemplate jmsTemplate;
public static void main(String[] args) {
SpringApplication.run(HelloWorld.class, args);
}
@Override
public void run(String... strings) throws Exception {
sendMessage("Hello World!");
}
public void sendMessage(String text) {
System.out.println(String.format("Sending '%s'", text));
this.jmsTemplate.convertAndSend("example", text);
}
@JmsListener(destination = "example")
public void receiveMessage(String text) {
System.out.println(String.format("Received '%s'", text));
}
}
Running the example
To compile and run the example program, use the following procedure:
Procedure
-
Create a new project directory. This is referred to as
<project-dir>in the steps that follow. Copy the example listing to the following location:
<project-dir>/src/main/java/net/example/HelloWorld.javaUse a text editor to create a new
<project-dir>/pom.xmlfile. Add the following XML to it:<project> <modelVersion>4.0.0</modelVersion> <groupId>net.example</groupId> <artifactId>example</artifactId> <version>1.0.0-SNAPSHOT</version> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.5.RELEASE</version> </parent> <dependencies> <dependency> <groupId>org.amqphub.spring</groupId> <artifactId>amqp-10-jms-spring-boot-starter</artifactId> <version>2.1.3.redhat-00004</version> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>Change to the project directory and use the
mvncommand to compile the program.mvn clean packageUse the
javacommand to run the program.java -jar target/example-1.0.0-SNAPSHOT.jarRunning the Hello World example results in the following console output:
$ java -jar target/example-1.0.0-SNAPSHOT.jar . ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v2.0.5.RELEASE) [...] 2018-11-05 16:21:09.849 INFO 14805 --- [main] net.example.HelloWorld: Started HelloWorld in 1.074 seconds (JVM running for 1.38) Sending 'Hello World!' Received 'Hello World!'
3.4. Additional examples 复制链接链接已复制到粘贴板!
More example programs are available from the AMQP 1.0 JMS Spring Boot project and the Spring project.