@Override public void removeDestination(ConnectionContext context, ActiveMQDestination destination, long timeout) throws Exception { // Give both a chance to clear out their contexts this.sslBroker.removeDestination(context, destination, timeout); this.nonSslBroker.removeDestination(context, destination, timeout); super.removeDestination(context, destination, timeout); }
@Override public void removeDestination(ConnectionContext context, ActiveMQDestination destination, long timeout) throws Exception { final SecurityContext securityContext = checkSecurityContext(context); if (!checkDestinationAdmin(securityContext, destination)) { throw new SecurityException("User " + securityContext.getUserName() + " is not authorized to remove: " + destination); } securityContext.getAuthorizedWriteDests().remove(destination); super.removeDestination(context, destination, timeout); }
@Override public void removeDestination(ConnectionContext context, ActiveMQDestination destination, long timeout) throws Exception { super.removeDestination(context, destination, timeout); DestinationInfo info = destinations.remove(destination); if (info != null) {
@Override public void removeDestination(ConnectionContext context, ActiveMQDestination destination, long timeout) throws Exception { // Give both a chance to clear out their contexts this.sslBroker.removeDestination(context, destination, timeout); this.nonSslBroker.removeDestination(context, destination, timeout); super.removeDestination(context, destination, timeout); }
@Override public void removeDestination(ConnectionContext context, ActiveMQDestination destination, long timeout) throws Exception { // Give both a chance to clear out their contexts this.sslBroker.removeDestination(context, destination, timeout); this.nonSslBroker.removeDestination(context, destination, timeout); super.removeDestination(context, destination, timeout); }
@Override public void removeDestination(ConnectionContext context, ActiveMQDestination destination, long timeout) throws Exception { // Give both a chance to clear out their contexts this.sslBroker.removeDestination(context, destination, timeout); this.nonSslBroker.removeDestination(context, destination, timeout); super.removeDestination(context, destination, timeout); }
@Override public void removeDestination(ConnectionContext context, ActiveMQDestination destination, long timeout) throws Exception { final SecurityContext securityContext = checkSecurityContext(context); if (!checkDestinationAdmin(securityContext, destination)) { throw new SecurityException("User " + securityContext.getUserName() + " is not authorized to remove: " + destination); } securityContext.getAuthorizedWriteDests().remove(destination); super.removeDestination(context, destination, timeout); }
@Override public void removeDestination(ConnectionContext context, ActiveMQDestination destination, long timeout) throws Exception { final SecurityContext securityContext = checkSecurityContext(context); if (!checkDestinationAdmin(securityContext, destination)) { throw new SecurityException("User " + securityContext.getUserName() + " is not authorized to remove: " + destination); } securityContext.getAuthorizedWriteDests().remove(destination); super.removeDestination(context, destination, timeout); }
@Override public void removeDestination(ConnectionContext context, ActiveMQDestination destination, long timeout) throws Exception { final SecurityContext securityContext = checkSecurityContext(context); if (!checkDestinationAdmin(securityContext, destination)) { throw new SecurityException("User " + securityContext.getUserName() + " is not authorized to remove: " + destination); } securityContext.getAuthorizedWriteDests().remove(destination); super.removeDestination(context, destination, timeout); }
public void removeDestination(ConnectionContext context, ActiveMQDestination destination, long timeout) throws Exception { final SecurityContext securityContext = context.getSecurityContext(); if (securityContext == null) throw new SecurityException("User is not authenticated."); // You don't need to be an admin to remove temp destinations. if (!destination.isTemporary() || !((ActiveMQTempDestination) destination).getConnectionId().equals(context.getConnectionId().getValue())) { if (destination.getPhysicalName().equals(Constants.NOTIFICATION_UPDATES_QUEUE) || destination.getPhysicalName().equals(Constants.NOTIFICATION_CONTROL_QUEUE)) { if (!securityContext.getPrincipals().contains(Constants.defaultSystemRole)) { throw new SecurityException("User " + securityContext.getUserName() + " is not authorized to remove: " + destination); } } } super.removeDestination(context, destination, timeout); }
@Override public void removeDestination(ConnectionContext context, ActiveMQDestination destination, long timeout) throws Exception { final SecurityContext securityContext = context.getSecurityContext(); if (securityContext == null) { throw new SecurityException("User is not authenticated."); } Set<?> allowedACLs = null; if (!destination.isTemporary()) { allowedACLs = authorizationMap.getAdminACLs(destination); } else { allowedACLs = authorizationMap.getTempDestinationAdminACLs(); } if (!securityContext.isBrokerContext() && allowedACLs != null && !securityContext.isInOneOf(allowedACLs)) { throw new SecurityException("User " + securityContext.getUserName() + " is not authorized to remove: " + destination); } super.removeDestination(context, destination, timeout); }
@Override public void removeDestination(ConnectionContext context, ActiveMQDestination destination, long timeout) throws Exception { super.removeDestination(context, destination, timeout); DestinationInfo info = destinations.remove(destination); if (info != null) {
@Override public void removeDestination(ConnectionContext context, ActiveMQDestination destination, long timeout) throws Exception { super.removeDestination(context, destination, timeout); DestinationInfo info = destinations.remove(destination); if (info != null) {
@Override public void removeDestination(ConnectionContext context, ActiveMQDestination destination, long timeout) throws Exception { super.removeDestination(context, destination, timeout); DestinationInfo info = destinations.remove(destination); if (info != null) {
@Override public void removeDestination(ConnectionContext context, ActiveMQDestination destination, long timeout) throws Exception { super.removeDestination(context, destination, timeout); DestinationInfo info = destinations.remove(destination); if (info != null) { info.setDestination(destination); info.setOperationType(DestinationInfo.REMOVE_OPERATION_TYPE); ActiveMQTopic topic = AdvisorySupport.getDestinationAdvisoryTopic(destination); fireAdvisory(context, topic, info); try { next.removeDestination(context, AdvisorySupport.getConsumerAdvisoryTopic(info.getDestination()), -1); } catch (Exception expectedIfDestinationDidNotExistYet) { } try { next.removeDestination(context, AdvisorySupport.getProducerAdvisoryTopic(info.getDestination()), -1); } catch (Exception expectedIfDestinationDidNotExistYet) { } } }