{"id":1710,"date":"2010-07-20T15:28:42","date_gmt":"2010-07-20T20:28:42","guid":{"rendered":"http:\/\/jianmingli.com\/wp\/?p=1710"},"modified":"2011-02-16T11:12:40","modified_gmt":"2011-02-16T16:12:40","slug":"goldengate-java-adapter-properties","status":"publish","type":"post","link":"https:\/\/jianmingli.com\/wp\/?p=1710","title":{"rendered":"GoldenGate: Java Adapter Properties"},"content":{"rendered":"<span id=\"Properties\"><h2>Properties<\/h2><\/span>\n<p>* Two kinds of properties:<br \/>\n&#8211; User exit properties<br \/>\n&#8211; Java application properties<br \/>\n* Set property file locations in user exit extract parameter file<\/p>\n<pre lang=\"bash\">\r\nSetEnv ( GGS_USEREXIT_CONF = \"dirprm\/cuserexit.properties\" )\r\nSetEnv ( GGS_JAVAUSEREXIT_CONF = \"dirprm\/javaue.properties\" )\r\n<\/pre>\n<span id=\"User_Exit_Properties\"><h3>User Exit Properties<\/h3><\/span>\n<span id=\"Logging_Properties\"><h4>Logging Properties<\/h4><\/span>\n<pre lang=\"bash\">\r\n# log file name prefix\r\ngoldengate.log.logname=cuserexit\r\n# log level\r\ngoldengate.log.level=ERROR | WARN | INFO | DEBUG\r\n# where to log\r\ngoldengate.log.tostdout=false\r\ngoldengate.log.tofile=true\r\n# advanced logging\r\ngoldengate.log.modules=GENUSEREXIT,LOGMALLOC,JAVAWRITER\r\ngoldengate.log.level.LOGMALLOC=ERROR\r\n<\/pre>\n<span id=\"Generic_Properties\"><h4>Generic Properties<\/h4><\/span>\n<pre lang=\"bash\">\r\n# do not change this\r\ngoldengate.userexit.writers=javawriter\r\n# user exit checkpoint file prefix\r\ngoldengate.userexit.chkptprefix=javaue_\r\n<\/pre>\n<span id=\"JVM_Boot_Options\"><h4>JVM Boot Options<\/h4><\/span>\n<pre lang=\"bash\">\r\njavawriter.bootoptions=-Djava.class.path=javaue\/ggue.jar -Dlog4j.configuration=log4j.properties -Xmx256m -Xms128m\r\n<\/pre>\n<span id=\"Statistics_and_Reporting\"><h4>Statistics and Reporting<\/h4><\/span>\n<pre lang=\"bash\">\r\njavawriter.stats.display=TRUE\r\n# output both Java and C statistics\r\njavawriter.stats.full=TRUE\r\n# report statistics every 10 min (default is 1 hr)\r\njavawriter.stats.time=600\r\n# report statistics every 600 records (default is 10000 records)\r\njavawriter.stats.numrecs=100\r\n<\/pre>\n<span id=\"Java_Application_Properties\"><h3>Java Application Properties<\/h3><\/span>\n<span id=\"Properties_for_All_Handlers\"><h4>Properties for All Handlers<\/h4><\/span>\n<pre lang=\"bash\">\r\n# what handler(s) to use\r\ngg.handlerlist=handler1, handler2\r\n# handler type\r\ngg.handler.handler1.type={jms | jms_map | singlefile | rolling | stdout | stderr | log | com.foo.MyHandler}\r\n<\/pre>\n<span id=\"Properties_for_Formatting_Output\"><h4>Properties for Formatting Output<\/h4><\/span>\n<pre lang=\"bash\">\r\n# formatting (default to built-in XML formatter)\r\n# use Velocity template for formatting\r\ngg.handler.handler1.format=path\/to\/sample.vm\r\n# use custom Java class for formatting\r\ngg.handler.handler1.format=com.mycompany.MyFormat\r\n\r\n# include tables\r\ngg.handler.handler1.includeTables=foo.customer, bar.orders\r\n# exclude tables\r\ngg.handler.handler1.excludeTables=dt_modifydate\r\n\r\n# output one operation (op) or one transactioni (tx) per message\r\ngg.handler.handler1.mode=op | tx\r\n# use with custom formatter\r\ngg.handler .handler1.format.mode\r\n<\/pre>\n<span id=\"Properties_for_CSV_and_Fixed-format_Output\"><h4>Properties for CSV and Fixed-format Output<\/h4><\/span>\n<pre lang=\"bash\">\r\ngg.handler.my_jms_handler1.type=jms_text\r\ngg.handler.my_jms_handler1.format=csv | fixed\r\ngg.handler.my_jms_handler1.properties=\/dirprm\/my.properties\r\n\r\n##############\r\n# in my.properties  #\r\n##############\r\ndelim=,\r\nquote='\r\nmetacols=opcode, table, txind, position\r\n\r\nmissingColumnChar=M\r\npresentColumnChar=P\r\nnullColumnChar=N\r\n\r\nbeginTxChar=B\r\nmiddleTxChar=M\r\nendTxChar=E\r\nwholeTxChar=W\r\n\r\ninsertChar=INS\r\nupdateChar=UPD\r\ndeleteChar=DEL\r\n\r\nendOfLine=CR\r\njustify=left\r\nincludeBefores=false\r\n<\/pre>\n<span id=\"File_Writer_Properties\"><h4>File Writer Properties<\/h4><\/span>\n<pre lang=\"bash\">\r\n# name of the output file (default to output.xml)\r\ngg.handler.filehandler.file=output.xml\r\n# append upon restart\r\ngg.handler.filehandler.append=true\r\n# rollover when file size is reached (default to 10M)\r\ngg.handler.filehandler.rollover.size=5M\r\n<\/pre>\n<span id=\"Standard_JMS_Properties\"><h4>Standard JMS Properties<\/h4><\/span>\n<pre lang=\"bash\">\r\n# destination to use\r\ngg.handler.jmshandler.destination=gg.myqueue\r\n# jms user and password\r\ngg.handler.jmshandler.user\r\ngg.handler.jmshandler.password\r\n# queue or topic\r\ngg.handler.jmshandler.queueortopic=queue\r\n# persistent destination or not\r\ngg.handler.jmshandler.persistent=true | false\r\n# JMS priority (default to 4)\r\ngg.handler.jmshandler.priority=0 - 9\r\n# timetolive (default to zero)\r\ngg.handler.jmshandler.timetolive=0\r\n# connection factory\r\ngg.handler.jmshandler.connectionfactory\r\ngg.handler.jmshandler.usejndi=true | false\r\n# if usejndi=false\r\ngg.handler.jmshandler.connectionUrl=tcp:\/\/host:61616?jms.useAsyncSend=true\r\ngg.handler.jmshandler.connection.factoryclass\r\n# for testing purpose, stop sending JMS messages\r\ngg.handlerlist.nop=true\r\n\r\n# include from a property file\r\ngg.handler.jmshandler.properties=activemq-default.properties<\/pre>\n<span id=\"General_Properties\"><h4>General Properties<\/h4><\/span>\n<pre lang=\"bash\">\r\n# set additional classpath\r\ngg.classpath\r\n# template for customizing the report format\r\ngg.report.format\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Properties * Two kinds of properties: &#8211; User exit properties &#8211; Java application properties * Set property file locations in user exit extract parameter file SetEnv ( GGS_USEREXIT_CONF = &#8220;dirprm\/cuserexit.properties&#8221; ) SetEnv ( GGS_JAVAUSEREXIT_CONF = &#8220;dirprm\/javaue.properties&#8221; ) User Exit Properties &hellip; <a href=\"https:\/\/jianmingli.com\/wp\/?p=1710\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[88],"tags":[],"class_list":["post-1710","post","type-post","status-publish","format-standard","hentry","category-goldengate"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p8cRUO-rA","_links":{"self":[{"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=\/wp\/v2\/posts\/1710","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1710"}],"version-history":[{"count":2,"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=\/wp\/v2\/posts\/1710\/revisions"}],"predecessor-version":[{"id":1942,"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=\/wp\/v2\/posts\/1710\/revisions\/1942"}],"wp:attachment":[{"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1710"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1710"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1710"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}