{"id":124,"date":"2014-06-23T07:35:32","date_gmt":"2014-06-23T16:35:32","guid":{"rendered":"http:\/\/blog.box.kr\/?p=124"},"modified":"2014-06-23T07:35:32","modified_gmt":"2014-06-23T16:35:32","slug":"spring-framework-akka-actor-maven-%ec%82%ac%ec%9a%a9%ed%95%98%ea%b8%b0","status":"publish","type":"post","link":"https:\/\/blog.box.kr\/?p=124","title":{"rendered":"Spring Framework + Akka Actor + Maven \uc0ac\uc6a9\ud558\uae30"},"content":{"rendered":"<header style=\"color: #222222;\">\n<h1 class=\"entry-title\" style=\"font-weight: bold; font-style: inherit;\">Spring Framework + Akka Actor + Maven \uc0ac\uc6a9\ud558\uae30<\/h1>\n<p class=\"meta\" style=\"color: #aaaaaa;\">\n<\/header>\n<div class=\"entry-content\" style=\"color: #222222;\">\n<p>\uac1c\ubc1c \uc911\uc5d0 \uc694\uccad\uc5d0 \ub300\ud55c \ub85c\uadf8\ub97c \ub0a8\uae30\ub294 \ubd80\ubd84\uc774 \uc788\ub294\ub370 \ub85c\uac70\ub97c \uc0ac\uc6a9\ud558\uae30\uc5d0 \ubd80\uc871\ud55c \ubd80\ubd84\uc774 \uc788\uace0 async\ub85c \ucc98\ub9ac\ud574\uc57c \ud558\ub294 \ubd80\ubd84\uc774 \uc0dd\uaca8 akka actor\ub97c \uc0ac\uc6a9\ud558\uc5ec \uad6c\ud604\ud558\uac8c \ub418\uc5c8\ub2e4.<\/p>\n<p>akka.io \uc0ac\uc774\ud2b8\uc758 \uba54\ub274\uc5bc\uc744 \ud655\uc778\ud574\ubcf4\uba74.. Spring \uc5f0\uacc4 \uac1c\ubc1c\uc744\u00a0<a style=\"color: #751590;\" href=\"http:\/\/doc.akka.io\/docs\/akka-modules\/1.3.1\/modules\/spring.html\">1.3.1<\/a>\uae4c\uc9c0\ub9cc \uc9c0\uc6d0\ud558\uace0 \uc788\uace0 \ub2e4\uc74c \ubc84\uc804\uc778\u00a0<a style=\"color: #751590;\" href=\"http:\/\/doc.akka.io\/docs\/akka\/2.0.5\/modules\/spring.html\">2.0.5<\/a>\uc5d0\uc11c\ub294 \uc544\uc9c1 \ub9c8\uc774\uadf8\ub808\uc774\uc158\uc774 \uc548\ub418\uc5c8\ub2e4\ub294 \uba54\uc138\uc9c0\uac00 \ub098\uc640 \uc788\ub2e4.<\/p>\n<p>\uc774\ubc88 \ud3ec\uc2a4\ud2b8\uc5d0\uc11c\ub294 akka 1.3.1 \ubc84\uc804\uc73c\ub85c Spring \uacfc \uc5f0\uacc4\ud558\ub294 \ubc29\ubc95\uc744 \uc815\ub9ac\ud574\ubcf4\ub824\uace0 \ud55c\ub2e4. akka actor\uc5d0\uc11c Spring bean\uc744 DI \ud558\uace0, \ubc18\ub300\ub85c Spring bean\uc5d0\uc11c akka actor(\uc815\ud655\ud788\ub294 actorRef)\ub97c \ubc1b\uc544\uc640\uc11c \uba54\uc138\uc9c0\ub97c \uc804\ub2ec\ud558\ub294 \uacfc\uc815\uc744 \uad6c\ud604\ud574\ubcf4\ub3c4\ub85d \ud55c\ub2e4.<\/p>\n<p>\uc6b0\uc120 pom.xml \ud30c\uc77c\uc5d0 \ub450\uac1c\uc758 dependency\ub97c \ucd94\uac00\ud574\uc57c \ud55c\ub2e4. akka \ub77c\uc774\ube0c\ub7ec\ub9ac\ub9cc \ucd94\uac00\ud574 \ub193\uace0 \ud55c\ucc38 \uc0bd\uc9c8\uc744 \ud588\ub2e4. akka-spring \ub77c\uc774\ube0c\ub7ec\ub9ac\uc5d0\uc11c \uc758\uc874\uc131\uc744 \uac16\uace0\uc788\ub294 spring-beans, spring-context\ub294 \ud504\ub85c\uc81d\ud2b8\uc5d0\uc11c \uc0ac\uc6a9\ud558\ub294 \ubc84\uc83c\uacfc \ub2e4\ub97c \uc218 \uc788\uc73c\ubbc0\ub85c \uc81c\uc678(exclusion)\uc2dc\ucf1c \uc8fc\ub3c4\ub85d \ud55c\ub2e4.<\/p>\n<figure class=\"code\" style=\"font-weight: inherit; font-style: inherit;\"><figcaption style=\"font-style: inherit; color: #474747;\">pom.xml &lt;dependencies&gt;<\/figcaption><div class=\"highlight\">\n<table style=\"height: 773px;\" width=\"688\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<pre class=\"line-numbers\" style=\"color: #93a1a1;\"><span class=\"line-number\" style=\"color: #586e75 !important;\">1<\/span>\n<span class=\"line-number\" style=\"color: #586e75 !important;\">2<\/span>\n<span class=\"line-number\" style=\"color: #586e75 !important;\">3<\/span>\n<span class=\"line-number\" style=\"color: #586e75 !important;\">4<\/span>\n<span class=\"line-number\" style=\"color: #586e75 !important;\">5<\/span>\n<span class=\"line-number\" style=\"color: #586e75 !important;\">6<\/span>\n<span class=\"line-number\" style=\"color: #586e75 !important;\">7<\/span>\n<span class=\"line-number\" style=\"color: #586e75 !important;\">8<\/span>\n<span class=\"line-number\" style=\"color: #586e75 !important;\">9<\/span>\n<span class=\"line-number\" style=\"color: #586e75 !important;\">10<\/span>\n<span class=\"line-number\" style=\"color: #586e75 !important;\">11<\/span>\n<span class=\"line-number\" style=\"color: #586e75 !important;\">12<\/span>\n<span class=\"line-number\" style=\"color: #586e75 !important;\">13<\/span>\n<span class=\"line-number\" style=\"color: #586e75 !important;\">14<\/span>\n<span class=\"line-number\" style=\"color: #586e75 !important;\">15<\/span>\n<span class=\"line-number\" style=\"color: #586e75 !important;\">16<\/span>\n<span class=\"line-number\" style=\"color: #586e75 !important;\">17<\/span>\n<span class=\"line-number\" style=\"color: #586e75 !important;\">18<\/span>\n<span class=\"line-number\" style=\"color: #586e75 !important;\">19<\/span>\n<span class=\"line-number\" style=\"color: #586e75 !important;\">20<\/span>\n<span class=\"line-number\" style=\"color: #586e75 !important;\">21<\/span>\n<span class=\"line-number\" style=\"color: #586e75 !important;\">22<\/span>\n<span class=\"line-number\" style=\"color: #586e75 !important;\">23<\/span>\n<\/pre>\n<\/td>\n<td class=\"code\">\n<pre style=\"color: #93a1a1;\"><code class=\"xml\"><span class=\"line\" style=\"font-style: normal !important;\">      <span class=\"c\" style=\"font-style: italic !important; color: #586e75 !important;\">&lt;!-- akka-actor --&gt;<\/span>\n<\/span><span class=\"line\" style=\"font-style: normal !important;\">        <span class=\"nt\" style=\"font-weight: bold !important; font-style: normal !important; color: #268bd2 !important;\">&lt;dependency&gt;<\/span>\n<\/span><span class=\"line\" style=\"font-style: normal !important;\">            <span class=\"nt\" style=\"font-weight: bold !important; font-style: normal !important; color: #268bd2 !important;\">&lt;groupId&gt;<\/span>se.scalablesolutions.akka<span class=\"nt\" style=\"font-weight: bold !important; font-style: normal !important; color: #268bd2 !important;\">&lt;\/groupId&gt;<\/span>\n<\/span><span class=\"line\" style=\"font-style: normal !important;\">            <span class=\"nt\" style=\"font-weight: bold !important; font-style: normal !important; color: #268bd2 !important;\">&lt;artifactId&gt;<\/span>akka-actor<span class=\"nt\" style=\"font-weight: bold !important; font-style: normal !important; color: #268bd2 !important;\">&lt;\/artifactId&gt;<\/span>\n<\/span><span class=\"line\" style=\"font-style: normal !important;\">            <span class=\"nt\" style=\"font-weight: bold !important; font-style: normal !important; color: #268bd2 !important;\">&lt;version&gt;<\/span>1.3.1<span class=\"nt\" style=\"font-weight: bold !important; font-style: normal !important; color: #268bd2 !important;\">&lt;\/version&gt;<\/span>\n<\/span><span class=\"line\" style=\"font-style: normal !important;\">        <span class=\"nt\" style=\"font-weight: bold !important; font-style: normal !important; color: #268bd2 !important;\">&lt;\/dependency&gt;<\/span>\n<\/span><span class=\"line\" style=\"font-style: normal !important;\">      <span class=\"c\" style=\"font-style: italic !important; color: #586e75 !important;\">&lt;!-- akka-spring --&gt;<\/span>\n<\/span><span class=\"line\" style=\"font-style: normal !important;\">        <span class=\"nt\" style=\"font-weight: bold !important; font-style: normal !important; color: #268bd2 !important;\">&lt;dependency&gt;<\/span>\n<\/span><span class=\"line\" style=\"font-style: normal !important;\">            <span class=\"nt\" style=\"font-weight: bold !important; font-style: normal !important; color: #268bd2 !important;\">&lt;groupId&gt;<\/span>se.scalablesolutions.akka<span class=\"nt\" style=\"font-weight: bold !important; font-style: normal !important; color: #268bd2 !important;\">&lt;\/groupId&gt;<\/span>\n<\/span><span class=\"line\" style=\"font-style: normal !important;\">            <span class=\"nt\" style=\"font-weight: bold !important; font-style: normal !important; color: #268bd2 !important;\">&lt;artifactId&gt;<\/span>akka-spring<span class=\"nt\" style=\"font-weight: bold !important; font-style: normal !important; color: #268bd2 !important;\">&lt;\/artifactId&gt;<\/span>\n<\/span><span class=\"line\" style=\"font-style: normal !important;\">            <span class=\"nt\" style=\"font-weight: bold !important; font-style: normal !important; color: #268bd2 !important;\">&lt;version&gt;<\/span>1.3.1<span class=\"nt\" style=\"font-weight: bold !important; font-style: normal !important; color: #268bd2 !important;\">&lt;\/version&gt;<\/span>\n<\/span><span class=\"line\" style=\"font-style: normal !important;\">            <span class=\"nt\" style=\"font-weight: bold !important; font-style: normal !important; color: #268bd2 !important;\">&lt;exclusions&gt;<\/span>\n<\/span><span class=\"line\" style=\"font-style: normal !important;\">                <span class=\"nt\" style=\"font-weight: bold !important; font-style: normal !important; color: #268bd2 !important;\">&lt;exclusion&gt;<\/span>\n<\/span><span class=\"line\" style=\"font-style: normal !important;\">                    <span class=\"nt\" style=\"font-weight: bold !important; font-style: normal !important; color: #268bd2 !important;\">&lt;groupId&gt;<\/span>org.springframework<span class=\"nt\" style=\"font-weight: bold !important; font-style: normal !important; color: #268bd2 !important;\">&lt;\/groupId&gt;<\/span>\n<\/span><span class=\"line\" style=\"font-style: normal !important;\">                    <span class=\"nt\" style=\"font-weight: bold !important; font-style: normal !important; color: #268bd2 !important;\">&lt;artifactId&gt;<\/span>spring-beans<span class=\"nt\" style=\"font-weight: bold !important; font-style: normal !important; color: #268bd2 !important;\">&lt;\/artifactId&gt;<\/span>\n<\/span><span class=\"line\" style=\"font-style: normal !important;\">                <span class=\"nt\" style=\"font-weight: bold !important; font-style: normal !important; color: #268bd2 !important;\">&lt;\/exclusion&gt;<\/span>\n<\/span><span class=\"line\" style=\"font-style: normal !important;\">                <span class=\"nt\" style=\"font-weight: bold !important; font-style: normal !important; color: #268bd2 !important;\">&lt;exclusion&gt;<\/span>\n<\/span><span class=\"line\" style=\"font-style: normal !important;\">                    <span class=\"nt\" style=\"font-weight: bold !important; font-style: normal !important; color: #268bd2 !important;\">&lt;groupId&gt;<\/span>org.springframework<span class=\"nt\" style=\"font-weight: bold !important; font-style: normal !important; color: #268bd2 !important;\">&lt;\/groupId&gt;<\/span>\n<\/span><span class=\"line\" style=\"font-style: normal !important;\">                    <span class=\"nt\" style=\"font-weight: bold !important; font-style: normal !important; color: #268bd2 !important;\">&lt;artifactId&gt;<\/span>spring-context<span class=\"nt\" style=\"font-weight: bold !important; font-style: normal !important; color: #268bd2 !important;\">&lt;\/artifactId&gt;<\/span>\n<\/span><span class=\"line\" style=\"font-style: normal !important;\">                <span class=\"nt\" style=\"font-weight: bold !important; font-style: normal !important; color: #268bd2 !important;\">&lt;\/exclusion&gt;<\/span>\n<\/span><span class=\"line\" style=\"font-style: normal !important;\">            <span class=\"nt\" style=\"font-weight: bold !important; font-style: normal !important; color: #268bd2 !important;\">&lt;\/exclusions&gt;<\/span>\n<\/span><span class=\"line\" style=\"font-style: normal !important;\">        <span class=\"nt\" style=\"font-weight: bold !important; font-style: normal !important; color: #268bd2 !important;\">&lt;\/dependency&gt;<\/span>\n<\/span><\/code><\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/figure>\n<p>\ub2e4\uc74c\uc73c\ub85c akka actor\ub97c \uc0dd\uc131\ud574\uc8fc\ub3c4\ub85d \ud55c\ub2e4.<\/p>\n<figure class=\"code\" style=\"font-weight: inherit; font-style: inherit;\"><figcaption style=\"font-style: inherit; color: #474747;\">MyActor.java<\/figcaption><div class=\"highlight\">\n<table>\n<tbody>\n<tr>\n<td class=\"gutter\">\n<pre class=\"line-numbers\" style=\"color: #93a1a1;\"><span class=\"line-number\" style=\"color: #586e75 !important;\">1<\/span>\n<span class=\"line-number\" style=\"color: #586e75 !important;\">2<\/span>\n<span class=\"line-number\" style=\"color: #586e75 !important;\">3<\/span>\n<span class=\"line-number\" style=\"color: #586e75 !important;\">4<\/span>\n<span class=\"line-number\" style=\"color: #586e75 !important;\">5<\/span>\n<span class=\"line-number\" style=\"color: #586e75 !important;\">6<\/span>\n<span class=\"line-number\" style=\"color: #586e75 !important;\">7<\/span>\n<span class=\"line-number\" style=\"color: #586e75 !important;\">8<\/span>\n<span class=\"line-number\" style=\"color: #586e75 !important;\">9<\/span>\n<span class=\"line-number\" style=\"color: #586e75 !important;\">10<\/span>\n<span class=\"line-number\" style=\"color: #586e75 !important;\">11<\/span>\n<span class=\"line-number\" style=\"color: #586e75 !important;\">12<\/span>\n<span class=\"line-number\" style=\"color: #586e75 !important;\">13<\/span>\n<span class=\"line-number\" style=\"color: #586e75 !important;\">14<\/span>\n<span class=\"line-number\" style=\"color: #586e75 !important;\">15<\/span>\n<span class=\"line-number\" style=\"color: #586e75 !important;\">16<\/span>\n<span class=\"line-number\" style=\"color: #586e75 !important;\">17<\/span>\n<\/pre>\n<\/td>\n<td class=\"code\">\n<pre style=\"color: #93a1a1;\"><code class=\"java\"><span class=\"line\" style=\"font-style: normal !important;\"><span class=\"kn\" style=\"font-style: normal !important;\">package<\/span> <span class=\"n\" style=\"font-style: normal !important; color: #268bd2 !important;\">actor<\/span><span class=\"o\" style=\"font-weight: bold !important; font-style: normal !important;\">;<\/span>\n<\/span><span class=\"line\" style=\"font-style: normal !important;\"><span class=\"kn\" style=\"font-style: normal !important;\">import<\/span> <span class=\"nn\" style=\"font-style: normal !important; color: #b58900 !important;\">akka.actor.UntypedActor<\/span><span class=\"o\" style=\"font-weight: bold !important; font-style: normal !important;\">;<\/span>\n<\/span><span class=\"line\" style=\"font-style: normal !important;\"><span class=\"kn\" style=\"font-style: normal !important;\">import<\/span> <span class=\"nn\" style=\"font-style: normal !important; color: #b58900 !important;\">service.interface.PlanService<\/span><span class=\"o\" style=\"font-weight: bold !important; font-style: normal !important;\">;<\/span>\n<\/span><span class=\"line\" style=\"font-style: normal !important;\"><span class=\"kd\" style=\"font-style: normal !important; color: #268bd2 !important;\">public<\/span> <span class=\"kd\" style=\"font-style: normal !important; color: #268bd2 !important;\">class<\/span> <span class=\"nc\" style=\"font-style: normal !important; color: #d33682 !important;\">MyActor<\/span> <span class=\"kd\" style=\"font-style: normal !important; color: #268bd2 !important;\">extends<\/span> <span class=\"n\" style=\"font-style: normal !important; color: #268bd2 !important;\">UntypedActor<\/span> <span class=\"o\" style=\"font-weight: bold !important; font-style: normal !important;\">{<\/span>\n<\/span><span class=\"line\" style=\"font-style: normal !important;\">  <span class=\"kd\" style=\"font-style: normal !important; color: #268bd2 !important;\">private<\/span> <span class=\"n\" style=\"font-style: normal !important; color: #268bd2 !important;\">PlanService<\/span> <span class=\"n\" style=\"font-style: normal !important; color: #268bd2 !important;\">planService<\/span><span class=\"o\" style=\"font-weight: bold !important; font-style: normal !important;\">;<\/span>\n<\/span><span class=\"line\" style=\"font-style: normal !important;\">    <span class=\"nd\" style=\"font-style: normal !important;\">@Override<\/span>\n<\/span><span class=\"line\" style=\"font-style: normal !important;\">    <span class=\"kd\" style=\"font-style: normal !important; color: #268bd2 !important;\">public<\/span> <span class=\"kt\" style=\"font-style: normal !important; color: #2aa198 !important;\">void<\/span> <span class=\"nf\" style=\"font-weight: bold !important; font-style: normal !important; color: #268bd2 !important;\">onReceive<\/span><span class=\"o\" style=\"font-weight: bold !important; font-style: normal !important;\">(<\/span><span class=\"n\" style=\"font-style: normal !important; color: #268bd2 !important;\">Object<\/span> <span class=\"n\" style=\"font-style: normal !important; color: #268bd2 !important;\">message<\/span><span class=\"o\" style=\"font-weight: bold !important; font-style: normal !important;\">)<\/span> <span class=\"kd\" style=\"font-style: normal !important; color: #268bd2 !important;\">throws<\/span> <span class=\"n\" style=\"font-style: normal !important; color: #268bd2 !important;\">Exception<\/span> <span class=\"o\" style=\"font-weight: bold !important; font-style: normal !important;\">{<\/span>\n<\/span><span class=\"line\" style=\"font-style: normal !important;\">        <span class=\"k\" style=\"font-style: normal !important; color: #cb4b16 !important;\">if<\/span> <span class=\"o\" style=\"font-weight: bold !important; font-style: normal !important;\">(<\/span><span class=\"n\" style=\"font-style: normal !important; color: #268bd2 !important;\">message<\/span><span class=\"o\" style=\"font-weight: bold !important; font-style: normal !important;\">.<\/span><span class=\"na\" style=\"font-style: normal !important; color: #268bd2 !important;\">equals<\/span><span class=\"o\" style=\"font-weight: bold !important; font-style: normal !important;\">(<\/span><span class=\"s\" style=\"font-style: normal !important; color: #2aa198 !important;\">\"PlanA\"<\/span><span class=\"o\" style=\"font-weight: bold !important; font-style: normal !important;\">))<\/span> <span class=\"o\" style=\"font-weight: bold !important; font-style: normal !important;\">{<\/span>\n<\/span><span class=\"line\" style=\"font-style: normal !important;\">          <span class=\"n\" style=\"font-style: normal !important; color: #268bd2 !important;\">planService<\/span><span class=\"o\" style=\"font-weight: bold !important; font-style: normal !important;\">.<\/span><span class=\"na\" style=\"font-style: normal !important; color: #268bd2 !important;\">doA<\/span><span class=\"o\" style=\"font-weight: bold !important; font-style: normal !important;\">();<\/span>\n<\/span><span class=\"line\" style=\"font-style: normal !important;\">        <span class=\"o\" style=\"font-weight: bold !important; font-style: normal !important;\">}<\/span> <span class=\"k\" style=\"font-style: normal !important; color: #cb4b16 !important;\">else<\/span> <span class=\"k\" style=\"font-style: normal !important; color: #cb4b16 !important;\">if<\/span> <span class=\"o\" style=\"font-weight: bold !important; font-style: normal !important;\">(<\/span><span class=\"n\" style=\"font-style: normal !important; color: #268bd2 !important;\">message<\/span><span class=\"o\" style=\"font-weight: bold !important; font-style: normal !important;\">.<\/span><span class=\"na\" style=\"font-style: normal !important; color: #268bd2 !important;\">equals<\/span><span class=\"o\" style=\"font-weight: bold !important; font-style: normal !important;\">(<\/span><span class=\"s\" style=\"font-style: normal !important; color: #2aa198 !important;\">\"PlanB\"<\/span><span class=\"o\" style=\"font-weight: bold !important; font-style: normal !important;\">))<\/span> <span class=\"o\" style=\"font-weight: bold !important; font-style: normal !important;\">{<\/span>\n<\/span><span class=\"line\" style=\"font-style: normal !important;\">          <span class=\"n\" style=\"font-style: normal !important; color: #268bd2 !important;\">planService<\/span><span class=\"o\" style=\"font-weight: bold !important; font-style: normal !important;\">.<\/span><span class=\"na\" style=\"font-style: normal !important; color: #268bd2 !important;\">doB<\/span><span class=\"o\" style=\"font-weight: bold !important; font-style: normal !important;\">();<\/span>\n<\/span><span class=\"line\" style=\"font-style: normal !important;\">        <span class=\"o\" style=\"font-weight: bold !important; font-style: normal !important;\">}<\/span>\n<\/span><span class=\"line\" style=\"font-style: normal !important;\">    <span class=\"o\" style=\"font-weight: bold !important; font-style: normal !important;\">}<\/span>\n<\/span><span class=\"line\" style=\"font-style: normal !important;\"><span class=\"o\" style=\"font-weight: bold !important; font-style: normal !important;\">}<\/span>\n<\/span><\/code><\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/figure>\n<p>context xml \ud30c\uc77c\uc5d0 akka actor\ub97c Bean\uc73c\ub85c \ub4f1\ub85d\ud574\uc900\ub2e4. \uc8fc\uc758\ud560 \uc810\uc740 \uc0ac\uc6a9\ud558\uace0 \uc2f6\uc740 bean\uc744 property\ub85c \uc120\uc5b8\ud558\uc5ec \uc8fc\uc785 \ubc1b\uc544\uc57c \ud55c\ub2e4. (Autowired \uc5b4\ub178\ud14c\uc774\uc158\uc774 \uc81c\ub300\ub85c \ub3d9\uc791\ud558\uc9c0 \uc54a\ub294 \uac83 \ud655\uc778)<\/p>\n<figure class=\"code\" style=\"font-weight: inherit; font-style: inherit;\"><figcaption style=\"font-style: inherit; color: #474747;\">context.xml<\/figcaption><div class=\"highlight\">\n<table>\n<tbody>\n<tr>\n<td class=\"gutter\">\n<pre class=\"line-numbers\" style=\"color: #93a1a1;\"><span class=\"line-number\" style=\"color: #586e75 !important;\">1<\/span>\n<span class=\"line-number\" style=\"color: #586e75 !important;\">2<\/span>\n<span class=\"line-number\" style=\"color: #586e75 !important;\">3<\/span>\n<span class=\"line-number\" style=\"color: #586e75 !important;\">4<\/span>\n<span class=\"line-number\" style=\"color: #586e75 !important;\">5<\/span>\n<span class=\"line-number\" style=\"color: #586e75 !important;\">6<\/span>\n<span class=\"line-number\" style=\"color: #586e75 !important;\">7<\/span>\n<span class=\"line-number\" style=\"color: #586e75 !important;\">8<\/span>\n<span class=\"line-number\" style=\"color: #586e75 !important;\">9<\/span>\n<span class=\"line-number\" style=\"color: #586e75 !important;\">10<\/span>\n<span class=\"line-number\" style=\"color: #586e75 !important;\">11<\/span>\n<span class=\"line-number\" style=\"color: #586e75 !important;\">12<\/span>\n<span class=\"line-number\" style=\"color: #586e75 !important;\">13<\/span>\n<span class=\"line-number\" style=\"color: #586e75 !important;\">14<\/span>\n<span class=\"line-number\" style=\"color: #586e75 !important;\">15<\/span>\n<span class=\"line-number\" style=\"color: #586e75 !important;\">16<\/span>\n<span class=\"line-number\" style=\"color: #586e75 !important;\">17<\/span>\n<span class=\"line-number\" style=\"color: #586e75 !important;\">18<\/span>\n<span class=\"line-number\" style=\"color: #586e75 !important;\">19<\/span>\n<\/pre>\n<\/td>\n<td class=\"code\">\n<pre style=\"color: #93a1a1;\"><code class=\"xml\"><span class=\"line\" style=\"font-style: normal !important;\"><span class=\"nt\" style=\"font-weight: bold !important; font-style: normal !important; color: #268bd2 !important;\">&lt;beans<\/span> <span class=\"na\" style=\"font-style: normal !important; color: #268bd2 !important;\">xmlns=<\/span><span class=\"s\" style=\"font-style: normal !important; color: #2aa198 !important;\">\"http:\/\/www.springframework.org\/schema\/beans\"<\/span>\n<\/span><span class=\"line\" style=\"font-style: normal !important;\">       <span class=\"na\" style=\"font-style: normal !important; color: #268bd2 !important;\">xmlns:xsi=<\/span><span class=\"s\" style=\"font-style: normal !important; color: #2aa198 !important;\">\"http:\/\/www.w3.org\/2001\/XMLSchema-instance\"<\/span>\n<\/span><span class=\"line\" style=\"font-style: normal !important;\">       <span class=\"na\" style=\"font-style: normal !important; color: #268bd2 !important;\">xmlns:context=<\/span><span class=\"s\" style=\"font-style: normal !important; color: #2aa198 !important;\">\"http:\/\/www.springframework.org\/schema\/context\"<\/span>\n<\/span><span class=\"line\" style=\"font-style: normal !important;\">       <span class=\"na\" style=\"font-style: normal !important; color: #268bd2 !important;\">xmlns:akka=<\/span><span class=\"s\" style=\"font-style: normal !important; color: #2aa198 !important;\">\"http:\/\/akka.io\/schema\/akka\"<\/span>\n<\/span><span class=\"line\" style=\"font-style: normal !important;\">       <span class=\"na\" style=\"font-style: normal !important; color: #268bd2 !important;\">xsi:schemaLocation=<\/span><span class=\"s\" style=\"font-style: normal !important; color: #2aa198 !important;\">\"http:\/\/www.springframework.org\/schema\/beans<\/span>\n<\/span><span class=\"line\" style=\"font-style: normal !important;\"><span class=\"s\" style=\"font-style: normal !important; color: #2aa198 !important;\">                          http:\/\/www.springframework.org\/schema\/beans\/spring-beans.xsd<\/span>\n<\/span><span class=\"line\" style=\"font-style: normal !important;\"><span class=\"s\" style=\"font-style: normal !important; color: #2aa198 !important;\">                          http:\/\/www.springframework.org\/schema\/context<\/span>\n<\/span><span class=\"line\" style=\"font-style: normal !important;\"><span class=\"s\" style=\"font-style: normal !important; color: #2aa198 !important;\">                          http:\/\/www.springframework.org\/schema\/context\/spring-context.xsd<\/span>\n<\/span><span class=\"line\" style=\"font-style: normal !important;\"><span class=\"s\" style=\"font-style: normal !important; color: #2aa198 !important;\">                        http:\/\/akka.io\/schema\/akka http:\/\/akka.io\/akka-1.3.1.xsd\"<\/span><span class=\"nt\" style=\"font-weight: bold !important; font-style: normal !important; color: #268bd2 !important;\">&gt;<\/span>\n<\/span><span class=\"line\" style=\"font-style: normal !important;\">  <span class=\"c\" style=\"font-style: italic !important; color: #586e75 !important;\">&lt;!-- \uc0dd\ub7b5 --&gt;<\/span>\n<\/span><span class=\"line\" style=\"font-style: normal !important;\">    <span class=\"nt\" style=\"font-weight: bold !important; font-style: normal !important; color: #268bd2 !important;\">&lt;akka:untyped-actor<\/span> <span class=\"na\" style=\"font-style: normal !important; color: #268bd2 !important;\">id=<\/span><span class=\"s\" style=\"font-style: normal !important; color: #2aa198 !important;\">\"myActor\"<\/span>\n<\/span><span class=\"line\" style=\"font-style: normal !important;\">                        <span class=\"na\" style=\"font-style: normal !important; color: #268bd2 !important;\">implementation=<\/span><span class=\"s\" style=\"font-style: normal !important; color: #2aa198 !important;\">\"actor.MyActor\"<\/span>\n<\/span><span class=\"line\" style=\"font-style: normal !important;\">                        <span class=\"na\" style=\"font-style: normal !important; color: #268bd2 !important;\">scope=<\/span><span class=\"s\" style=\"font-style: normal !important; color: #2aa198 !important;\">\"singleton\"<\/span>\n<\/span><span class=\"line\" style=\"font-style: normal !important;\">                        <span class=\"na\" style=\"font-style: normal !important; color: #268bd2 !important;\">autostart=<\/span><span class=\"s\" style=\"font-style: normal !important; color: #2aa198 !important;\">\"true\"<\/span><span class=\"nt\" style=\"font-weight: bold !important; font-style: normal !important; color: #268bd2 !important;\">&gt;<\/span>\n<\/span><span class=\"line\" style=\"font-style: normal !important;\">      <span class=\"nt\" style=\"font-weight: bold !important; font-style: normal !important; color: #268bd2 !important;\">&lt;property<\/span> <span class=\"na\" style=\"font-style: normal !important; color: #268bd2 !important;\">name=<\/span><span class=\"s\" style=\"font-style: normal !important; color: #2aa198 !important;\">\"planService\"<\/span> <span class=\"na\" style=\"font-style: normal !important; color: #268bd2 !important;\">ref=<\/span><span class=\"s\" style=\"font-style: normal !important; color: #2aa198 !important;\">\"planService\"<\/span><span class=\"nt\" style=\"font-weight: bold !important; font-style: normal !important; color: #268bd2 !important;\">\/&gt;<\/span>\n<\/span><span class=\"line\" style=\"font-style: normal !important;\">    <span class=\"nt\" style=\"font-weight: bold !important; font-style: normal !important; color: #268bd2 !important;\">&lt;\/akka:untyped-actor&gt;<\/span>\n<\/span><span class=\"line\" style=\"font-style: normal !important;\"><span class=\"nt\" style=\"font-weight: bold !important; font-style: normal !important; color: #268bd2 !important;\">&lt;\/beans&gt;<\/span>\n<\/span><\/code><\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/figure>\n<p>Spring bean\uc5d0\uc11c actor\ub97c \uc0ac\uc6a9\ud558\ub294 \ubd80\ubd84\uc744 \uad6c\ud604\ud574\ubcf4\uc790. \uc5ec\uae30\ub3c4 \ub9c8\ucc2c\uac00\uc9c0\ub85c @Autowired\uac00 \uc815\uc0c1\uc801\uc73c\ub85c \ub3d9\uc791\ud558\uc9c0 \uc54a\ub294 \uac83\uc73c\ub85c \ud655\uc778\ub418\uc5b4 @PostConstruct method\uc5d0\uc11c getBean\ud574\uc11c \uc0ac\uc6a9\ud558\ub294 \ubc29\uc2dd\uc73c\ub85c \uad6c\ud604\ud558\ub3c4\ub85d \ud55c\ub2e4.<\/p>\n<figure class=\"code\" style=\"font-weight: inherit; font-style: inherit;\"><figcaption style=\"font-style: inherit; color: #474747;\">MyServiceImpl.java<\/figcaption><div class=\"highlight\">\n<table>\n<tbody>\n<tr>\n<td class=\"gutter\">\n<pre class=\"line-numbers\" style=\"color: #93a1a1;\"><span class=\"line-number\" style=\"color: #586e75 !important;\">1<\/span>\n<span class=\"line-number\" style=\"color: #586e75 !important;\">2<\/span>\n<span class=\"line-number\" style=\"color: #586e75 !important;\">3<\/span>\n<span class=\"line-number\" style=\"color: #586e75 !important;\">4<\/span>\n<span class=\"line-number\" style=\"color: #586e75 !important;\">5<\/span>\n<span class=\"line-number\" style=\"color: #586e75 !important;\">6<\/span>\n<span class=\"line-number\" style=\"color: #586e75 !important;\">7<\/span>\n<span class=\"line-number\" style=\"color: #586e75 !important;\">8<\/span>\n<span class=\"line-number\" style=\"color: #586e75 !important;\">9<\/span>\n<span class=\"line-number\" style=\"color: #586e75 !important;\">10<\/span>\n<span class=\"line-number\" style=\"color: #586e75 !important;\">11<\/span>\n<span class=\"line-number\" style=\"color: #586e75 !important;\">12<\/span>\n<span class=\"line-number\" style=\"color: #586e75 !important;\">13<\/span>\n<span class=\"line-number\" style=\"color: #586e75 !important;\">14<\/span>\n<span class=\"line-number\" style=\"color: #586e75 !important;\">15<\/span>\n<\/pre>\n<\/td>\n<td class=\"code\">\n<pre style=\"color: #93a1a1;\"><code class=\"java\"><span class=\"line\" style=\"font-style: normal !important;\"><span class=\"nd\" style=\"font-style: normal !important;\">@Service<\/span>\n<\/span><span class=\"line\" style=\"font-style: normal !important;\"><span class=\"kd\" style=\"font-style: normal !important; color: #268bd2 !important;\">class<\/span> <span class=\"nc\" style=\"font-style: normal !important; color: #d33682 !important;\">MyServiceImpl<\/span> <span class=\"kd\" style=\"font-style: normal !important; color: #268bd2 !important;\">implements<\/span> <span class=\"n\" style=\"font-style: normal !important; color: #268bd2 !important;\">MyService<\/span><span class=\"o\" style=\"font-weight: bold !important; font-style: normal !important;\">{<\/span>\n<\/span><span class=\"line\" style=\"font-style: normal !important;\">    <span class=\"kd\" style=\"font-style: normal !important; color: #268bd2 !important;\">private<\/span> <span class=\"n\" style=\"font-style: normal !important; color: #268bd2 !important;\">ActorRef<\/span> <span class=\"n\" style=\"font-style: normal !important; color: #268bd2 !important;\">myActor<\/span><span class=\"o\" style=\"font-weight: bold !important; font-style: normal !important;\">;<\/span>\n<\/span><span class=\"line\" style=\"font-style: normal !important;\">    <span class=\"nd\" style=\"font-style: normal !important;\">@PostConstruct<\/span>\n<\/span><span class=\"line\" style=\"font-style: normal !important;\">    <span class=\"kd\" style=\"font-style: normal !important; color: #268bd2 !important;\">public<\/span> <span class=\"kt\" style=\"font-style: normal !important; color: #2aa198 !important;\">void<\/span> <span class=\"nf\" style=\"font-weight: bold !important; font-style: normal !important; color: #268bd2 !important;\">init<\/span><span class=\"o\" style=\"font-weight: bold !important; font-style: normal !important;\">()<\/span> <span class=\"o\" style=\"font-weight: bold !important; font-style: normal !important;\">{<\/span>\n<\/span><span class=\"line\" style=\"font-style: normal !important;\">        <span class=\"n\" style=\"font-style: normal !important; color: #268bd2 !important;\">myActor<\/span> <span class=\"o\" style=\"font-weight: bold !important; font-style: normal !important;\">=<\/span> <span class=\"o\" style=\"font-weight: bold !important; font-style: normal !important;\">(<\/span><span class=\"n\" style=\"font-style: normal !important; color: #268bd2 !important;\">ActorRef<\/span><span class=\"o\" style=\"font-weight: bold !important; font-style: normal !important;\">)<\/span> <span class=\"n\" style=\"font-style: normal !important; color: #268bd2 !important;\">context<\/span><span class=\"o\" style=\"font-weight: bold !important; font-style: normal !important;\">.<\/span><span class=\"na\" style=\"font-style: normal !important; color: #268bd2 !important;\">getBean<\/span><span class=\"o\" style=\"font-weight: bold !important; font-style: normal !important;\">(<\/span><span class=\"s\" style=\"font-style: normal !important; color: #2aa198 !important;\">\"myActor\"<\/span><span class=\"o\" style=\"font-weight: bold !important; font-style: normal !important;\">);<\/span>\n<\/span><span class=\"line\" style=\"font-style: normal !important;\">    <span class=\"o\" style=\"font-weight: bold !important; font-style: normal !important;\">}<\/span>\n<\/span><span class=\"line\" style=\"font-style: normal !important;\">  <span class=\"nd\" style=\"font-style: normal !important;\">@Override<\/span>\n<\/span><span class=\"line\" style=\"font-style: normal !important;\">  <span class=\"kd\" style=\"font-style: normal !important; color: #268bd2 !important;\">public<\/span> <span class=\"kt\" style=\"font-style: normal !important; color: #2aa198 !important;\">void<\/span> <span class=\"nf\" style=\"font-weight: bold !important; font-style: normal !important; color: #268bd2 !important;\">doService<\/span><span class=\"o\" style=\"font-weight: bold !important; font-style: normal !important;\">(<\/span><span class=\"n\" style=\"font-style: normal !important; color: #268bd2 !important;\">String<\/span> <span class=\"n\" style=\"font-style: normal !important; color: #268bd2 !important;\">plan<\/span><span class=\"o\" style=\"font-weight: bold !important; font-style: normal !important;\">)<\/span> <span class=\"o\" style=\"font-weight: bold !important; font-style: normal !important;\">{<\/span>\n<\/span><span class=\"line\" style=\"font-style: normal !important;\">      <span class=\"n\" style=\"font-style: normal !important; color: #268bd2 !important;\">myActor<\/span><span class=\"o\" style=\"font-weight: bold !important; font-style: normal !important;\">.<\/span><span class=\"na\" style=\"font-style: normal !important; color: #268bd2 !important;\">tell<\/span><span class=\"o\" style=\"font-weight: bold !important; font-style: normal !important;\">(<\/span><span class=\"n\" style=\"font-style: normal !important; color: #268bd2 !important;\">plan<\/span><span class=\"o\" style=\"font-weight: bold !important; font-style: normal !important;\">);<\/span>\n<\/span><span class=\"line\" style=\"font-style: normal !important;\">  <span class=\"o\" style=\"font-weight: bold !important; font-style: normal !important;\">}<\/span>\n<\/span><span class=\"line\" style=\"font-style: normal !important;\"><span class=\"o\" style=\"font-weight: bold !important; font-style: normal !important;\">}<\/span>\n<\/span><\/code><\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/figure>\n<p>\uc774\uc640 \uac19\uc774 Actor, Spring bean\uac04 \uc11c\ub85c \uc8fc\uc785\uc744 \ubc1b\uc744 \uc218 \uc788\ub2e4. \uc11c\ube44\uc2a4 \uc911 \uc2dc\uac04\uc774 \uc624\ub798\uac78\ub9ac\uc9c0\ub9cc async\ub85c \ucc98\ub9ac\ud560 \uc218 \uc788\ub294 \ubd80\ubd84\uc774 \uc788\ub2e4\uba74 actor\ub85c \ubd84\ub9ac\ud558\uc5ec \ucc98\ub9ac\ud558\ub294 \uac83\ub3c4 \ud558\ub098\uc758 \ubc29\ubc95\uc77c \uc218 \uc788\ub2e4.<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Spring Framework + Akka Actor + Maven \uc0ac\uc6a9\ud558\uae30 \uac1c\ubc1c \uc911\uc5d0 \uc694\uccad\uc5d0 \ub300\ud55c \ub85c\uadf8\ub97c \ub0a8\uae30\ub294 \ubd80\ubd84\uc774 \uc788\ub294\ub370 \ub85c\uac70\ub97c \uc0ac\uc6a9\ud558\uae30\uc5d0 \ubd80\uc871\ud55c \ubd80\ubd84\uc774 \uc788\uace0 async\ub85c \ucc98\ub9ac\ud574\uc57c \ud558\ub294 \ubd80\ubd84\uc774 \uc0dd\uaca8 akka actor\ub97c \uc0ac\uc6a9\ud558\uc5ec \uad6c\ud604\ud558\uac8c \ub418\uc5c8\ub2e4. akka.io \uc0ac\uc774\ud2b8\uc758 \uba54\ub274\uc5bc\uc744 \ud655\uc778\ud574\ubcf4\uba74.. Spring \uc5f0\uacc4 \uac1c\ubc1c\uc744\u00a01.3.1\uae4c\uc9c0\ub9cc \uc9c0\uc6d0\ud558\uace0 \uc788\uace0 \ub2e4\uc74c \ubc84\uc804\uc778\u00a02.0.5\uc5d0\uc11c\ub294 \uc544\uc9c1 \ub9c8\uc774\uadf8\ub808\uc774\uc158\uc774 \uc548\ub418\uc5c8\ub2e4\ub294 \uba54\uc138\uc9c0\uac00 \ub098\uc640 \uc788\ub2e4. \uc774\ubc88 \ud3ec\uc2a4\ud2b8\uc5d0\uc11c\ub294 akka 1.3.1 \ubc84\uc804\uc73c\ub85c Spring \uacfc \uc5f0\uacc4\ud558\ub294 \ubc29\ubc95\uc744 \uc815\ub9ac\ud574\ubcf4\ub824\uace0 \ud55c\ub2e4. akka actor\uc5d0\uc11c Spring bean\uc744 DI \ud558\uace0, \ubc18\ub300\ub85c Spring bean\uc5d0\uc11c akka actor(\uc815\ud655\ud788\ub294 actorRef)\ub97c \ubc1b\uc544\uc640\uc11c \uba54\uc138\uc9c0\ub97c \uc804\ub2ec\ud558\ub294 \uacfc\uc815\uc744 \uad6c\ud604\ud574\ubcf4\ub3c4\ub85d \ud55c\ub2e4. \uc6b0\uc120 pom.xml \ud30c\uc77c\uc5d0 \ub450\uac1c\uc758 dependency\ub97c \ucd94\uac00\ud574\uc57c \ud55c\ub2e4. akka \ub77c\uc774\ube0c\ub7ec\ub9ac\ub9cc \ucd94\uac00\ud574 \ub193\uace0 \ud55c\ucc38 \uc0bd\uc9c8\uc744 \ud588\ub2e4. akka-spring \ub77c\uc774\ube0c\ub7ec\ub9ac\uc5d0\uc11c \uc758\uc874\uc131\uc744 \uac16\uace0\uc788\ub294 spring-beans, spring-context\ub294 \ud504\ub85c\uc81d\ud2b8\uc5d0\uc11c \uc0ac\uc6a9\ud558\ub294 \ubc84\uc83c\uacfc \ub2e4\ub97c \uc218 \uc788\uc73c\ubbc0\ub85c \uc81c\uc678(exclusion)\uc2dc\ucf1c \uc8fc\ub3c4\ub85d \ud55c\ub2e4. pom.xml &lt;dependencies&gt; 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 &lt;!&#8211; akka-actor &#8211;&gt; &lt;dependency&gt; &lt;groupId&gt;se.scalablesolutions.akka&lt;\/groupId&gt; &lt;artifactId&gt;akka-actor&lt;\/artifactId&gt; &lt;version&gt;1.3.1&lt;\/version&gt; &lt;\/dependency&gt; &lt;!&#8211; akka-spring &#8211;&gt; &lt;dependency&gt; &lt;groupId&gt;se.scalablesolutions.akka&lt;\/groupId&gt; &lt;artifactId&gt;akka-spring&lt;\/artifactId&gt; &lt;version&gt;1.3.1&lt;\/version&gt; &lt;exclusions&gt; &lt;exclusion&gt; &lt;groupId&gt;org.springframework&lt;\/groupId&gt; &lt;artifactId&gt;spring-beans&lt;\/artifactId&gt; &lt;\/exclusion&gt; &lt;exclusion&gt; &lt;groupId&gt;org.springframework&lt;\/groupId&gt; &lt;artifactId&gt;spring-context&lt;\/artifactId&gt; &lt;\/exclusion&gt; &lt;\/exclusions&gt; &lt;\/dependency&gt; \ub2e4\uc74c\uc73c\ub85c akka actor\ub97c \uc0dd\uc131\ud574\uc8fc\ub3c4\ub85d \ud55c\ub2e4. MyActor.java 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 package actor; import akka.actor.UntypedActor; import service.interface.PlanService; public class MyActor extends UntypedActor { private PlanService planService; @Override public void onReceive(Object message) [&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":[15,7],"tags":[],"aioseo_notices":[],"jetpack_featured_media_url":"","jetpack_publicize_connections":[],"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p5q9Zn-20","jetpack-related-posts":[{"id":242,"url":"https:\/\/blog.box.kr\/?p=242","url_meta":{"origin":124,"position":0},"title":"Intellij\uc5d0\uc11c Scala + akka \uc124\uc815","date":"2014-07-23","format":false,"excerpt":"Intellij 13 \ubc84\uc804 \uae30\uc900 \u00a0 1. Scala \uc124\uce58 2. SBT \uc124\uce58 3. Intellij\uc5d0\uc11c Scala\ub97c \uc0ac\uc6a9\ud558\uae30 \uc704\ud574\uc11c\ub294 \ud50c\ub7ec\uadf8\uc778\uc73c\ub85c Scala\uc640 sbt \ub458 \ub2e4 \ubaa8\ub450 \uc124\uce58\ud55c\ub2e4. - \uc124\uce58 \ud6c4 'Setting'\uc5d0\uc11c \uc704\uc5d0 \uc124\uce58\ud55c Scala\uc640 SBT\ub97c \uc124\uc815\ud55c\ub2e4. 4. sbt\ub97c \ud1b5\ud574 \ub77c\uc774\ube0c\ub7ec\ub9ac\ub97c \ub9cc\ub4e4\uae30 \uc704\ud574\uc11c\ub294 \ud504\ub85c\uc81d\ud2b8\uc5d0\uc11c sbt-module\ub97c \uc120\ud0dd\ud55c \ud6c4 build.sbt\uc5d0 \ud544\uc694\ud55c \ub77c\uc774\ube0c\ub7ec\ub9ac\ub97c \uc124\uc815\ud55c\ub2e4. \uc704\uc758 build.sbt\uc758 akka \uc124\uc815\uc740\u2026","rel":"","context":"In &quot;JAVA&quot;","img":{"alt_text":"","src":"http:\/\/cfile27.uf.tistory.com\/image\/2418E83652F07318013FE6","width":350,"height":200},"classes":[]},{"id":244,"url":"https:\/\/blog.box.kr\/?p=244","url_meta":{"origin":124,"position":1},"title":"\ud29c\ud1a0\ub9ac\uc5bc: \uc2a4\uce7c\ub77c(Scala), akka \ub85c scalable \ud558\uace0, fault-tolerant \ud55c \ub124\ud2b8\uc6cc\ud06c \ucc44\ud305 \uc11c\ubc84\uc640 \ud074\ub77c\uc774\uc5b8\ud2b8 \ub9cc\ub4e4\uae30","date":"2014-07-23","format":false,"excerpt":"\ud29c\ud1a0\ub9ac\uc5bc: \uc2a4\uce7c\ub77c(Scala), akka \ub85c scalable \ud558\uace0, fault-tolerant \ud55c \ub124\ud2b8\uc6cc\ud06c \ucc44\ud305 \uc11c\ubc84\uc640 \ud074\ub77c\uc774\uc5b8\ud2b8 \ub9cc\ub4e4\uae30 SW\uac1c\ubc1c \u00a0http:\/\/doc.akka.io\/docs\/akka\/1.3.1\/scala\/tutorial-chat-ser..","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":124,"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":124,"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":375,"url":"https:\/\/blog.box.kr\/?p=375","url_meta":{"origin":124,"position":4},"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":107,"url":"https:\/\/blog.box.kr\/?p=107","url_meta":{"origin":124,"position":5},"title":"\ub9ac\ub205\uc2a4\uc5d0\uc11c Subversion \uc124\uce58 \ubc0f \uc0ac\uc6a9\ud558\uae30","date":"2014-06-13","format":false,"excerpt":"\u00a0 1. Subversion \uc744 \uc124\uce58\ud574\ubcf4\uc790 \uc774\uc7ac\ud64d\ub2d8\uc774 \uc791\uc131\ud558\uc2e0 Subversion \uc0ac\uc6a9\ubc95(http:\/\/www.pyrasis.com\/main\/Subversion-HOWTO)\uc5d0 \ub098\uc628 \ub0b4\uc6a9\uacfc AnNyung Linux 1.2R3\uc5d0 Subversion 1.3.1 \uc124\uce58(http:\/\/blog.naver.com\/nolimit_gc\/90003599559) \ub0b4\uc6a9\uc744 \ucc38\uace0\ud558\uc5ec \ub0b4 \ub9ac\ub205\uc2a4 \uc11c\ubc84\uc5d0 Subversion\uc744 \uc124\uce58\ud560\ub824\uace0 \ud588\ub2e4.\u00a0Subversion\uc744 \uc124\uce58\ud560\ub824\uba74 \uba87\uac00\uc9c0 \uad00\ub828 \ud328\ud0a4\uc9c0\ub97c \uc124\uce58\ud574\uc57c\ud558\ub294\ub370 \uc544\ub798\uc640 \uac19\uc774 \uc758\uc874\uc131 \ubb38\uc81c\ub85c \uc124\uce58\ub97c \ud560 \uc218 \uc5c6\ub294 \uac83\uc774 \uc544\ub2cc\uac00? \ub098\ucc98\ub7fc \ub9ac\ub205\uc2a4 \ucd08\uc790\uac00 \uc774\ub7f0\ubb38\uc81c\ub97c \uae08\ubc29\ud574\uacb0\ud558\ub294 \uac83\uc740 \uac70\uc758 \ubd88\uac00\ub2a5\ud574\ubcf4\uc600\ub2e4. # rpm\u2026","rel":"","context":"In &quot;SVN&quot;","img":{"alt_text":"\u00ec\u0082\u00ac\u00ec\u009a\u00a9\u00ec\u009e\u0090 \u00ec\u0082\u00bd\u00ec\u009e\u0085 \u00ec\u009d\u00b4\u00eb\u00af\u00b8\u00ec\u00a7\u0080","src":"http:\/\/cfile6.uf.tistory.com\/image\/1777E6124ADC2C4E5361A9","width":350,"height":200},"classes":[]}],"_links":{"self":[{"href":"https:\/\/blog.box.kr\/index.php?rest_route=\/wp\/v2\/posts\/124"}],"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=124"}],"version-history":[{"count":0,"href":"https:\/\/blog.box.kr\/index.php?rest_route=\/wp\/v2\/posts\/124\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.box.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=124"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.box.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=124"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.box.kr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=124"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}