It appears that any message left in a topic when jboss is shutdown will never be sent by the system. It appears in the message count in the jmx console but if mq must go back and load it from storage the message will never be sent to a receiver. When a subscriber connects with the appropriate clientID and subscription name if an internal ref to the message does not exist PersistenceMgr.loadFromStorage reads the jms_message_log table using keys messageid and destination. The destination value for topic messages with durable subscribers is '*' in jms_message_log.
try { c = this.getConnection(); stmt = c.prepareStatement(SELECT_MESSAGE); stmt.setLong(1, messageRef.messageId); System.out.println("x" + messageReg.getPersistnen stmt.setString(2, messageRef.getPersistentKey()); rs = stmt.executeQuery(); if (rs.next()) return extractMessage(rs, 2); return null;