{"id":170,"date":"2014-07-08T23:08:06","date_gmt":"2014-07-09T08:08:06","guid":{"rendered":"http:\/\/blog.box.kr\/?p=170"},"modified":"2014-07-08T23:08:06","modified_gmt":"2014-07-09T08:08:06","slug":"%ea%b0%9c%eb%b0%9c%ed%8c%81-spring-quartz%ec%97%90%ec%84%9c-%ed%8c%8c%eb%9d%bc%eb%af%b8%ed%84%b0%eb%a5%bc-%ea%b0%80%ec%a0%b8%ec%98%a4%eb%8a%94-%eb%b0%a9%eb%b2%95","status":"publish","type":"post","link":"https:\/\/blog.box.kr\/?p=170","title":{"rendered":"[\uac1c\ubc1c\ud301] Spring + Quartz\uc5d0\uc11c \ud30c\ub77c\ubbf8\ud130\ub97c \uac00\uc838\uc624\ub294 \ubc29\ubc95"},"content":{"rendered":"<p style=\"color: #000000;\">\uc77c\uc804\uc5d0\u00a0<a title=\"[http:\/\/\/6]\ub85c \uc774\ub3d9\ud569\ub2c8\ub2e4.\" href=\"http:\/\/www.openintegration.net\/6\" target=\"_blank\"><span style=\"color: #7dbb1c;\">\uc608\uc57d\uc791\uc5c5\uc744 \uc2e4\ud589\ud558\ub294 \uba87\uac00\uc9c0 \ubc29\ubc95<\/span><\/a>\uc5d0 \ub300\ud574 \uc0b4\ud3b4\ubd24\ub294\ub370\uc5ec..<\/p>\n<p>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<br \/>\n\uc2e4\ud589\uc2dc \uc774\ub97c \uac00\uc838\uc62c \uc218 \uc788\uc2b5\ub2c8\ub2e4..<\/p>\n<p><strong>\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<br \/>\n<\/strong><\/p>\n<div class=\"txc-textbox\" style=\"color: #000000;\">\n&lt;bean id=&#8221;MyJob&#8221; class=&#8221;org.springframework.scheduling.quartz.JobDetailBean&#8221;&gt;<br \/>\n&lt;property name=&#8221;jobClass&#8221; value=&#8221;net.openintegration.sample.scheduling.MySpringQuartzJob&#8221; \/&gt;<br \/>\n&lt;property name=&#8221;jobDataAsMap&#8221;&gt;<br \/>\n&lt;map&gt;<br \/>\n<strong>\u00a0\u00a0\u00a0&lt;entry key=&#8221;timeout&#8221; value=&#8221;5&#8243; \/&gt;<br \/>\n<\/strong>\u00a0\u00a0\u00a0&lt;!&#8211;entry key=&#8221;timeout&#8221;&gt;&lt;value&gt;5&lt;\/value&gt;&lt;\/entry&#8211;&gt;<br \/>\n&lt;\/map&gt;<br \/>\n&lt;\/property&gt;<br \/>\n&lt;\/bean&gt;<\/p>\n<\/div>\n<p style=\"color: #000000;\">\n<strong>\uc544\ub798\uc640 \uac19\uc774 \ubd88\ub7ec\uc624\uba74 \ub429\ub2c8\ub2e4..<\/strong><\/p>\n<div class=\"txc-textbox\" style=\"color: #000000;\">\nJobDataMap param = context.getJobDetail().getJobDataMap();<br \/>\nString timeout = param.getString(&#8220;timeout&#8221;);\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>\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 &lt;bean id=&#8221;MyJob&#8221; class=&#8221;org.springframework.scheduling.quartz.JobDetailBean&#8221;&gt; &lt;property name=&#8221;jobClass&#8221; value=&#8221;net.openintegration.sample.scheduling.MySpringQuartzJob&#8221; \/&gt; &lt;property name=&#8221;jobDataAsMap&#8221;&gt; &lt;map&gt; \u00a0\u00a0\u00a0&lt;entry key=&#8221;timeout&#8221; value=&#8221;5&#8243; \/&gt; \u00a0\u00a0\u00a0&lt;!&#8211;entry key=&#8221;timeout&#8221;&gt;&lt;value&gt;5&lt;\/value&gt;&lt;\/entry&#8211;&gt; &lt;\/map&gt; &lt;\/property&gt; &lt;\/bean&gt; \uc544\ub798\uc640 \uac19\uc774 \ubd88\ub7ec\uc624\uba74 \ub429\ub2c8\ub2e4.. JobDataMap param = context.getJobDetail().getJobDataMap(); String timeout = param.getString(&#8220;timeout&#8221;);<\/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":[15,7],"tags":[],"aioseo_notices":[],"jetpack_featured_media_url":"","jetpack_publicize_connections":[],"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p5q9Zn-2K","jetpack-related-posts":[{"id":707,"url":"https:\/\/blog.box.kr\/?p=707","url_meta":{"origin":170,"position":0},"title":"[Tips- Spring, hibernate] \ucee4\ub125\uc158 \ud480 \uc720\uc9c0\ud558\uae30","date":"2015-04-15","format":false,"excerpt":"http:\/\/www.mimul.com\/pebble\/default\/2008\/06\/24\/1214258760000.html \u00a0 \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.\u2026","rel":"","context":"In &quot;\uae30\uc220\uc790\ub8cc&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":375,"url":"https:\/\/blog.box.kr\/?p=375","url_meta":{"origin":170,"position":1},"title":"spring mybatis @Repository","date":"2014-09-15","format":false,"excerpt":"\u00a0 http:\/\/blog.naver.com\/PostView.nhn?blogId=vikong&logNo=60180414100 application-context.xml \u00a0 1) @Respository \ub85c DAO scanning \ubc0f bean \uc124\uc815 \ubb38\uc7a5 <context:component-scan base-package=\"trust.repository\" use-default-filters=\"false\"> <context:include-filter type=\"annotation\" expression=\"org.springframework.stereotype.Repository\" \/> <\/context:component-scan> \u00a0 2) @Transactional \uc744 \uc704\ud55c \uc124\uc815 \ubb38\uc7a5 <!-- enable the configuration of transactional behavior based on annotations --> <tx:annotation-driven transaction-manager=\"txManager\" proxy-target-class=\"true\"\/> \u00a0 <!-- a PlatformTransactionManager is still required -->\u2026","rel":"","context":"In &quot;\ucc38\uace0\ub97c \uc704\ud55c \uc800\uc7a5\ubb3c&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":74,"url":"https:\/\/blog.box.kr\/?p=74","url_meta":{"origin":170,"position":2},"title":"Logging\uc124\uc815 for JEUS5","date":"2014-06-12","format":false,"excerpt":"Logging\uc124\uc815 for JEUS5 \uc18c\uac1c \uc774 \ubb38\uc11c\ub294 JEUS 5\uc758 \uc6f9 \uad00\ub9ac\uc790\ub97c \uc0ac\uc6a9\ud55c logging \uc124\uc815 \ubc29\ubc95 \ubc0f customization \ubc29\ubc95, log4j \uc0ac\uc6a9\ubc95 \ub4f1\uc744 \uc124\uba85\ud55c\ub2e4. \uae30\ubcf8logger \ud30c\uc77c \ucd5c\ucd08 JEUS \uc124\uce58 \uc2dc, JEUS log\ub294 default\ub85c console handler\ub97c \uc0ac\uc6a9\ud558\uae30 \ub54c\ubb38\uc5d0 JEUS manager\uc640 \ubaa8\ub4e0 engine container\uc758 log message\uac00 stdout\ud615\ud0dc\ub85c \ucd9c\ub825\ub41c\ub2e4. \ub610\ud55c web container \uc758 access log\uac00 $JEUS_HOME\/logs\/<\ub178\ub4dc\uba85>\/<\ub178\ub4dc\uba85>_<\ucee8\ud14c\uc774\ub108\uba85>\/servlet\/accesslog\/access.log\u2026","rel":"","context":"In &quot;JEUS &amp; WEBToB&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":130,"url":"https:\/\/blog.box.kr\/?p=130","url_meta":{"origin":170,"position":3},"title":"Simple Spring Quartz Web App with Maven and Eclipse","date":"2014-06-23","format":false,"excerpt":"Simple Spring Quartz Web App with Maven and Eclipse 1. Create a Maven Web App project with Eclipse File -> New -> Project -> Other -> Maven Project -> Next -> Next -> You should be at the Select Archtype Screen. Type \"webapp\" (without the quotes) in the \"filter\" textbox.\u2026","rel":"","context":"In &quot;JAVA&quot;","img":{"alt_text":"","src":"https:\/\/i0.wp.com\/2.bp.blogspot.com\/-jQPX5aFgXCI\/UEz7N6HbfRI\/AAAAAAAAAIk\/rRh1qFCkcJk\/s320\/1-MavenProj.PNG?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":558,"url":"https:\/\/blog.box.kr\/?p=558","url_meta":{"origin":170,"position":4},"title":"OSX\uc5d0\uc11c GIT \uc11c\ubc84 \uc124\uc815 \ud558\uae30","date":"2015-01-25","format":false,"excerpt":"* Shell \uc5d0\uc11c \uc0ac\uc6a9\uc790 \ucd94\uac00 !! 1. \"sudo dscl . -create \/Users\/username UserShell \u00a0\/bin\/bash\" 2. \"sudo dscl . -create\u00a0\/Users\/username\u00a0RealName \"John Doth\"\" 3. \"sudo dscl . -create\u00a0\/Users\/username\u00a0UniquelID 1001\" 4.\u00a0\"sudo dscl . -create\u00a0\/Users\/username\u00a0PrimaryGroupID\u00a01000\" 5.\u00a0\"sudo dscl . -create\u00a0\/Users\/username\u00a0NFSHomeDirectory \/Local\/Users\/username\" 6.\u00a0\"sudo dscl . -create\u00a0\/Users\/username\u00a0password\" \u00a0 \u00a0<<= \uc554\ud638 \uc785\ub825 * GIT\uc124\uce58 1. \uc0ac\uc6a9\uc790 \"git-admin\" \u00a0\ucd94\uac00\u2026","rel":"","context":"In &quot;\uc77c\uc0c1&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":180,"url":"https:\/\/blog.box.kr\/?p=180","url_meta":{"origin":170,"position":5},"title":"[ContextMenu]\ub3d9\uc801\uc73c\ub85c \ucf58\ud14d\uc2a4\ud2b8 \uba54\ub274 \uc0dd\uc131","date":"2014-07-09","format":false,"excerpt":"MFC \uc77c \uacbd\uc6b0 OnContextMenu\uc5d0\uc11c \uc544\ub798\uc640 \uac19\uc774 \uc0dd\uc131\ud55c\ub2e4. void\u00a0CCustomCtrl::OnContextMenu(CWnd\u00a0*\u00a0pWnd,\u00a0CPoint\u00a0point) { CMenu\u00a0Menu; if(\u00a0Menu.CreatePopupMenu() ==\u00a0TRUE) { for(i=0;\u00a0i<(UINT)m_StringArrary.GetCount();\u00a0i++) { Menu.AppendMenu(MF_STRING\u00a0|\u00a0MF_ENABLED,\u00a0POPUPID_RANGE_START\u00a0+\u00a0i,m_StringArrary.GetAt(i)); } Menu.AppendMenu(MF_SEPARATOR, 0,\u00a0\"\"); Menu.AppendMenu(MF_STRING\u00a0|\u00a0MF_ENABLED,\u00a0POPUPID_ENABLELOG,\u00a0POPUPSTR_ENABLELOG); Menu.AppendMenu(MF_STRING\u00a0|\u00a0MF_ENABLED,\u00a0POPUPID_DIABLELOG,\u00a0POPUPSTR_DISABLELOG); Menu.AppendMenu(MF_STRING\u00a0|\u00a0MF_ENABLED,\u00a0POPUPID_RESET,\u00a0POPUPSTR_RESET); Menu.AppendMenu(MF_STRING\u00a0|\u00a0MF_ENABLED,\u00a0POPUPID_ACTIVEUIID,\u00a0POPUPSTR_ACTIVEUIID); Menu.TrackPopupMenu(TPM_LEFTALIGN\u00a0|\u00a0TPM_RIGHTBUTTON,\u00a0point.x,\u00a0point.y,\u00a0this); } } \uadf8\ub9ac\uace0 \uc704 \uba54\uc2dc\uc9c0\ub97c \ucc98\ub9ac\ud558\uae30 \uc704\ud574 \uba54\uc2dc\uc9c0 \ub9f5\uc5d0\ub2e4\uac00 \uc544\ub798\uc640 \uac19\uc774 \uc120\uc5b8\ud55c\ub2e4. BEGIN_MESSAGE_MAP(CCustomCtrl,\u00a0COleControl) ON_COMMAND_RANGE(POPUPID_RANGE_START,\u00a0POPUPID_RANGE_END,\u00a0OnCommandRange) ON_COMMAND(POPUPID_DIABLELOG,\u00a0OnDisableLog) ON_COMMAND(POPUPID_ENABLELOG,\u00a0OnEnableLog) ON_COMMAND(POPUPID_RESET,\u00a0OnResetCommand) ON_COMMAND(POPUPID_ACTIVEUIID,\u00a0OnGetActiveUIIDCommand) END_MESSAGE_MAP() ON_COMMAND_RANGE \uc758 \uacbd\uc6b0\ub294 \uc544\ub798\uc640 \uac19\uc774 \ucc98\ub9ac\ud55c\ub2e4. void\u00a0CCusomCtrl::OnCommandRange(UINT\u00a0uiCommandID)\u2026","rel":"","context":"In &quot;C\/C++&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"_links":{"self":[{"href":"https:\/\/blog.box.kr\/index.php?rest_route=\/wp\/v2\/posts\/170"}],"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=170"}],"version-history":[{"count":0,"href":"https:\/\/blog.box.kr\/index.php?rest_route=\/wp\/v2\/posts\/170\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.box.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=170"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.box.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=170"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.box.kr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=170"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}