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 adds 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

 
loading table of contents...