ActiveMQ 权限(二)

在 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中。

原文地址:https://www.cnblogs.com/kszit/p/3596406.html