Dieser Inhalt ist in der von Ihnen ausgewählten Sprache nicht verfügbar.
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 Link kopierenLink in die Zwischenablage kopiert!
To build the example, Maven must be configured to use the Red Hat repository.
3.2. Preparing the broker Link kopierenLink in die Zwischenablage kopiert!
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 Link kopierenLink in die Zwischenablage kopiert!
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.2.2.redhat-00002</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 Link kopierenLink in die Zwischenablage kopiert!
More example programs are available from the AMQP 1.0 JMS Spring Boot project and the Spring project.