public class ServerSessionImpl extends Object implements ServerSession, FailureListener
| Modifier and Type | Class and Description |
|---|---|
static class |
ServerSessionImpl.TempQueueCleanerUpper |
| Modifier and Type | Field and Description |
|---|---|
protected boolean |
autoCommitAcks |
protected boolean |
autoCommitSends |
protected SessionCallback |
callback |
protected Map<Long,ServerConsumer> |
consumers |
protected ManagementService |
managementService |
protected String |
name |
protected PagingManager |
pagingManager |
protected String |
password |
PostOffice |
postOffice |
protected boolean |
preAcknowledge |
protected Map<String,ServerProducer> |
producers |
protected RemotingConnection |
remotingConnection |
protected RoutingContext |
routingContext |
protected ActiveMQServer |
server |
protected boolean |
started |
protected StorageManager |
storageManager |
protected boolean |
strictUpdateDeliveryCount |
protected Map<SimpleString,Pair<Object,AtomicLong>> |
targetAddressInfos |
protected Map<SimpleString,ServerSessionImpl.TempQueueCleanerUpper> |
tempQueueCleannerUppers |
protected Transaction |
tx |
protected String |
username |
protected String |
validatedUser |
protected boolean |
xa |
| Constructor and Description |
|---|
ServerSessionImpl(String name,
String username,
String password,
String validatedUser,
int minLargeMessageSize,
boolean autoCommitSends,
boolean autoCommitAcks,
boolean preAcknowledge,
boolean strictUpdateDeliveryCount,
boolean xa,
RemotingConnection remotingConnection,
StorageManager storageManager,
PostOffice postOffice,
ResourceManager resourceManager,
SecurityStore securityStore,
ManagementService managementService,
ActiveMQServer server,
SimpleString managementAddress,
SimpleString defaultAddress,
SessionCallback callback,
OperationContext context,
PagingManager pagingManager,
Map<SimpleString,RoutingType> prefixes) |
| Modifier and Type | Method and Description |
|---|---|
void |
acknowledge(long consumerID,
long messageID) |
void |
addCloseable(Closeable closeable) |
void |
addMetaData(String key,
String data) |
void |
addProducer(ServerProducer serverProducer) |
boolean |
addUniqueMetaData(String key,
String data) |
void |
close(boolean failed) |
void |
closeConsumer(long consumerID) |
void |
commit() |
void |
connectionFailed(ActiveMQException me,
boolean failedOver)
Notifies that a connection has failed due to the specified exception.
|
void |
connectionFailed(ActiveMQException me,
boolean failedOver,
String scaleDownTargetNodeID)
Notifies that a connection has failed due to the specified exception.
|
AddressInfo |
createAddress(AddressInfo addressInfo,
boolean autoCreated) |
AddressInfo |
createAddress(SimpleString address,
EnumSet<RoutingType> routingTypes,
boolean autoCreated) |
AddressInfo |
createAddress(SimpleString address,
RoutingType routingType,
boolean autoCreated) |
ServerConsumer |
createConsumer(long consumerID,
SimpleString queueName,
SimpleString filterString,
boolean browseOnly) |
ServerConsumer |
createConsumer(long consumerID,
SimpleString queueName,
SimpleString filterString,
boolean browseOnly,
boolean supportLargeMessage,
Integer credits) |
Queue |
createQueue(AddressInfo addressInfo,
SimpleString name,
SimpleString filterString,
boolean temporary,
boolean durable) |
Queue |
createQueue(AddressInfo addressInfo,
SimpleString name,
SimpleString filterString,
boolean temporary,
boolean durable,
boolean autoCreated) |
Queue |
createQueue(AddressInfo addressInfo,
SimpleString name,
SimpleString filterString,
boolean temporary,
boolean durable,
Boolean exclusive,
Boolean lastValue,
boolean autoCreated) |
Queue |
createQueue(AddressInfo addressInfo,
SimpleString name,
SimpleString filterString,
boolean temporary,
boolean durable,
int maxConsumers,
boolean purgeOnNoConsumers,
boolean exclusive,
boolean lastValue,
boolean autoCreated) |
Queue |
createQueue(SimpleString address,
SimpleString name,
RoutingType routingType,
SimpleString filterString,
boolean temporary,
boolean durable) |
Queue |
createQueue(SimpleString address,
SimpleString name,
RoutingType routingType,
SimpleString filterString,
boolean temporary,
boolean durable,
boolean autoCreated) |
Queue |
createQueue(SimpleString address,
SimpleString name,
RoutingType routingType,
SimpleString filterString,
boolean temporary,
boolean durable,
int maxConsumers,
boolean purgeOnNoConsumers,
boolean autoCreated) |
Queue |
createQueue(SimpleString address,
SimpleString name,
RoutingType routingType,
SimpleString filterString,
boolean temporary,
boolean durable,
int maxConsumers,
boolean purgeOnNoConsumers,
Boolean exclusive,
Boolean lastValue,
boolean autoCreated) |
Queue |
createQueue(SimpleString address,
SimpleString name,
SimpleString filterString,
boolean temporary,
boolean durable)
Create queue with default delivery mode
|
void |
createSharedQueue(SimpleString address,
SimpleString name,
boolean durable,
SimpleString filterString) |
void |
createSharedQueue(SimpleString address,
SimpleString name,
RoutingType routingType,
boolean durable,
SimpleString filterString) |
void |
createSharedQueue(SimpleString address,
SimpleString name,
RoutingType routingType,
SimpleString filterString,
boolean durable,
Integer maxConsumers,
Boolean purgeOnNoConsumers,
Boolean exclusive,
Boolean lastValue) |
void |
deleteQueue(SimpleString queueToDelete) |
void |
describeProducersInfo(JsonArrayBuilder array)
Add all the producers detail to the JSONArray object.
|
void |
disableSecurity() |
protected void |
doClose(boolean failed) |
RoutingStatus |
doSend(Transaction tx,
Message msg,
SimpleString originalAddress,
boolean direct,
boolean noAutoCreateQueue) |
void |
enableSecurity()
Certain protocols may create an internal session that shouldn't go through security checks.
|
AddressQueryResult |
executeAddressQuery(SimpleString name) |
BindingQueryResult |
executeBindingQuery(SimpleString address) |
QueueQueryResult |
executeQueueQuery(SimpleString name) |
void |
expire(long consumerID,
long messageID) |
void |
forceConsumerDelivery(long consumerID,
long sequence) |
AddressInfo |
getAddress(SimpleString address) |
AddressInfo |
getAddressAndRoutingType(AddressInfo addressInfo)
Get the canonical (i.e.
|
Pair<SimpleString,EnumSet<RoutingType>> |
getAddressAndRoutingTypes(SimpleString address,
EnumSet<RoutingType> defaultRoutingTypes)
Get the canonical (i.e.
|
Object |
getConnectionID() |
int |
getConsumerCount() |
long |
getCreationTime() |
Transaction |
getCurrentTransaction() |
String |
getDefaultAddress() |
List<MessageReference> |
getInTXMessagesForConsumer(long consumerId) |
String |
getLastSentMessageID(String address) |
SimpleString |
getMatchingQueue(SimpleString address,
RoutingType routingType) |
SimpleString |
getMatchingQueue(SimpleString address,
SimpleString queueName,
RoutingType routingType) |
Map<String,String> |
getMetaData() |
String |
getMetaData(String key) |
int |
getMinLargeMessageSize() |
String |
getName() |
String |
getPassword() |
SimpleString |
getPrefix(SimpleString address)
Get the prefix (if it exists) from the address based on the prefixes provided to the ServerSession constructor.
|
int |
getProducerCount() |
RemotingConnection |
getRemotingConnection() |
Set<ServerConsumer> |
getServerConsumers() |
Map<String,ServerProducer> |
getServerProducers() |
OperationContext |
getSessionContext() |
StorageManager |
getStorageManager() |
String[] |
getTargetAddresses() |
String |
getUsername() |
String |
getValidatedUser() |
void |
individualAcknowledge(long consumerID,
long messageID) |
void |
individualCancel(long consumerID,
long messageID,
boolean failed) |
boolean |
isClosed() |
ServerConsumer |
locateConsumer(long consumerID) |
void |
markTXFailed(Throwable e) |
Transaction |
newTransaction() |
void |
receiveConsumerCredits(long consumerID,
int credits) |
boolean |
removeConsumer(long consumerID) |
SimpleString |
removePrefix(SimpleString address)
Strip the prefix (if it exists) from the address based on the prefixes provided to the ServerSession constructor.
|
void |
removeProducer(String ID) |
void |
requestProducerCredits(SimpleString address,
int credits) |
void |
resetTX(Transaction transaction)
Some protocols may chose to hold their transactions outside of the ServerSession.
|
void |
rollback(boolean considerLastMessageAsDelivered) |
RoutingStatus |
send(Message message,
boolean direct) |
RoutingStatus |
send(Message message,
boolean direct,
boolean noAutoCreateQueue) |
RoutingStatus |
send(Transaction tx,
Message msg,
boolean direct,
boolean noAutoCreateQueue) |
void |
setTransferring(boolean transferring) |
void |
start() |
void |
stop() |
String |
toString() |
void |
xaCommit(Xid xid,
boolean onePhase) |
void |
xaEnd(Xid xid) |
void |
xaFailed(Xid xid) |
void |
xaForget(Xid xid) |
List<Xid> |
xaGetInDoubtXids() |
int |
xaGetTimeout() |
void |
xaJoin(Xid xid) |
void |
xaPrepare(Xid xid) |
void |
xaResume(Xid xid) |
void |
xaRollback(Xid xid) |
void |
xaSetTimeout(int timeout) |
void |
xaStart(Xid xid) |
void |
xaSuspend() |
protected final String username
protected final String password
protected final String validatedUser
protected boolean autoCommitSends
protected boolean autoCommitAcks
protected final boolean preAcknowledge
protected final boolean strictUpdateDeliveryCount
protected final RemotingConnection remotingConnection
protected final Map<Long,ServerConsumer> consumers
protected final Map<String,ServerProducer> producers
protected Transaction tx
protected boolean xa
protected final PagingManager pagingManager
protected final StorageManager storageManager
public final PostOffice postOffice
protected final ManagementService managementService
protected volatile boolean started
protected final Map<SimpleString,ServerSessionImpl.TempQueueCleanerUpper> tempQueueCleannerUppers
protected final String name
protected final ActiveMQServer server
protected final RoutingContext routingContext
protected final SessionCallback callback
protected final Map<SimpleString,Pair<Object,AtomicLong>> targetAddressInfos
public ServerSessionImpl(String name, String username, String password, String validatedUser, int minLargeMessageSize, boolean autoCommitSends, boolean autoCommitAcks, boolean preAcknowledge, boolean strictUpdateDeliveryCount, boolean xa, RemotingConnection remotingConnection, StorageManager storageManager, PostOffice postOffice, ResourceManager resourceManager, SecurityStore securityStore, ManagementService managementService, ActiveMQServer server, SimpleString managementAddress, SimpleString defaultAddress, SessionCallback callback, OperationContext context, PagingManager pagingManager, Map<SimpleString,RoutingType> prefixes) throws Exception
Exceptionpublic void enableSecurity()
ServerSessionenableSecurity in interface ServerSessionpublic void addCloseable(Closeable closeable)
addCloseable in interface ServerSessionpublic void disableSecurity()
disableSecurity in interface ServerSessionpublic boolean isClosed()
isClosed in interface ServerSessionpublic OperationContext getSessionContext()
getSessionContext in interface ServerSessionpublic String getUsername()
getUsername in interface SecurityAuthpublic String getPassword()
getPassword in interface SecurityAuthpublic int getMinLargeMessageSize()
getMinLargeMessageSize in interface ServerSessionpublic String getName()
getName in interface ServerSessionpublic Object getConnectionID()
getConnectionID in interface ServerSessionpublic Set<ServerConsumer> getServerConsumers()
getServerConsumers in interface ServerSessionpublic void markTXFailed(Throwable e)
markTXFailed in interface ServerSessionpublic boolean removeConsumer(long consumerID)
throws Exception
removeConsumer in interface ServerSessionExceptionpublic ServerConsumer createConsumer(long consumerID, SimpleString queueName, SimpleString filterString, boolean browseOnly) throws Exception
createConsumer in interface ServerSessionExceptionpublic ServerConsumer createConsumer(long consumerID, SimpleString queueName, SimpleString filterString, boolean browseOnly, boolean supportLargeMessage, Integer credits) throws Exception
createConsumer in interface ServerSessionExceptionpublic void resetTX(Transaction transaction)
resetTX in interface ServerSessionpublic Queue createQueue(SimpleString address, SimpleString name, SimpleString filterString, boolean temporary, boolean durable) throws Exception
ServerSessioncreateQueue in interface ServerSessionExceptionpublic Queue createQueue(SimpleString address, SimpleString name, RoutingType routingType, SimpleString filterString, boolean temporary, boolean durable) throws Exception
createQueue in interface ServerSessionExceptionpublic Queue createQueue(AddressInfo addressInfo, SimpleString name, SimpleString filterString, boolean temporary, boolean durable) throws Exception
createQueue in interface ServerSessionExceptionpublic Queue createQueue(AddressInfo addressInfo, SimpleString name, SimpleString filterString, boolean temporary, boolean durable, int maxConsumers, boolean purgeOnNoConsumers, boolean exclusive, boolean lastValue, boolean autoCreated) throws Exception
Exceptionpublic Queue createQueue(SimpleString address, SimpleString name, RoutingType routingType, SimpleString filterString, boolean temporary, boolean durable, int maxConsumers, boolean purgeOnNoConsumers, boolean autoCreated) throws Exception
createQueue in interface ServerSessionExceptionpublic Queue createQueue(SimpleString address, SimpleString name, RoutingType routingType, SimpleString filterString, boolean temporary, boolean durable, int maxConsumers, boolean purgeOnNoConsumers, Boolean exclusive, Boolean lastValue, boolean autoCreated) throws Exception
createQueue in interface ServerSessionExceptionpublic Queue createQueue(SimpleString address, SimpleString name, RoutingType routingType, SimpleString filterString, boolean temporary, boolean durable, boolean autoCreated) throws Exception
createQueue in interface ServerSessionExceptionpublic Queue createQueue(AddressInfo addressInfo, SimpleString name, SimpleString filterString, boolean temporary, boolean durable, boolean autoCreated) throws Exception
createQueue in interface ServerSessionExceptionpublic Queue createQueue(AddressInfo addressInfo, SimpleString name, SimpleString filterString, boolean temporary, boolean durable, Boolean exclusive, Boolean lastValue, boolean autoCreated) throws Exception
createQueue in interface ServerSessionExceptionpublic AddressInfo createAddress(SimpleString address, EnumSet<RoutingType> routingTypes, boolean autoCreated) throws Exception
createAddress in interface ServerSessionExceptionpublic AddressInfo createAddress(SimpleString address, RoutingType routingType, boolean autoCreated) throws Exception
createAddress in interface ServerSessionExceptionpublic AddressInfo createAddress(AddressInfo addressInfo, boolean autoCreated) throws Exception
createAddress in interface ServerSessionExceptionpublic void createSharedQueue(SimpleString address, SimpleString name, RoutingType routingType, SimpleString filterString, boolean durable, Integer maxConsumers, Boolean purgeOnNoConsumers, Boolean exclusive, Boolean lastValue) throws Exception
createSharedQueue in interface ServerSessionExceptionpublic void createSharedQueue(SimpleString address, SimpleString name, RoutingType routingType, boolean durable, SimpleString filterString) throws Exception
createSharedQueue in interface ServerSessionExceptionpublic void createSharedQueue(SimpleString address, SimpleString name, boolean durable, SimpleString filterString) throws Exception
createSharedQueue in interface ServerSessionExceptionpublic RemotingConnection getRemotingConnection()
getRemotingConnection in interface SecurityAuthgetRemotingConnection in interface ServerSessionpublic void deleteQueue(SimpleString queueToDelete) throws Exception
deleteQueue in interface ServerSessionExceptionpublic QueueQueryResult executeQueueQuery(SimpleString name) throws Exception
executeQueueQuery in interface ServerSessionExceptionpublic AddressQueryResult executeAddressQuery(SimpleString name) throws Exception
executeAddressQuery in interface ServerSessionExceptionpublic BindingQueryResult executeBindingQuery(SimpleString address) throws Exception
executeBindingQuery in interface ServerSessionExceptionpublic void forceConsumerDelivery(long consumerID,
long sequence)
throws Exception
forceConsumerDelivery in interface ServerSessionExceptionpublic void acknowledge(long consumerID,
long messageID)
throws Exception
acknowledge in interface ServerSessionExceptionpublic ServerConsumer locateConsumer(long consumerID)
locateConsumer in interface ServerSessionpublic void individualAcknowledge(long consumerID,
long messageID)
throws Exception
individualAcknowledge in interface ServerSessionExceptionpublic void individualCancel(long consumerID,
long messageID,
boolean failed)
throws Exception
individualCancel in interface ServerSessionExceptionpublic void expire(long consumerID,
long messageID)
throws Exception
expire in interface ServerSessionExceptionpublic void commit()
throws Exception
commit in interface ServerSessionExceptionpublic void rollback(boolean considerLastMessageAsDelivered)
throws Exception
rollback in interface ServerSessionExceptionpublic Transaction newTransaction()
newTransaction in interface ServerSessionpublic void xaCommit(Xid xid, boolean onePhase) throws Exception
xaCommit in interface ServerSessionExceptionpublic void xaEnd(Xid xid) throws Exception
xaEnd in interface ServerSessionExceptionpublic void xaForget(Xid xid) throws Exception
xaForget in interface ServerSessionExceptionpublic void xaJoin(Xid xid) throws Exception
xaJoin in interface ServerSessionExceptionpublic void xaResume(Xid xid) throws Exception
xaResume in interface ServerSessionExceptionpublic void xaRollback(Xid xid) throws Exception
xaRollback in interface ServerSessionExceptionpublic void xaStart(Xid xid) throws Exception
xaStart in interface ServerSessionExceptionpublic void xaFailed(Xid xid) throws Exception
xaFailed in interface ServerSessionExceptionpublic void xaSuspend()
throws Exception
xaSuspend in interface ServerSessionExceptionpublic void xaPrepare(Xid xid) throws Exception
xaPrepare in interface ServerSessionExceptionpublic List<Xid> xaGetInDoubtXids()
xaGetInDoubtXids in interface ServerSessionpublic int xaGetTimeout()
xaGetTimeout in interface ServerSessionpublic void xaSetTimeout(int timeout)
xaSetTimeout in interface ServerSessionpublic void start()
start in interface ServerSessionpublic void stop()
stop in interface ServerSessionpublic void close(boolean failed)
close in interface ServerSessionpublic void closeConsumer(long consumerID)
throws Exception
closeConsumer in interface ServerSessionExceptionpublic void receiveConsumerCredits(long consumerID,
int credits)
throws Exception
receiveConsumerCredits in interface ServerSessionExceptionpublic Transaction getCurrentTransaction()
getCurrentTransaction in interface ServerSessionpublic RoutingStatus send(Message message, boolean direct) throws Exception
send in interface ServerSessionExceptionpublic RoutingStatus send(Message message, boolean direct, boolean noAutoCreateQueue) throws Exception
send in interface ServerSessionExceptionpublic RoutingStatus send(Transaction tx, Message msg, boolean direct, boolean noAutoCreateQueue) throws Exception
send in interface ServerSessionExceptionpublic void requestProducerCredits(SimpleString address, int credits) throws Exception
requestProducerCredits in interface ServerSessionExceptionpublic void setTransferring(boolean transferring)
setTransferring in interface ServerSessionpublic void addMetaData(String key, String data) throws Exception
addMetaData in interface ServerSessionExceptionpublic boolean addUniqueMetaData(String key, String data) throws Exception
addUniqueMetaData in interface ServerSessionExceptionpublic String getMetaData(String key)
getMetaData in interface ServerSessionpublic Map<String,String> getMetaData()
getMetaData in interface ServerSessionpublic String[] getTargetAddresses()
getTargetAddresses in interface ServerSessionpublic String getLastSentMessageID(String address)
getLastSentMessageID in interface ServerSessionpublic long getCreationTime()
getCreationTime in interface ServerSessionpublic StorageManager getStorageManager()
public void describeProducersInfo(JsonArrayBuilder array) throws Exception
ServerSessiondescribeProducersInfo in interface ServerSessionExceptionpublic String getValidatedUser()
getValidatedUser in interface ServerSessionpublic SimpleString getMatchingQueue(SimpleString address, RoutingType routingType) throws Exception
getMatchingQueue in interface ServerSessionExceptionpublic SimpleString getMatchingQueue(SimpleString address, SimpleString queueName, RoutingType routingType) throws Exception
getMatchingQueue in interface ServerSessionExceptionpublic AddressInfo getAddress(SimpleString address)
getAddress in interface ServerSessionpublic void connectionFailed(ActiveMQException me, boolean failedOver)
FailureListenerconnectionFailed in interface FailureListenerme - exception which has caused the connection to failpublic void connectionFailed(ActiveMQException me, boolean failedOver, String scaleDownTargetNodeID)
FailureListenerconnectionFailed in interface FailureListenerme - exception which has caused the connection to failscaleDownTargetNodeID - the ID of the node to which messages are scaling downpublic RoutingStatus doSend(Transaction tx, Message msg, SimpleString originalAddress, boolean direct, boolean noAutoCreateQueue) throws Exception
doSend in interface ServerSessionExceptionpublic List<MessageReference> getInTXMessagesForConsumer(long consumerId)
getInTXMessagesForConsumer in interface ServerSessionpublic SimpleString removePrefix(SimpleString address)
ServerSessionremovePrefix in interface ServerSessionaddress - the address to inspectpublic SimpleString getPrefix(SimpleString address)
ServerSessiongetPrefix in interface ServerSessionaddress - the address to inspectpublic AddressInfo getAddressAndRoutingType(AddressInfo addressInfo)
ServerSessiongetAddressAndRoutingType in interface ServerSessionaddressInfo - the address to inspectorg.apache.activemq.artemis.api.core.Pair representing the canonical (i.e. non-prefixed) address
name and the org.apache.activemq.artemis.api.core.RoutingType corresponding to the that prefix.public Pair<SimpleString,EnumSet<RoutingType>> getAddressAndRoutingTypes(SimpleString address, EnumSet<RoutingType> defaultRoutingTypes)
ServerSessiongetAddressAndRoutingTypes in interface ServerSessionaddress - the address to inspectdefaultRoutingTypes - a the java.util.Set of org.apache.activemq.artemis.api.core.RoutingType
objects to return if no prefix match is found.org.apache.activemq.artemis.api.core.Pair representing the canonical (i.e. non-prefixed) address
name and the java.util.Set of org.apache.activemq.artemis.api.core.RoutingType objects
corresponding to the that prefix.public void addProducer(ServerProducer serverProducer)
addProducer in interface ServerSessionpublic void removeProducer(String ID)
removeProducer in interface ServerSessionpublic Map<String,ServerProducer> getServerProducers()
getServerProducers in interface ServerSessionpublic String getDefaultAddress()
getDefaultAddress in interface ServerSessionpublic int getConsumerCount()
getConsumerCount in interface ServerSessionpublic int getProducerCount()
getProducerCount in interface ServerSessionCopyright © 2019 JBoss by Red Hat. All rights reserved.