Manually create a new mapper (an XML file) that describes the table and the listener for the table. Place the file in the <ATG10dir>/home/localconfig/atg/registry/data/mappers
directory. The file that SmallCorp creates in this example (called dynamo_recorder.xml
) is shown below:
<mapper > <registry-descriptor> <id>dynamo_recorder.xml</id> <displayname>Example Page Visit SQL Mapper</displayname> <description>Example Page Visit Mapper</description> </registry-descriptor> <input-filter context="jms"> <value>atg.dps.PageVisit</value> </input-filter> <data-listener>/atg/reporting/dataset/RecordVisitsSQLLogger</data-listener> <database> <transaction-manager>/atg/dynamo/transaction/TransactionManager </transaction-manager> <datasource>dynamo:/atg/dynamo/service/jdbc/JTDataSource</datasource> <table> <name>DYNAMO_RECORDER</name> <display-name>Refined Page Visits</display-name> <mappings> <dataset-mapping> <display-name>Visitor</display-name> <column>datasetId</column> <type>java.lang.String</type> <property>datasetId</property> </dataset-mapping> <timestamp-mapping> <display-name>Timestamp</display-name> <column>timestamp</column> <type>java.sql.Timestamp</type> <property>timestamp</property> </timestamp-mapping> <property-mapping> <display-name>Path Qa</display-name> <column>PageVisited</column> <type>java.lang.String</type> <property>context.message.path</property> </property-mapping> </mappings> </table> </database> </mapper>
Optionally, you can turn on mapper validation, which checks on application startup for the existence of the custom mappers identified in your code. To turn on validation:
In the
atg.reporting.DatasetRecorderManager
component, set thevalidateOnStart
property to true.Add the
DatasetRecorderManager
to theinitial.properties
file as one of theInitialServices
entries.