public class PagedReferenceImpl extends LinkedListImpl.Node<PagedReferenceImpl> implements PagedReference, Runnable
MessageReference.Factory
Constructor and Description |
---|
PagedReferenceImpl(PagePosition position,
PagedMessage message,
PageSubscription subscription) |
Modifier and Type | Method and Description |
---|---|
void |
acknowledge() |
void |
acknowledge(Transaction tx) |
void |
acknowledge(Transaction tx,
AckReason reason,
ServerConsumer consumer) |
void |
acknowledge(Transaction tx,
ServerConsumer consumer) |
void |
addPendingFlag()
this method affects paging clean up
It adds to the flag that prevents its page from cleanup.
|
MessageReference |
copy(Queue queue) |
void |
decrementDeliveryCount() |
void |
emptyConsumerID() |
long |
getConsumerId() |
int |
getDeliveryCount() |
SimpleString |
getLastValueProperty() |
Message |
getMessage() |
long |
getMessageID() |
int |
getMessageMemoryEstimate()
We define this method aggregation here because on paging we need to hold the original estimate,
so we need to perform some extra steps on paging.
|
PagedMessage |
getPagedMessage() |
int |
getPersistedCount() |
long |
getPersistentSize()
This is the size of the message when persisted on disk which is used for metrics tracking
Note that even if the message itself is not persisted on disk (ie non-durable) this value is
still used for metrics tracking for the amount of data on a queue
|
PagePosition |
getPosition() |
Object |
getProtocolData()
To be used on holding protocol specific data during the delivery.
|
Queue |
getQueue() |
long |
getScheduledDeliveryTime() |
long |
getTransactionID() |
void |
handled() |
boolean |
hasConsumerId() |
void |
incrementDeliveryCount() |
boolean |
isAlreadyAcked() |
boolean |
isDurable() |
boolean |
isLargeMessage() |
boolean |
isPaged() |
void |
onDelivery(Consumer<? super MessageReference> onDelivery)
This is to be used in cases where a message delivery happens on an executor.
|
void |
removePendingFlag()
this method affects paging clean up
It adds to the flag that prevents its page from cleanup.
|
void |
run()
It will call
Consumer.accept(Object) on this of the Consumer registered in onDelivery(Consumer) , if any. |
void |
setAlreadyAcked() |
void |
setConsumerId(long consumerID) |
void |
setDeliveryCount(int deliveryCount) |
void |
setPersistedCount(int count) |
void |
setProtocolData(Object protocolData)
To be used on holding protocol specific data during the delivery.
|
void |
setScheduledDeliveryTime(long scheduledDeliveryTime) |
String |
toString() |
val
public PagedReferenceImpl(PagePosition position, PagedMessage message, PageSubscription subscription)
public Object getProtocolData()
MessageReference
getProtocolData
in interface MessageReference
public void setProtocolData(Object protocolData)
MessageReference
setProtocolData
in interface MessageReference
public Message getMessage()
getMessage
in interface MessageReference
public void onDelivery(Consumer<? super MessageReference> onDelivery)
MessageReference
onDelivery
in interface MessageReference
public void run()
Consumer.accept(Object)
on this
of the Consumer
registered in onDelivery(Consumer)
, if any.public PagedMessage getPagedMessage()
getPagedMessage
in interface PagedReference
public PagePosition getPosition()
getPosition
in interface PagedReference
public boolean isPaged()
isPaged
in interface MessageReference
public void setPersistedCount(int count)
setPersistedCount
in interface MessageReference
public int getPersistedCount()
getPersistedCount
in interface MessageReference
public int getMessageMemoryEstimate()
MessageReference
getMessageMemoryEstimate
in interface MessageReference
public MessageReference copy(Queue queue)
copy
in interface MessageReference
public long getScheduledDeliveryTime()
getScheduledDeliveryTime
in interface MessageReference
public void setScheduledDeliveryTime(long scheduledDeliveryTime)
setScheduledDeliveryTime
in interface MessageReference
public int getDeliveryCount()
getDeliveryCount
in interface MessageReference
public void setDeliveryCount(int deliveryCount)
setDeliveryCount
in interface MessageReference
public void incrementDeliveryCount()
incrementDeliveryCount
in interface MessageReference
public void decrementDeliveryCount()
decrementDeliveryCount
in interface MessageReference
public Queue getQueue()
getQueue
in interface MessageReference
public void handled()
handled
in interface MessageReference
public void setAlreadyAcked()
setAlreadyAcked
in interface MessageReference
public boolean isAlreadyAcked()
isAlreadyAcked
in interface MessageReference
public void acknowledge() throws Exception
acknowledge
in interface MessageReference
Exception
public void acknowledge(Transaction tx) throws Exception
acknowledge
in interface MessageReference
Exception
public void acknowledge(Transaction tx, ServerConsumer consumer) throws Exception
acknowledge
in interface MessageReference
Exception
public void acknowledge(Transaction tx, AckReason reason, ServerConsumer consumer) throws Exception
acknowledge
in interface MessageReference
Exception
public String toString()
toString
in class LinkedListImpl.Node<PagedReferenceImpl>
public void emptyConsumerID()
emptyConsumerID
in interface MessageReference
public void setConsumerId(long consumerID)
setConsumerId
in interface MessageReference
public boolean hasConsumerId()
hasConsumerId
in interface MessageReference
public long getConsumerId()
getConsumerId
in interface MessageReference
public boolean isLargeMessage()
isLargeMessage
in interface PagedReference
public long getTransactionID()
getTransactionID
in interface PagedReference
public void addPendingFlag()
PagedReference
PageSubscription.addPendingDelivery(PagePosition)
addPendingFlag
in interface PagedReference
PageSubscription.addPendingDelivery(PagePosition)
public void removePendingFlag()
PagedReference
PageSubscription.addPendingDelivery(PagePosition)
removePendingFlag
in interface PagedReference
PageSubscription.addPendingDelivery(PagePosition)
public long getMessageID()
getMessageID
in interface MessageReference
public SimpleString getLastValueProperty()
getLastValueProperty
in interface MessageReference
public long getPersistentSize()
MessageReference
getPersistentSize
in interface MessageReference
public boolean isDurable()
isDurable
in interface MessageReference
Copyright © 2019 JBoss by Red Hat. All rights reserved.