操作步骤
- 首先先到ActiveMQ官网下载最新的最稳定的版本 http://activemq.apache.org/activemq-5158-release.html 我下载的是Windows版本的
- 直接解压双击运行bin/win64/activemq.bat . 弹出黑窗口 (黑窗口不要关) 访问localhost:8161 如果出现页面 说明运行成功 登录密码为 admin /admin
- 测试向本地的ActiveMQ服务器发送消息
ConnectionFactory connectionFactory=new ActiveMQConnectionFactory("tcp://localhost:61616");
Connection connection = connectionFactory.createConnection();
connection.start();
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
Topic topic = session.createTopic("test");
MessageProducer producer = session.createProducer(topic);
TextMessage textMessage = session.createTextMessage("这是一条消息");
producer.send(textMessage);
producer.close();
session.close();
connection.close();
- 查看监控页面 消息已经发送成功

- 默认的消息服务器是没有权限校验的 也就是说 谁都可以对消息队列服务器中的消息进行发送和监听 只要知道消息队列服务器的url
- 要想做权限校验 就需要对消息队列服务器做开发 来进行 权限的拦截 而ActiveMQ本身就支持本身做插件开发的
- 编写权限拦截器插件 请根据自己的需求编写校验
public class ActivemqFilter extends BrokerFilter {
private static final Logger logger = LoggerFactory.getLogger(ActivemqFilter.class);
private final String PRODUCER_IDENTTIFICATION = "producer";
private final String CUSTOMER_IDENTTIFICATION="customer";
private final String PRODUCER_NUMBER = "1";
private final String CUSTOMER_NUMBER = "2";
private final String SUPER_NUMBER = "0";
private User user ;
private JdbcTemplate jdbcTemplate;
public ActivemqFilter(Broker next,JdbcTemplate jdbcTemplate) {
super(next);
this.jdbcTemplate = jdbcTemplate;
}