JMX MBean View
MBean Name:
Domain Name:
jboss.messaging
service:
PersistenceManager
MBean Java Class:
org.jboss.mx.modelmbean.XMBean
Back to Agent View
Refresh MBean View
MBean description:
A JDBC persistence manager
List of MBean attributes:
Name
Type
Access
Value
Description
Instance
org.jboss.messaging.core.contract.MessagingComponent
R
JDBCPersistenceManager[85371c1]
The instance to plug into the server peer
DataSource
java.lang.String
RW
The JNDI name of the DataSource used by this persistence manager
TransactionManager
javax.management.ObjectName
RW
View MBean
The ObjectName of the TransactionManager used by this persistence manager
CreateTablesOnStartup
boolean
RW
True
False
Should database tables be created on startup?
UsingBatchUpdates
boolean
RW
True
False
Should JDBC batch updates be used?
UsingBinaryStream
boolean
RW
True
False
Should binary stream be used for accessing message headers / body ?
UsingTrailingByte
boolean
RW
True
False
Should a trailing byte be added to VARBINARY columns - this would be true for databases such as Sybase which would otherwise truncate trailing zeros
SqlProperties
java.lang.String
RW
# #Thu Sep 19 10:58:23 BRT 2024 DELETE_MESSAGE=DELETE FROM JBM_MSG WHERE MESSAGE_ID \= ? AND NOT EXISTS (SELECT JBM_MSG_REF.MESSAGE_ID FROM JBM_MSG_REF WHERE JBM_MSG_REF.MESSAGE_ID \= ?) INSERT_ID_IN_CACHE=INSERT INTO JBM_ID_CACHE (NODE_ID, CNTR, JBM_ID) VALUES (?, ?, ?) UPDATE_REFS_NOT_PAGED=UPDATE JBM_MSG_REF SET PAGE_ORD \= NULL WHERE PAGE_ORD BETWEEN ? AND ? AND CHANNEL_ID\=? LOAD_ID_CACHE=SELECT CNTR, JBM_ID FROM JBM_ID_CACHE WHERE NODE_ID \= ? MOVE_REFERENCE=UPDATE JBM_MSG_REF SET CHANNEL_ID \= ? WHERE MESSAGE_ID \= ? AND CHANNEL_ID \= ? UPDATE_TX=UPDATE JBM_TX SET NODE_ID\=? WHERE NODE_ID\=? LOAD_MESSAGES=SELECT MESSAGE_ID, RELIABLE, EXPIRATION, TIMESTAMP, PRIORITY, HEADERS, PAYLOAD, TYPE FROM JBM_MSG UPDATE_MESSAGE_REF=UPDATE JBM_MSG_REF SET TRANSACTION_ID\=?, STATE\='-' WHERE MESSAGE_ID\=? AND CHANNEL_ID\=? AND STATE\='C' DELETE_MESSAGE_REF=DELETE FROM JBM_MSG_REF WHERE MESSAGE_ID\=? AND CHANNEL_ID\=? AND STATE\='C' CREATE_TRANSACTION=CREATE TABLE JBM_TX (NODE_ID INTEGER, TRANSACTION_ID BIGINT, BRANCH_QUAL BYTEA, FORMAT_ID INTEGER, GLOBAL_TXID BYTEA, PRIMARY KEY (TRANSACTION_ID)) SELECT_MESSAGE_ID_FOR_REF=SELECT MESSAGE_ID, CHANNEL_ID FROM JBM_MSG_REF WHERE TRANSACTION_ID \= ? AND STATE \= '+' ORDER BY ORD UPDATE_PAGE_ORDER=UPDATE JBM_MSG_REF SET PAGE_ORD \= ? WHERE MESSAGE_ID\=? AND CHANNEL_ID\=? INSERT_MESSAGE_REF=INSERT INTO JBM_MSG_REF (CHANNEL_ID, MESSAGE_ID, TRANSACTION_ID, STATE, ORD, PAGE_ORD, DELIVERY_COUNT, SCHED_DELIVERY) VALUES (?, ?, ?, ?, ?, ?, ?, ?) UPDATE_CHANNEL_ID=UPDATE JBM_MSG_REF SET CHANNEL_ID \= ? WHERE CHANNEL_ID \= ? INSERT_DUAL=INSERT INTO JBM_DUAL VALUES (1) CREATE_MESSAGE_REFERENCE=CREATE TABLE JBM_MSG_REF (MESSAGE_ID BIGINT, CHANNEL_ID BIGINT, TRANSACTION_ID BIGINT, STATE CHAR(1), ORD BIGINT, PAGE_ORD BIGINT, DELIVERY_COUNT INTEGER, SCHED_DELIVERY BIGINT, PRIMARY KEY(MESSAGE_ID, CHANNEL_ID)) DELETE_TRANSACTION=DELETE FROM JBM_TX WHERE NODE_ID \= ? AND TRANSACTION_ID \= ? SELECT_ALL_CHANNELS=SELECT DISTINCT(CHANNEL_ID) FROM JBM_MSG_REF INSERT_COUNTER=INSERT INTO JBM_COUNTER (NAME, NEXT_ID) VALUES (?, ?) INSERT_TRANSACTION=INSERT INTO JBM_TX (NODE_ID, TRANSACTION_ID, BRANCH_QUAL, FORMAT_ID, GLOBAL_TXID) VALUES(?, ?, ?, ?, ?) ROLLBACK_MESSAGE_REF2=UPDATE JBM_MSG_REF SET STATE\='C', TRANSACTION_ID \= NULL WHERE TRANSACTION_ID\=? AND STATE\='-' CREATE_DUAL=CREATE TABLE JBM_DUAL (DUMMY INTEGER, PRIMARY KEY (DUMMY)) ROLLBACK_MESSAGE_REF1=DELETE FROM JBM_MSG_REF WHERE TRANSACTION_ID\=? AND STATE\='+' CREATE_IDX_MESSAGE_REF_TX=CREATE INDEX JBM_MSG_REF_TX ON JBM_MSG_REF (TRANSACTION_ID, STATE) SELECT_COUNTER=SELECT NEXT_ID FROM JBM_COUNTER WHERE NAME\=? FOR UPDATE LOAD_UNPAGED_REFS=SELECT MESSAGE_ID, DELIVERY_COUNT, SCHED_DELIVERY FROM JBM_MSG_REF WHERE STATE \= 'C' AND CHANNEL_ID \= ? AND PAGE_ORD IS NULL ORDER BY ORD LOAD_REFS=SELECT MESSAGE_ID, DELIVERY_COUNT, SCHED_DELIVERY FROM JBM_MSG_REF WHERE STATE \= 'C' AND CHANNEL_ID \= ? ORDER BY ORD CREATE_COUNTER=CREATE TABLE JBM_COUNTER (NAME VARCHAR(255), NEXT_ID BIGINT, PRIMARY KEY(NAME)) INSERT_MESSAGE=INSERT INTO JBM_MSG (MESSAGE_ID, RELIABLE, EXPIRATION, TIMESTAMP, PRIORITY, TYPE, HEADERS, PAYLOAD) VALUES (?, ?, ?, ?, ?, ?, ?, ?) SELECT_MESSAGE_ID_FOR_ACK=SELECT MESSAGE_ID, CHANNEL_ID FROM JBM_MSG_REF WHERE TRANSACTION_ID \= ? AND STATE \= '-' ORDER BY ORD SELECT_PREPARED_TRANSACTIONS=SELECT TRANSACTION_ID, BRANCH_QUAL, FORMAT_ID, GLOBAL_TXID FROM JBM_TX WHERE NODE_ID \= ? UPDATE_DELIVERY_COUNT=UPDATE JBM_MSG_REF SET DELIVERY_COUNT \= ? WHERE MESSAGE_ID \= ? AND CHANNEL_ID \= ? COMMIT_MESSAGE_REF2=DELETE FROM JBM_MSG_REF WHERE TRANSACTION_ID\=? AND STATE\='-' COMMIT_MESSAGE_REF1=UPDATE JBM_MSG_REF SET STATE\='C', TRANSACTION_ID \= NULL WHERE TRANSACTION_ID\=? AND STATE\='+' LOAD_PAGED_REFS=SELECT MESSAGE_ID, DELIVERY_COUNT, PAGE_ORD, SCHED_DELIVERY FROM JBM_MSG_REF WHERE CHANNEL_ID \= ? AND PAGE_ORD BETWEEN ? AND ? ORDER BY PAGE_ORD CREATE_MESSAGE=CREATE TABLE JBM_MSG (MESSAGE_ID BIGINT, RELIABLE CHAR(1), EXPIRATION BIGINT, TIMESTAMP BIGINT, PRIORITY SMALLINT, TYPE SMALLINT, HEADERS BYTEA, PAYLOAD BYTEA, PRIMARY KEY (MESSAGE_ID)) CHECK_DUAL=SELECT 1 FROM JBM_DUAL SELECT_MIN_MAX_PAGE_ORD=SELECT MIN(PAGE_ORD), MAX(PAGE_ORD) FROM JBM_MSG_REF WHERE CHANNEL_ID \= ? INSERT_MESSAGE_CONDITIONAL=INSERT INTO JBM_MSG (MESSAGE_ID, RELIABLE, EXPIRATION, TIMESTAMP, PRIORITY, TYPE) SELECT ?, ?, ?, ?, ?, ? FROM JBM_DUAL WHERE NOT EXISTS (SELECT MESSAGE_ID FROM JBM_MSG WHERE MESSAGE_ID \= ?) UPDATE_COUNTER=UPDATE JBM_COUNTER SET NEXT_ID \= ? WHERE NAME\=? CREATE_ID_CACHE=CREATE TABLE JBM_ID_CACHE (NODE_ID INTEGER, CNTR INTEGER, JBM_ID VARCHAR(255), PRIMARY KEY(NODE_ID, CNTR)) INSERT_MESSAGE_CONDITIONAL_FULL=INSERT INTO JBM_MSG (MESSAGE_ID, RELIABLE, EXPIRATION, TIMESTAMP, PRIORITY, TYPE, HEADERS, PAYLOAD) SELECT ?, ?, ?, ?, ?, ?, ?, ? FROM JBM_DUAL WHERE NOT EXISTS (SELECT MESSAGE_ID FROM JBM_MSG WHERE MESSAGE_ID \= ?) UPDATE_MESSAGE_4CONDITIONAL=UPDATE JBM_MSG SET HEADERS\=?, PAYLOAD\=? WHERE MESSAGE_ID\=? UPDATE_ID_IN_CACHE=UPDATE JBM_ID_CACHE SET JBM_ID \= ? WHERE NODE_ID \= ? AND CNTR \= ? MESSAGE_ID_COLUMN=MESSAGE_ID
DML and DDL overrides
MaxParams
int
RW
The max number of params to be used in a generated PreparedStatement
UseNDBFailoverStrategy
boolean
RW
True
False
This changes the retry strategy for the persistence manager. If failure occurs on commit, we ignore the second failure and assume that the insert happened correctly
SupportsBlobOnSelect
boolean
RW
True
False
Some databases don't support binding blobs on select clauses
SupportsSetNullOnBlobs
boolean
RW
True
False
Some databases don't support binding null blobs using setNull (mainly DB2)
DetectDuplicates
boolean
RW
True
False
Detect duplicate message sends on failover? There is some performance hit for doing this
IDCacheSize
int
RW
The ID cache size to use when detecting duplicate message sends
List of MBean operations:
void create()
JBoss Service lifecycle operation
void start()
JBoss Service lifecycle operation
void stop()
JBoss Service lifecycle operation
void destroy()
JBoss Service lifecycle operation