Properties
* Two kinds of properties:
– User exit properties
– Java application properties
* Set property file locations in user exit extract parameter file
SetEnv ( GGS_USEREXIT_CONF = "dirprm/cuserexit.properties" ) SetEnv ( GGS_JAVAUSEREXIT_CONF = "dirprm/javaue.properties" )
User Exit Properties
Logging Properties
# log file name prefix goldengate.log.logname=cuserexit # log level goldengate.log.level=ERROR | WARN | INFO | DEBUG # where to log goldengate.log.tostdout=false goldengate.log.tofile=true # advanced logging goldengate.log.modules=GENUSEREXIT,LOGMALLOC,JAVAWRITER goldengate.log.level.LOGMALLOC=ERROR
Generic Properties
# do not change this goldengate.userexit.writers=javawriter # user exit checkpoint file prefix goldengate.userexit.chkptprefix=javaue_
JVM Boot Options
javawriter.bootoptions=-Djava.class.path=javaue/ggue.jar -Dlog4j.configuration=log4j.properties -Xmx256m -Xms128m
Statistics and Reporting
javawriter.stats.display=TRUE # output both Java and C statistics javawriter.stats.full=TRUE # report statistics every 10 min (default is 1 hr) javawriter.stats.time=600 # report statistics every 600 records (default is 10000 records) javawriter.stats.numrecs=100
Java Application Properties
Properties for All Handlers
# what handler(s) to use gg.handlerlist=handler1, handler2 # handler type gg.handler.handler1.type={jms | jms_map | singlefile | rolling | stdout | stderr | log | com.foo.MyHandler}
Properties for Formatting Output
# formatting (default to built-in XML formatter) # use Velocity template for formatting gg.handler.handler1.format=path/to/sample.vm # use custom Java class for formatting gg.handler.handler1.format=com.mycompany.MyFormat # include tables gg.handler.handler1.includeTables=foo.customer, bar.orders # exclude tables gg.handler.handler1.excludeTables=dt_modifydate # output one operation (op) or one transactioni (tx) per message gg.handler.handler1.mode=op | tx # use with custom formatter gg.handler .handler1.format.mode
Properties for CSV and Fixed-format Output
gg.handler.my_jms_handler1.type=jms_text gg.handler.my_jms_handler1.format=csv | fixed gg.handler.my_jms_handler1.properties=/dirprm/my.properties ############## # in my.properties # ############## delim=, quote=' metacols=opcode, table, txind, position missingColumnChar=M presentColumnChar=P nullColumnChar=N beginTxChar=B middleTxChar=M endTxChar=E wholeTxChar=W insertChar=INS updateChar=UPD deleteChar=DEL endOfLine=CR justify=left includeBefores=false
File Writer Properties
# name of the output file (default to output.xml) gg.handler.filehandler.file=output.xml # append upon restart gg.handler.filehandler.append=true # rollover when file size is reached (default to 10M) gg.handler.filehandler.rollover.size=5M
Standard JMS Properties
# destination to use gg.handler.jmshandler.destination=gg.myqueue # jms user and password gg.handler.jmshandler.user gg.handler.jmshandler.password # queue or topic gg.handler.jmshandler.queueortopic=queue # persistent destination or not gg.handler.jmshandler.persistent=true | false # JMS priority (default to 4) gg.handler.jmshandler.priority=0 - 9 # timetolive (default to zero) gg.handler.jmshandler.timetolive=0 # connection factory gg.handler.jmshandler.connectionfactory gg.handler.jmshandler.usejndi=true | false # if usejndi=false gg.handler.jmshandler.connectionUrl=tcp://host:61616?jms.useAsyncSend=true gg.handler.jmshandler.connection.factoryclass # for testing purpose, stop sending JMS messages gg.handlerlist.nop=true # include from a property file gg.handler.jmshandler.properties=activemq-default.properties
General Properties
# set additional classpath gg.classpath # template for customizing the report format gg.report.format