在ActiveMQ发送消息的时候,可以通过MessageAuthorizationPolicy验证消息是否可以发送到消息消费者。
package org.apache.activemq.security;
import org.apache.activemq.broker.ConnectionContext;
import org.apache.activemq.command.Message;
/**
* A plugin to allow custom message-level security checks to be performed before
* a message is consumed.
*
*
*/
public interface MessageAuthorizationPolicy {
/**
* Returns true if the given message is able to be dispatched to the connection
* performing any user
*
* @return true if the context is allowed to consume the message
*/
boolean isAllowedToConsume(ConnectionContext context, Message message);
}
设置消息生产者启动时候设置验证规则:
在消息生产者创建消息的时候创建消息的时候,设置消息的相关权限验证字段,便于发送消息。
@Override
protected BrokerService createBroker() throws Exception {
BrokerService answer = new BrokerService();
answer.setPersistent(false);
//设置消息权限验证策略
answer.setMessageAuthorizationPolicy(new MessageAuthorizationPolicy() {
public boolean isAllowedToConsume(ConnectionContext context, Message message) {
try {
Object value = message.getProperty("myHeader");
return "abc".equals(value);
}
catch (IOException e) {
System.out.println("Caught: " + e);
e.printStackTrace();
return false;
}
}
});
answer.addConnector(bindAddress);
return answer;
}
分享到:
相关推荐
3. **Web控制台**:ActiveMQ提供了一个基于Web的管理界面,用户可以监控消息队列的状态、管理用户权限、查看日志等,方便系统管理和故障排查。 4. **安全特性**:ActiveMQ支持身份验证和授权,可以通过JAAS(Java ...
8. **安全性**:了解如何配置ActiveMQ的安全策略,包括用户认证和权限控制。 9. **性能优化**:讨论如何调整ActiveMQ配置以提高消息处理速度和系统性能。 10. **监控与日志**:学习如何监控ActiveMQ的运行状态,...
《ActiveMQ消息服务器详解》 Apache ActiveMQ是业界广泛使用的开源消息代理,它遵循Java Message Service(JMS)规范,提供了...无论是在毕业设计、论文研究还是实际项目开发中,ActiveMQ都是值得信赖的消息解决方案。
7. **安全性与网络配置**:介绍如何设置用户权限,保护ActiveMQ服务器的安全,以及网络配置,如集群和多数据中心的部署策略。 8. **监控与管理**:讲解如何使用ActiveMQ的Web控制台进行实时监控,以及通过JMX进行...
### ActiveMQ消息服务配置详解 #### 一、ActiveMQ配置概览 ActiveMQ是一款非常流行的开源消息中间件,它基于Java开发,支持多种消息传递模式,如点对点(P2P)、发布/订阅(Pub/Sub)等。本文将详细介绍ActiveMQ的配置...
3. **安全性**:ActiveMQ提供了基于角色的访问控制(RBAC),可设置用户权限,确保只有授权的用户和应用可以访问消息。此外,还支持SSL/TLS加密,保护数据传输的安全。 4. **多种协议支持**:如前所述,ActiveMQ...
实际使用时,根据业务需求调整配置,并结合JMS API进行应用开发,就能充分发挥ActiveMQ在消息传递中的作用。记得定期备份配置文件和数据存储,以防止数据丢失。同时,关注ActiveMQ社区的更新和最佳实践,持续优化你...
`activemq.xml`是ActiveMQ的核心配置文件,它定义了服务器的行为、网络连接、存储策略以及消息路由规则等关键设置。本文将深入探讨`activemq.xml`中的主要配置元素及其作用。 1. **Broker配置** - `<broker>`标签...
这个文件可能是课程中的一部分,用来讲解ActiveMQ如何利用内存映射技术优化消息处理性能,或者介绍特定的性能优化策略。 综上所述,ActiveMQ是一个强大的消息中间件,它在分布式系统中起到了关键的角色,提供可靠的...
6. **安全**:ActiveMQ支持多种安全策略,如用户认证和授权,可以限制不同用户的操作权限,保护系统的安全性。 7. **网络连接**:ActiveMQ可以通过TCP/IP协议与其他服务器或客户端通信,并且支持SSL/TLS加密,确保...
1. **解耦组件**:在大型系统中,通过 ActiveMQ 实现组件间的消息通信,降低各组件间的依赖,提高系统的灵活性。 2. **流量削峰填谷**:当系统面临突发高流量时,消息队列可以暂时存储过多的请求,避免服务器过载。...
Apache ActiveMQ是一款开源的消息中间件,它是Java消息服务(JMS)的实现,广泛应用于分布式系统中的异步通信。ActiveMQ以其高性能、高可靠性和易于管理的特点,在企业级应用中备受青睐。本指南将带你逐步了解如何...
在Linux系统上部署和使用Apache ActiveMQ能够提供稳定、高效的消息传递服务,支持分布式系统中的异步通信和解耦。 Apache ActiveMQ的主要功能包括: 1. **消息队列**: 它允许应用程序将消息放入队列中,由其他应用...
1. 消息与队列:在ActiveMQ中,消息是数据传输的载体,它包含了要传递的信息。队列(Queue)则是一种存储和转发消息的结构,遵循先进先出(FIFO)原则,每个消息只能被一个消费者接收。 2. 主题(Topic)与发布/...
除了上述配置,ActiveMQ还支持主题和队列的动态创建、网络集群、消息重试策略、消息分页、消息压缩等多种特性,这些都可以在`activemq.xml`中进行配置。 理解并灵活运用这些配置,能帮助你更好地管理和优化ActiveMQ...
5. **安全性**:ActiveMQ提供了用户认证和授权功能,可以设置访问控制列表(ACL),限制不同用户或组对消息资源的访问权限。此外,还可以通过SSL/TLS加密传输,保障数据的安全性。 6. **管理与监控**:ActiveMQ提供...
- **消息队列**:ActiveMQ中的消息队列是一种存储和转发消息的机制,保证了消息的顺序性和可靠性。 - **生产者与消费者**:生产者负责创建和发送消息,消费者则接收并处理这些消息。 - **主题(Topic)与队列...
- **消息中间件**:ActiveMQ作为一个消息中间件,负责在分布式系统中传递消息,解耦生产者和消费者。 - **JMS(Java Message Service)**:JMS是Java平台上的标准,定义了消息生产和消费的接口,ActiveMQ是实现JMS...
1. **消息持久化**:ActiveMQ支持将消息存储在磁盘上,即使在服务器重启后也能保证消息的完整性,这是基于JMS规范中的持久化队列和主题实现的。 2. **多种协议支持**:除了JMS,ActiveMQ还支持STOMP、AMQP、MQTT等...
通过以上步骤和知识点,你可以在Linux环境中成功安装和配置Apache ActiveMQ,利用其强大的消息传递功能来构建可靠、可扩展的应用系统。不过,请记得在实际操作中根据你的具体需求和环境进行相应的调整。