在 ActiveMQ 权限(一) 配置了对消息队列的权限,以下设置完成消息的权限,比如只接受某ip的消息。
两步完成,
第一步:继承接口org.apache.activemq.security.MessageAuthorizationPolicy的类:
public class AuthorizationPolicy implements MessageAuthorizationPolicy { private static final Log LOG = LogFactory.getLog(AuthorizationPolicy.class); public boolean isAllowedToConsume(ConnectionContext context,Message message) { LOG.info(context.getConnection().getRemoteAddress()); String remoteAddress = context.getConnection().getRemoteAddress(); if (remoteAddress.startsWith("/127.0.0.1")) { LOG.info("Permission to consume granted"); return true; } else { LOG.info("Permission to consume denied"); return false; } } }
以上AuthorizationPolicy类的作用,只接受来自127.0.0.1的消息。
第二步,注册AuthorizationPolicy类。
<messageAuthorizationPolicy> <bean class="org.kszit.activem.AuthorizationPolicy" xmlns="http://www.springframework.org/schema/beans" /> </messageAuthorizationPolicy>
将以上信息添加到:activemq.xml中。