In SQL JMS, destinations are represented by entries in the dms_queue
and dms_topic
tables, so adding new destinations is a matter of inserting new rows into these tables. However, this should not be done directly, as is difficult to coordinate this with the mechanism that generates new IDs for the destinations.
Instead, you can create destinations using the requiredQueueNames
and requiredTopicNames
properties of the /atg/dynamo/messaging/SqlJmsProvider
component. For example:
requiredQueueNames+=MyApp/Orders
requiredTopicNames+=MyApp/RegistrationEvents,MyApp/FinancialEvents
When SQL JMS starts, it looks at these lists of queue and topic names. It then looks into the dms_queue
and dms_topic
tables and add any topic or queue names that are not already in those tables.
To access an SQL JMS destination in your code, you use JNDI references of the form:
sqldms:/{queue-or-topic-name}
For example, the first topic above is:
sqldms:/MyApp/RegistrationEvents