使用java操作RabbitMQ-定义消息生产者
1、本次的开发将基于Maven建立RabbitMQ的相关程序,所以要建立一个父项目:myrabbit.

2、修改pom.xml文件,追加相应的配置项:<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> <groupId>com.gwolf</groupId> <artifactId>myrabbitmq</artifactId> <version>0.0.1</version> <packaging>pom</packaging> <name>myrabbitmq</name> <url>http://maven.apache.org</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <jdk.version>1.8</jdk.version> </properties> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> <dependency> <groupId>com.rabbitmq</groupId> <artifactId>amqp-client</artifactId> <version>4.1.1</version> </dependency> </dependencies> <build> <finalName>myrabbit</finalName> <resources> <resource> <directory>src/main/resources</directory> <filtering>true</filtering> </resource> </resources> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <configuration> <delimiters> <delimiter>$</delimiter> </delimiters> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>${jdk.version}</source><!-- 源代码使用的开发版本 --> <target>${jdk.version}</target><!-- 需要生成的目标class文件的编译版本 --> <encode>${project.build.sourceEncoding}</encode> </configuration> </plugin> </plugins> </build></project>

3、删除掉项目下除了pom文件的所有文件夹。

4、建议生产者项目:myrabbit-base,并在生产者项目中加上RabbitMQ客户端支持jar包配置。<dependency> <groupId>com.rabbitmq</groupId> <artifactId>amqp-client</artifactId> </dependency>

5、建立消息发送类:Send。package org.myrabbitmq.base.provider;import java.io.IOException;import java.util.concurrent.TimeoutException;import com.rabbitmq.client.Channel;import com.rabbitmq.client.Connection;import com.rabbitmq.client.ConnectionFactory;public class Send { private final static String QUEUE_NAME = "myrabbit"; public static void main(String[] args) throws IOException, TimeoutException { //连接到RabbitMQ服务器 ConnectionFactory factory = new ConnectionFactory(); factory.setHost("localhost"); Connection connection = factory.newConnection(); Channel channel = connection.createChannel(); channel.queueDeclare(QUEUE_NAME, false, false, false, null); String message = "Hello World!"; channel.basicPublish("", QUEUE_NAME, null, message.getBytes()); System.out.println(" [发送完毕] Sent '" + message + "'"); channel.close(); connection.close(); }}

6、使用命令行查看消息队列是否存在消息。
