{"id":707,"date":"2015-04-15T07:50:26","date_gmt":"2015-04-15T16:50:26","guid":{"rendered":"http:\/\/blog.box.kr\/?p=707"},"modified":"2015-04-15T07:50:26","modified_gmt":"2015-04-15T16:50:26","slug":"tips-spring-hibernate-%ec%bb%a4%eb%84%a5%ec%85%98-%ed%92%80-%ec%9c%a0%ec%a7%80%ed%95%98%ea%b8%b0","status":"publish","type":"post","link":"https:\/\/blog.box.kr\/?p=707","title":{"rendered":"[Tips- Spring, hibernate] \ucee4\ub125\uc158 \ud480 \uc720\uc9c0\ud558\uae30"},"content":{"rendered":"<p><a href=\"http:\/\/www.mimul.com\/pebble\/default\/2008\/06\/24\/1214258760000.html\">http:\/\/www.mimul.com\/pebble\/default\/2008\/06\/24\/1214258760000.html<\/a><\/p>\n<p>&nbsp;<\/p>\n<p>\uae30\ubcf8\uc801\uc73c\ub85c mysql\uc740 8\uc2dc\uac04 \uc774\ud6c4\uc5d0 \ub3d9\uc791\ud558\uc9c0 \uc54a\ub294 \ucee4\ub125\uc158\uc740 \uc885\ub8cc\uc2dc\ud0b5\ub2c8\ub2e4. \uadf8\ub798\uc11c \ucee4\ub125\uc158 \ud480\uc774 \ube44\uc815\uc0c1 \uc0c1\ud0dc\uac00 \ub420 \ud655\ub960\uc774 \uc788\uc5b4 \uc544\ub798\uc640 \uac19\uc740 \uc124\uc815\uc774 \ud544\uc694\ud558\uac8c \ub429\ub2c8\ub2e4. \uae30\ubcf8\uc801\uc73c\ub85c \ub370\uc774\ud130 \uc18c\uc2a4\ub294 dbcp, c3p0 \ub450\uac1c \uc911\uc5d0 \ud558\ub098\ub97c \uc0ac\uc6a9\ud558\uc2dc\uba74 \ub418\uace0, hibernateProperties\uc5d0 c3p0 \uc18d\uc131\uc744 \ucd94\uac00\ud574\uc8fc\uba74 \ub429\ub2c8\ub2e4.<br \/>\n\ud55c\ubc88 \uc801\uc6a9\ud574\ubcf4\uc138\uc694. \uac00\ub054 TOMCAT\uacfc MySQL \uac04\uc758 CLOSE_WAIT\uac00 \ubc1c\uc0dd\ud558\ub294 \uacbd\uc6b0\ub3c4 \uc608\ubc29\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p>#The number of seconds the server waits for activity on a connection before closing it.<br \/>\nwait_timeout=28800<br \/>\n#The number of seconds the server waits for activity on an interactive connection before closing it.<br \/>\ninteractive_timeout=28800<\/p>\n<pre>&lt;bean id=\"dataSource\"\n        class=\"org.apache.commons.dbcp.BasicDataSource\"\n        destroy-method=\"close\"&gt;\n\t&lt;property name=\"driverClassName\"\n\t      value=\"${jdbc.driverClassName}\" \/&gt;\n\t&lt;property name=\"url\" value=\"${jdbc.url}\" \/&gt;\n\t&lt;property name=\"username\" value=\"${jdbc.username}\" \/&gt;\n\t&lt;property name=\"password\" value=\"${jdbc.password}\" \/&gt;\n\t&lt;property name=\"maxActive\" value=\"30\"\/&gt;\n\t&lt;property name=\"maxIdle\" value=\"10\"\/&gt;\n\t&lt;property name=\"maxWait\" value=\"20000\"\/&gt;\n\t&lt;property name=\"logAbandoned\" value=\"true\"\/&gt;\n\t&lt;property name=\"removeAbandoned\" value=\"true\"\/&gt;\n\t&lt;property name=\"removeAbandonedTimeout\" value=\"60\"\/&gt;\n\t&lt;property name=\"validationQuery\" value=\"${jdbc.validationQuery}\" \/&gt;\n\t&lt;property name=\"testOnBorrow\" value=\"true\" \/&gt;\n\t&lt;property name=\"testOnReturn\" value=\"true\" \/&gt;\n&lt;\/bean&gt;\n\ud639\uc740\n\n&lt;bean id=\"dataSource\" class=\"com.mchange.v2.c3p0.ComboPooledDataSource\"\n      destroy-method=\"close\"&gt;\n\t&lt;property name=\"driverClass\" value=\"${jdbc.driverClassName}\"\/&gt;\n\t&lt;property name=\"jdbcUrl\" value=\"${jdbc.url}\"\/&gt;\n\t&lt;property name=\"user\" value=\"${jdbc.username}\"\/&gt;\n\t&lt;property name=\"password\" value=\"${jdbc.password}\"\/&gt;\n\t&lt;property name=\"acquireRetryAttempts\" value=\"10\"&gt;&lt;\/property&gt;\n\t&lt;property name=\"preferredTestQuery\" value=\"SELECT 1;\"&gt;&lt;\/property&gt;\n\t&lt;property name=\"testConnectionOnCheckin\" value=\"true\"&gt;&lt;\/property&gt;\n\t&lt;property name=\"testConnectionOnCheckout\" value=\"false\"&gt;&lt;\/property&gt;\n\t&lt;property name=\"maxIdleTime\" value=\"300\"&gt;&lt;\/property&gt;\n\t&lt;property name=\"idleConnectionTestPeriod\" value=\"30\"&gt;&lt;\/property&gt;\n&lt;\/bean&gt;\n&lt;bean id=\"hibernateProperties\"\n        class=\"org.springframework.beans.factory.config.PropertiesFactoryBean\"&gt;\n\t&lt;property name=\"properties\"&gt;\n\t\t&lt;props&gt;\n\t\t    &lt;prop key=\"hibernate.dialect\"&gt;${hibernate.dialect}&lt;\/prop&gt;\n\t\t    &lt;prop key=\"hibernate.show_sql\"&gt;${hibernate.show_sql}&lt;\/prop&gt;\n\t\t    &lt;prop key=\"hibernate.hbm2ddl.auto\"&gt;\n\t \t\t\t${hibernate.hbm2ddl.auto}&lt;\/prop&gt;\n\t\t    &lt;prop key=\"jdbc.fetch_size\"&gt;50&lt;\/prop&gt;\n\t\t    &lt;prop key=\"jdbc.batch_size\"&gt;25&lt;\/prop&gt;\n\t\t    &lt;prop key=\"hibernate.cache.use_query_cache\"&gt;true&lt;\/prop&gt;\n\t\t    &lt;prop key=\"hibernate.cache.provider_class\"&gt;\n\t\t    \torg.hibernate.cache.EhCacheProvider&lt;\/prop&gt;\n\t\t    &lt;prop key=\"hibernate.query.substitutions\"&gt;\n                         true 1,false 0&lt;\/prop&gt;\n\t\t    &lt;prop key=\"hibernate.c3p0.initialPoolSize\"&gt;10&lt;\/prop&gt;\n\t\t    &lt;prop key=\"hibernate.c3p0.minPoolSize\"&gt;10&lt;\/prop&gt;\n\t\t    &lt;prop key=\"hibernate.c3p0.maxPoolSize\"&gt;50&lt;\/prop&gt;\n\t\t    &lt;prop key=\"hibernate.c3p0.acquireIncrement\"&gt;2&lt;\/prop&gt;\n\t\t    &lt;prop key=\"hibernate.c3p0.timeout\"&gt;10&lt;\/prop&gt;\n\t\t    &lt;prop key=\"hibernate.c3p0.max_statement\"&gt;50&lt;\/prop&gt;\n\t\t    &lt;!-- dataSource\uac00 c3p0 \uc77c\uacbd\uc6b0 \uc0dd\ub7b5 --&gt;\n\t\t    &lt;prop key=\"hibernate.c3p0.testConnectionOnCheckin\"&gt;\n                         true&lt;\/prop&gt;\n\t\t    &lt;!-- dataSource\uac00 c3p0 \uc77c\uacbd\uc6b0 \uc0dd\ub7b5 --&gt;\n\t\t    &lt;prop key=\"hibernate.c3p0.testConnectionOnCheckout\"&gt;\n                         false&lt;\/prop&gt;\n\t\t    &lt;prop key=\"hibernate.c3p0.maxStatementsPerConnection\"&gt;\n                         5&lt;\/prop&gt;\n\t\t    &lt;!-- dataSource\uac00 c3p0 \uc77c\uacbd\uc6b0 \uc0dd\ub7b5 --&gt;\n\t\t    &lt;prop key=\"hibernate.c3p0.maxIdleTime\"&gt;300&lt;\/prop&gt;\n\t\t    &lt;prop key=\"hibernate.c3p0.maxConnectionAge\"&gt;14400&lt;\/prop&gt;\n\t\t    &lt;prop key=\"hibernate.c3p0.acquireRetryAttempts\"&gt;10&lt;\/prop&gt;\n\t\t    &lt;prop key=\"hibernate.c3p0.preferredTestQuery\"&gt;\n                         SELECT 1;&lt;\/prop&gt;\n\t\t    &lt;!-- dataSource\uac00 c3p0 \uc77c\uacbd\uc6b0 \uc0dd\ub7b5 --&gt;\n\t\t    &lt;prop key=\"hibernate.c3p0.idleConnectionTestPeriod\"&gt;\n                         300&lt;\/prop&gt;\n\t\t&lt;\/props&gt;\n\t&lt;\/property&gt;\n&lt;\/bean&gt;<\/pre>\n<p>PS : \uc704\uc758 \uc124\uc815\uc758 dataSource\ubd80\ubd84\uc5d0\uc11c com.mchange.v2.c3p0.ComboPooledDataSource \ub77c\uc774\ube0c\ub7ec\ub9ac\ub97c \ud65c\uc6a9\ud560 \uacbd\uc6b0\uc5d0\ub294 <a href=\"http:\/\/www.mchange.com\/projects\/c3p0\/index.html\">c3p0 &#8211; JDBC3 Connection and Statement Pooling<\/a>\uc744 \ub2e4\uc6b4\ubc1b\uc544\uc11c WEB-INF\/lib\uc5d0 \uce74\ud53c\ud574\uc57c\ud568.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>http:\/\/www.mimul.com\/pebble\/default\/2008\/06\/24\/1214258760000.html &nbsp; \uae30\ubcf8\uc801\uc73c\ub85c mysql\uc740 8\uc2dc\uac04 \uc774\ud6c4\uc5d0 \ub3d9\uc791\ud558\uc9c0 \uc54a\ub294 \ucee4\ub125\uc158\uc740 \uc885\ub8cc\uc2dc\ud0b5\ub2c8\ub2e4. \uadf8\ub798\uc11c \ucee4\ub125\uc158 \ud480\uc774 \ube44\uc815\uc0c1 \uc0c1\ud0dc\uac00 \ub420 \ud655\ub960\uc774 \uc788\uc5b4 \uc544\ub798\uc640 \uac19\uc740 \uc124\uc815\uc774 \ud544\uc694\ud558\uac8c \ub429\ub2c8\ub2e4. \uae30\ubcf8\uc801\uc73c\ub85c \ub370\uc774\ud130 \uc18c\uc2a4\ub294 dbcp, c3p0 \ub450\uac1c \uc911\uc5d0 \ud558\ub098\ub97c \uc0ac\uc6a9\ud558\uc2dc\uba74 \ub418\uace0, hibernateProperties\uc5d0 c3p0 \uc18d\uc131\uc744 \ucd94\uac00\ud574\uc8fc\uba74 \ub429\ub2c8\ub2e4. \ud55c\ubc88 \uc801\uc6a9\ud574\ubcf4\uc138\uc694. \uac00\ub054 TOMCAT\uacfc MySQL \uac04\uc758 CLOSE_WAIT\uac00 \ubc1c\uc0dd\ud558\ub294 \uacbd\uc6b0\ub3c4 \uc608\ubc29\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. #The number of seconds the server waits for activity on a connection before closing it. wait_timeout=28800 #The number of seconds the server waits for activity on an interactive connection before closing it. interactive_timeout=28800 &lt;bean id=&#8221;dataSource&#8221; class=&#8221;org.apache.commons.dbcp.BasicDataSource&#8221; destroy-method=&#8221;close&#8221;&gt; &lt;property name=&#8221;driverClassName&#8221; value=&#8221;${jdbc.driverClassName}&#8221; \/&gt; &lt;property name=&#8221;url&#8221; value=&#8221;${jdbc.url}&#8221; \/&gt; &lt;property name=&#8221;username&#8221; value=&#8221;${jdbc.username}&#8221; \/&gt; &lt;property name=&#8221;password&#8221; value=&#8221;${jdbc.password}&#8221; \/&gt; &lt;property name=&#8221;maxActive&#8221; value=&#8221;30&#8243;\/&gt; &lt;property name=&#8221;maxIdle&#8221; value=&#8221;10&#8243;\/&gt; &lt;property name=&#8221;maxWait&#8221; value=&#8221;20000&#8243;\/&gt; &lt;property name=&#8221;logAbandoned&#8221; value=&#8221;true&#8221;\/&gt; &lt;property name=&#8221;removeAbandoned&#8221; value=&#8221;true&#8221;\/&gt; &lt;property name=&#8221;removeAbandonedTimeout&#8221; value=&#8221;60&#8243;\/&gt; &lt;property name=&#8221;validationQuery&#8221; value=&#8221;${jdbc.validationQuery}&#8221; \/&gt; &lt;property name=&#8221;testOnBorrow&#8221; value=&#8221;true&#8221; \/&gt; &lt;property name=&#8221;testOnReturn&#8221; value=&#8221;true&#8221; \/&gt; &lt;\/bean&gt; \ud639\uc740 &lt;bean id=&#8221;dataSource&#8221; class=&#8221;com.mchange.v2.c3p0.ComboPooledDataSource&#8221; destroy-method=&#8221;close&#8221;&gt; &lt;property name=&#8221;driverClass&#8221; value=&#8221;${jdbc.driverClassName}&#8221;\/&gt; &lt;property name=&#8221;jdbcUrl&#8221; value=&#8221;${jdbc.url}&#8221;\/&gt; &lt;property name=&#8221;user&#8221; value=&#8221;${jdbc.username}&#8221;\/&gt; &lt;property name=&#8221;password&#8221; value=&#8221;${jdbc.password}&#8221;\/&gt; &lt;property name=&#8221;acquireRetryAttempts&#8221; value=&#8221;10&#8243;&gt;&lt;\/property&gt; &lt;property name=&#8221;preferredTestQuery&#8221; value=&#8221;SELECT 1;&#8221;&gt;&lt;\/property&gt; &lt;property name=&#8221;testConnectionOnCheckin&#8221; value=&#8221;true&#8221;&gt;&lt;\/property&gt; &lt;property name=&#8221;testConnectionOnCheckout&#8221; value=&#8221;false&#8221;&gt;&lt;\/property&gt; &lt;property name=&#8221;maxIdleTime&#8221; value=&#8221;300&#8243;&gt;&lt;\/property&gt; &lt;property name=&#8221;idleConnectionTestPeriod&#8221; value=&#8221;30&#8243;&gt;&lt;\/property&gt; &lt;\/bean&gt; &lt;bean id=&#8221;hibernateProperties&#8221; class=&#8221;org.springframework.beans.factory.config.PropertiesFactoryBean&#8221;&gt; &lt;property name=&#8221;properties&#8221;&gt; &lt;props&gt; &lt;prop key=&#8221;hibernate.dialect&#8221;&gt;${hibernate.dialect}&lt;\/prop&gt; &lt;prop key=&#8221;hibernate.show_sql&#8221;&gt;${hibernate.show_sql}&lt;\/prop&gt; &lt;prop key=&#8221;hibernate.hbm2ddl.auto&#8221;&gt; ${hibernate.hbm2ddl.auto}&lt;\/prop&gt; &lt;prop key=&#8221;jdbc.fetch_size&#8221;&gt;50&lt;\/prop&gt; &lt;prop key=&#8221;jdbc.batch_size&#8221;&gt;25&lt;\/prop&gt; &lt;prop key=&#8221;hibernate.cache.use_query_cache&#8221;&gt;true&lt;\/prop&gt; &lt;prop key=&#8221;hibernate.cache.provider_class&#8221;&gt; org.hibernate.cache.EhCacheProvider&lt;\/prop&gt; &lt;prop key=&#8221;hibernate.query.substitutions&#8221;&gt; true 1,false 0&lt;\/prop&gt; &lt;prop key=&#8221;hibernate.c3p0.initialPoolSize&#8221;&gt;10&lt;\/prop&gt; [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_mi_skip_tracking":false,"ngg_post_thumbnail":0,"spay_email":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false,"jetpack_publicize_feature_enabled":true},"categories":[5,7],"tags":[],"aioseo_notices":[],"jetpack_featured_media_url":"","jetpack_publicize_connections":[],"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p5q9Zn-bp","jetpack-related-posts":[{"id":653,"url":"https:\/\/blog.box.kr\/?p=653","url_meta":{"origin":707,"position":0},"title":"[\ud38c]Too many connection \ubb38\uc81c \ud574\uacb0","date":"2015-04-05","format":false,"excerpt":"http:\/\/netholic.tistory.com\/116 \u00a0 \u00a0 \uc774\ubc88\ud574 \ucd08\ubd80\ud130 \uc2dc\uc791\ub41c too many connection \ubb38\uc81c\uac00 \ud558\ub8e8\uc5d0 \ud55c\ubc88\uc529 mysql \uc744 \ubed7\uac8c \ub9cc\ub4e4\uc5c8\ub2e4. \ub418\ub294\ub300\ub85c... \uc544\ubb34\uac83\ub3c4 \ubaa8\ub978\ucc44\ub85c \ub9cc\ub4e0 \uc6b4\uc601\ud234\uc774 \uadf8 \uc6d0\uc778... \ucffc\ub9ac\ub3c4 10\ucd08 \uc774\uc0c1 \uac78\ub9ac\ub294 \uac83\ub3c4 \uc874\uc7ac\ud588\uace0..\uc778\ub371\uc2a4\ub3c4 \uc81c\ub300\ub85c \uc548\uac78\ub824\uc788\uace0.. \uadf8\ub798\uc11c \uc2ac\ub85c\uc6b0 \ucffc\ub9ac\ub97c \uc7a1\uace0 \uc778\ub371\uc2a4\ub3c4 \uc81c\ub300\ub85c \uac78\uc5b4\uc11c...\uadf8\ub7f0 \ucffc\ub9ac\ubb38\uc81c\ub97c \uc5c6\uc570\uc73c\ub85c\uc11c \ucee4\ub125\uc158 \ubb38\uc81c\ub294 \uc5c6\uc5b4\uc9c8 \uc904 \uc54c\uc558\ub2e4. \uadf8\ub7f0\ub370 \uc5ec\uc804\ud788 \ud558\ub8e8\uc5d0 \ud55c\ubc88\uc529...\uc11c\ubc84\ub97c \ub0b4\ub838\ub2e4\u2026","rel":"","context":"In &quot;\uae30\uc220\uc790\ub8cc&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":592,"url":"https:\/\/blog.box.kr\/?p=592","url_meta":{"origin":707,"position":1},"title":"[\ud38c]Spring ChainedTransactionManager \uc5b4\ub5bb\uac8c \uc0ac\uc6a9\ud574\uc57c \ud558\ub098?","date":"2015-01-30","format":false,"excerpt":"\ub2e4\uc911\ud2b8\ub79c\uc7ad\uc158\uc5d0 \ub300\ud55c \uc88b\uc744 \uae00.. \u00a0 \u00a0 http:\/\/kwon37xi.egloos.com\/4886947 \u00a0 Spring ChainedTransactionManager \uc5b4\ub5bb\uac8c \uc0ac\uc6a9\ud574\uc57c \ud558\ub098? \ud504\ub85c\uadf8\ub798\ubc0d by \uad8c\ub0a8 2014\/07\/12 18:13 kwon37xi.egloos.com\/4886947 \ub367\uae00\uc218 : 0 Spring Data Commons 1.6\uc5d0\ub294 ChainedTransactionManager\ub77c\ub294 \uac83\uc774 \ucd94\uac00 \ub3fc \uc788\ub2e4 \ud558\ub098\uc758 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc5d0\uc11c \uc5ec\ub7ec \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc5d0 \uc811\uadfc\ud560 \ub54c @Transactional \uc560\ub178\ud14c\uc774\uc158\uc744 \ud1b5\ud574 \ud2b8\ub79c\uc7ad\uc158\uc744 \uc7a1\uc544\uc904 \ub54c \uc5ec\ub7ec \ub370\uc774\ud130\uc18c\uc2a4(DataSource)\uc758 \ud2b8\ub79c\uc7ad\uc158 \ub9e4\ub2c8\uc800(Transaction Manager)\ub97c \ub530\ub85c\ub530\ub85c \uc9c0\uc815\ud574\uc11c\u2026","rel":"","context":"In &quot;JAVA&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":720,"url":"https:\/\/blog.box.kr\/?p=720","url_meta":{"origin":707,"position":2},"title":"[\ud38c]Java \uc5d0\uc11c DataBase Replication Master\/Slave (write\/read) \ubd84\uae30 \ucc98\ub9ac\ud558\uae30","date":"2015-04-15","format":false,"excerpt":"http:\/\/kwon37xi.egloos.com\/ \ub300\uaddc\ubaa8 \uc11c\ube44\uc2a4 \uac1c\ubc1c\uc2dc\uc5d0 \uac00\uc7a5 \uae30\ubcf8\uc801\uc73c\ub85c \ud558\ub294 \ud29c\ub2dd\uc740 \ubc14\ub85c \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc5d0\uc11c Write\uc640 Read DB\ub97c Replication(\ub9ac\ud50c\ub9ac\ucf00\uc774\uc158)\ud558\uace0 \uc4f0\uae30 \uc791\uc5c5\uc740 Master(Write)\ub85c \ubcf4\ub0b4\uace0 \uc77d\uae30 \uc791\uc5c5\uc740 Slave(Read)\ub85c \ubcf4\ub0b4\uc5b4 \ubd80\ud558\ub97c \ubd84\uc0b0 \uc2dc\ud0a4\ub294 \uac83\uc774\ub2e4. \ud2b9\ud788 \ub300\ubd80\ubd84\uc758 \uc11c\ube44\uc2a4\ub294 \uc77d\uae30\uac00 \uc555\ub3c4\uc801\uc73c\ub85c \ub9ce\uae30 \ub54c\ubb38\uc5d0\u00a0 Slave\ub294 \uc5ec\ub7ec \ub300\ub97c \ub450\uc5b4 \uc77d\uae30 \ubd80\ud558\ub97c \ubd84\uc0b0 \uc2dc\ud0a8\ub2e4. \uadf8\ub7f0\ub370 \ub610 \ud558\ub098 \uae30\uc5b5\ud574\uc57c \ud560 \uac83\uc774 Replication\uc740 \ube44\ub85d \uc9e7\ub354\ub77c\ub3c4\u2026","rel":"","context":"In &quot;JAVA&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":590,"url":"https:\/\/blog.box.kr\/?p=590","url_meta":{"origin":707,"position":3},"title":"[\ud38c]Java \uc5d0\uc11c DataBase Replication Master\/Slave (write\/read) \ubd84\uae30 \ucc98\ub9ac\ud558\uae30 \ud504\ub85c\uadf8\ub798\ubc0d","date":"2015-01-30","format":false,"excerpt":"Cloud\ud658\uacbd\uc5d0\uc11c DB\ub97c \uc0ac\uc6a9\ud558\ub2e4\ubcf4\ub2c8 Disk I\/O\ub098 \ub108\ubb34 \ub290\ub824\uc11c \ub9ce\uc740 \uace0\ubbfc\uc744 \ud558\uac8c \ub410\ub2e4. \uc77c\ub2e8 \uc0dd\uac01\ub098\ub294\uac83\uc774 \ub9ce\uc774 \ub4e4 \ud558\ub294 Replication\uc744 \uc774\uc6a9\ud55c \ubd80\ud558\ubd84\uc0b0 ( Master\ub294 Insert\/Update\ub9cc, Slave\ub294 SELECT\ub9cc ) \uadf8\ub7f0\ub370 \ub9c9\uc0c1 \ud560\ub824\uba74 \uc774\uac83 \uc800\uac83 \uc190\uc774 \ub9ce\uc774 \uac04\ub2e4.. \uadf8\ub798\uc11c.. \uc0dd\uac01\ub9cc \ud558\uace0 \uc801\uc6a9\uc744 \uc548\ud588\uc5c8\ub294\ub370.. \u00a0 \uc6f9\uc11c\ud551\uc744 \ud558\ub2e4\uac00 \uc774\ub7f0 \uae00\uc744 \ubc1c\uacac.. \uc544!! \uc774\ub807\uac8c \uc88b\uc744 \uc218\uac00.. \u00a0 \uc5ed\uc2dc\u2026","rel":"","context":"In &quot;JAVA&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":135,"url":"https:\/\/blog.box.kr\/?p=135","url_meta":{"origin":707,"position":4},"title":"Tomcat MySQL Connection &#8211; Using JDBC to Connect Tomcat to MySQL","date":"2014-06-24","format":false,"excerpt":"Tomcat MySQL Connection - Using JDBC to Connect Tomcat to MySQL Stumped by Tomcat JDBC connections? Can't get your head around MySQL drivers, connection pools, and JNDI resources? This article will guide you step-by-step through\u00a0connecting your MySQL database to Tomcat, in plain English. Along the way, we'll also cover setting\u2026","rel":"","context":"In &quot;WAS, Servet Containers&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":170,"url":"https:\/\/blog.box.kr\/?p=170","url_meta":{"origin":707,"position":5},"title":"[\uac1c\ubc1c\ud301] Spring + Quartz\uc5d0\uc11c \ud30c\ub77c\ubbf8\ud130\ub97c \uac00\uc838\uc624\ub294 \ubc29\ubc95","date":"2014-07-08","format":false,"excerpt":"\uc77c\uc804\uc5d0\u00a0\uc608\uc57d\uc791\uc5c5\uc744 \uc2e4\ud589\ud558\ub294 \uba87\uac00\uc9c0 \ubc29\ubc95\uc5d0 \ub300\ud574 \uc0b4\ud3b4\ubd24\ub294\ub370\uc5ec.. Spring + Quartz\ub97c \uc774\uc6a9\ud560\ub54c \uc0ac\uc6a9\uc790 \ud30c\ub77c\ubbf8\ud130\ub97c Job \uc124\uc815\ud30c\uc77c\uc5d0 \ub4f1\ub85d\ud558\uace0 \uc2e4\ud589\uc2dc \uc774\ub97c \uac00\uc838\uc62c \uc218 \uc788\uc2b5\ub2c8\ub2e4.. \uba3c\uc800 Job \uc124\uc815\ud30c\uc77c\uc5d0 \uc544\ub798\uc640 \uac19\uc774 \uc0ac\uc6a9\uc790 \ud30c\ub77c\ubbf8\ud130\ub97c \ucd94\uac00\ud558\uace0 <bean id=\"MyJob\" class=\"org.springframework.scheduling.quartz.JobDetailBean\"> <property name=\"jobClass\" value=\"net.openintegration.sample.scheduling.MySpringQuartzJob\" \/> <property name=\"jobDataAsMap\"> <map> \u00a0\u00a0\u00a0<entry key=\"timeout\" value=\"5\" \/> \u00a0\u00a0\u00a0<!--entry key=\"timeout\"><value>5<\/value><\/entry--> <\/map> <\/property> <\/bean> \uc544\ub798\uc640 \uac19\uc774 \ubd88\ub7ec\uc624\uba74\u2026","rel":"","context":"In &quot;JAVA&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"_links":{"self":[{"href":"https:\/\/blog.box.kr\/index.php?rest_route=\/wp\/v2\/posts\/707"}],"collection":[{"href":"https:\/\/blog.box.kr\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.box.kr\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.box.kr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.box.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=707"}],"version-history":[{"count":0,"href":"https:\/\/blog.box.kr\/index.php?rest_route=\/wp\/v2\/posts\/707\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.box.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=707"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.box.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=707"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.box.kr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=707"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}