| author | Tomas Zeman <tzeman@volny.cz> |
| Fri, 24 Jul 2015 15:31:40 +0200 | |
| changeset 2 | 04af787ba66f |
| parent 0 | a279a342bc78 |
| child 4 | b25c02bd6b11 |
| permissions | -rw-r--r-- |
| 0 | 1 |
package couchdb.changes |
2 |
||
3 |
import akka.actor._ |
|
4 |
import spray.http.Uri |
|
|
2
04af787ba66f
Configuration via config-annotation
Tomas Zeman <tzeman@volny.cz>
parents:
0
diff
changeset
|
5 |
import com.typesafe.config.ConfigFactory |
| 0 | 6 |
|
7 |
object LoggingActor extends Actor with ActorLogging {
|
|
8 |
log.info("Initializing LoggingActor")
|
|
9 |
def receive: Receive = {
|
|
10 |
case x => log.info("Received {}", x)
|
|
11 |
} |
|
12 |
} |
|
13 |
||
|
2
04af787ba66f
Configuration via config-annotation
Tomas Zeman <tzeman@volny.cz>
parents:
0
diff
changeset
|
14 |
object Example extends App with settings {
|
| 0 | 15 |
|
16 |
val system = ActorSystem() |
|
17 |
val stream = system.actorOf(Props(new ChangesStreamActor( |
|
18 |
system.actorOf(Props(LoggingActor))))) |
|
19 |
||
|
2
04af787ba66f
Configuration via config-annotation
Tomas Zeman <tzeman@volny.cz>
parents:
0
diff
changeset
|
20 |
def config = ConfigFactory.load() |
|
04af787ba66f
Configuration via config-annotation
Tomas Zeman <tzeman@volny.cz>
parents:
0
diff
changeset
|
21 |
|
|
04af787ba66f
Configuration via config-annotation
Tomas Zeman <tzeman@volny.cz>
parents:
0
diff
changeset
|
22 |
stream ! Uri(s"${couchConf.url}/_changes").withQuery(
|
| 0 | 23 |
"feed" -> "continuous" |
|
2
04af787ba66f
Configuration via config-annotation
Tomas Zeman <tzeman@volny.cz>
parents:
0
diff
changeset
|
24 |
, "heartbeat" -> couchConf.heartbeat.toMillis.toString |
| 0 | 25 |
, "include_docs" -> "true" |
26 |
) |
|
27 |
||
28 |
} |
|
29 |
||
|
2
04af787ba66f
Configuration via config-annotation
Tomas Zeman <tzeman@volny.cz>
parents:
0
diff
changeset
|
30 |
import com.wacai.config.annotation._ |
|
04af787ba66f
Configuration via config-annotation
Tomas Zeman <tzeman@volny.cz>
parents:
0
diff
changeset
|
31 |
import scala.concurrent.duration._ |
|
04af787ba66f
Configuration via config-annotation
Tomas Zeman <tzeman@volny.cz>
parents:
0
diff
changeset
|
32 |
@conf trait settings extends Configurable {
|
|
04af787ba66f
Configuration via config-annotation
Tomas Zeman <tzeman@volny.cz>
parents:
0
diff
changeset
|
33 |
val couchConf = new {
|
|
04af787ba66f
Configuration via config-annotation
Tomas Zeman <tzeman@volny.cz>
parents:
0
diff
changeset
|
34 |
val url = "http://localhost:5984/example" |
|
04af787ba66f
Configuration via config-annotation
Tomas Zeman <tzeman@volny.cz>
parents:
0
diff
changeset
|
35 |
val heartbeat = 5 seconds |
|
04af787ba66f
Configuration via config-annotation
Tomas Zeman <tzeman@volny.cz>
parents:
0
diff
changeset
|
36 |
} |
|
04af787ba66f
Configuration via config-annotation
Tomas Zeman <tzeman@volny.cz>
parents:
0
diff
changeset
|
37 |
} |
|
04af787ba66f
Configuration via config-annotation
Tomas Zeman <tzeman@volny.cz>
parents:
0
diff
changeset
|
38 |
|
| 0 | 39 |
// vim: set ts=2 sw=2 et: |