public Message getMessage() throws IOException { return messageReference != null ? messageReference.getMessage():null; }
protected int getPriority(MessageReference message) { int priority = javax.jms.Message.DEFAULT_PRIORITY; if (message.getMessageId() != null) { priority = Math.max(message.getMessage().getPriority(), 0); priority = Math.min(priority, 9); } return priority; }
private void skipMessage(String prefix, MessageReference msgRef) { log.debug("Discarding DLQ BrokerFilter[{}] - skipping message: {}", prefix, (msgRef != null ? msgRef.getMessage() : null)); }
private void trackLastCached(MessageReference node) { if (isAsync(node.getMessage())) { pruneLastCached(); pendingCachedIds.add(node.getMessageId()); } else { setLastCachedId(SYNC_ADD, node.getMessageId()); } }
public boolean isAllowedToConsume(MessageReference n) throws IOException { if (messageAuthorizationPolicy != null) { return messageAuthorizationPolicy.isAllowedToConsume(this, n.getMessage()); } return true; }
public boolean add(ConnectionContext context, MessageReference message) throws Exception { return query.validateUpdate(message.getMessage()); }
public Message[] browse(ActiveMQDestination destination) throws Exception { List<Message> result = new ArrayList<Message>(); if (lastImage != null) { DestinationFilter filter = DestinationFilter.parseFilter(destination); if (filter.matches(lastImage.getMessage().getDestination())) { result.add(lastImage.getMessage()); } } return result.toArray(new Message[result.size()]); }
public Message[] browse(ActiveMQDestination destination) throws Exception { List<Message> result = new ArrayList<Message>(); ArrayList<TimestampWrapper> copy = new ArrayList<TimestampWrapper>(buffer); DestinationFilter filter = DestinationFilter.parseFilter(destination); for (Iterator<TimestampWrapper> iter = copy.iterator(); iter.hasNext();) { TimestampWrapper timestampWrapper = iter.next(); MessageReference ref = timestampWrapper.message; Message message = ref.getMessage(); if (filter.matches(message.getDestination())) { result.add(message); } } return result.toArray(new Message[result.size()]); }
public Message[] browse(ActiveMQDestination destination) { List<Message> result = new ArrayList<Message>(); DestinationFilter filter = DestinationFilter.parseFilter(destination); synchronized (lock) { for (Iterator<MessageReference> i = list.iterator(); i.hasNext();) { MessageReference ref = i.next(); Message msg; msg = ref.getMessage(); if (filter.matches(msg.getDestination())) { result.add(msg); } } } return result.toArray(new Message[result.size()]); }
public Message getMessage() throws IOException { if (!dropped && !loaded) { loaded = true; messageReference.incrementReferenceCount(); message = messageReference.getMessage(); if (message == null) { messageReference.decrementReferenceCount(); dropped = true; loaded = false; } } return message; }
@Override public boolean sendToDeadLetterQueue(ConnectionContext context, MessageReference messageReference, Subscription subscription, Throwable poisonCause) { if (isLogAll() || isLogInternalEvents()) { String msg = "Unable to display message."; msg = messageReference.getMessage().toString(); LOG.info("Sending to DLQ: {}", msg); } return super.sendToDeadLetterQueue(context, messageReference, subscription, poisonCause); }
@Override public void messageDiscarded(ConnectionContext context, Subscription sub, MessageReference messageReference) { if (isLogAll() || isLogInternalEvents()) { String msg = "Unable to display message."; msg = messageReference.getMessage().toString(); LOG.info("Message discarded: {}", msg); } super.messageDiscarded(context, sub, messageReference); }
/** * @return the next pending message */ @Override public synchronized MessageReference next() { MessageReference reference = iter.next(); last = reference; if (!isDiskListEmpty()) { // got from disk reference.getMessage().setRegionDestination(regionDestination); reference.getMessage().setMemoryUsage(this.getSystemUsage().getMemoryUsage()); } reference.incrementReferenceCount(); return reference; }
@Override public void messageExpired(ConnectionContext context, MessageReference message, Subscription subscription) { if (isLogAll() || isLogInternalEvents()) { String msg = "Unable to display message."; msg = message.getMessage().toString(); LOG.info("Message has expired: {}", msg); } super.messageExpired(context, message, subscription); }
@Override public void addMessageFirst(MessageReference node) throws Exception { // for keep durable subs active, need to deal with redispatch if (node != null) { Message msg = node.getMessage(); if (!msg.isPersistent()) { nonPersistent.addMessageFirst(node); } else { Destination dest = (Destination) msg.getRegionDestination(); TopicStorePrefetch tsp = topics.get(dest); if (tsp != null) { tsp.addMessageFirst(node); } } } }
@Override public void messageConsumed(ConnectionContext context, MessageReference messageReference) { if (isLogAll() || isLogConsumerEvents() || isLogInternalEvents()) { String msg = "Unable to display message."; msg = messageReference.getMessage().toString(); LOG.info("Message consumed: {}", msg); } super.messageConsumed(context, messageReference); }
@Override public void messageDelivered(ConnectionContext context, MessageReference messageReference) { if (isLogAll() || isLogConsumerEvents() || isLogInternalEvents()) { String msg = "Unable to display message."; msg = messageReference.getMessage().toString(); LOG.info("Message delivered: {}", msg); } super.messageDelivered(context, messageReference); }
@Override public synchronized void addMessageFirst(MessageReference node) throws Exception { if (node != null) { Message msg = node.getMessage(); if (started) { pendingCount++; if (!msg.isPersistent()) { nonPersistent.addMessageFirst(node); } } if (msg.isPersistent()) { persistent.addMessageFirst(node); } } }
private void discardExpiredMessage(MessageReference reference) { LOG.debug("Discarding expired message {}", reference); if (reference.isExpired() && broker.isExpired(reference)) { ConnectionContext context = new ConnectionContext(); context.setBroker(broker); ((Destination)reference.getRegionDestination()).messageExpired(context, null, new IndirectMessageReference(reference.getMessage())); } }
protected void assignGroup(Subscription subs, MessageGroupMap messageGroupOwners, MessageReference n, String groupId) throws IOException { messageGroupOwners.put(groupId, subs.getConsumerInfo().getConsumerId()); Message message = n.getMessage(); message.setJMSXGroupFirstForConsumer(true); subs.getConsumerInfo().incrementAssignedGroupCount(destination); }