Skip to content

Commit f96aca0

Browse files
committed
work with json variable
1 parent 6d493d3 commit f96aca0

File tree

4 files changed

+56
-4
lines changed

4 files changed

+56
-4
lines changed
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
akka{
2+
3+
loglevel = "DEBUG"
4+
loggers = ["akka.event.slf4j.Slf4jLogger"]
5+
event-handlers = ["akka.event.slf4j.Slf4jEventHandler"]
6+
7+
actor {
8+
deployment {
9+
10+
default {
11+
router = "from-code"
12+
nr-of-instances = 1
13+
}
14+
15+
parent/worker-1 {
16+
router = round-robin-pool
17+
nr-of-instances = 5
18+
}
19+
20+
}
21+
}
22+
}
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<configuration>
3+
4+
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
5+
<file>log/default.log</file>
6+
<encoder>
7+
<pattern>[%date] [%level] [%thread] %logger{10} %msg%n</pattern>
8+
</encoder>
9+
</appender>
10+
11+
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
12+
<encoder>
13+
<pattern>[%date] [%level] [%thread] %logger{10} %msg%n</pattern>
14+
</encoder>
15+
</appender>
16+
17+
<!-- <logger name="ui"> <appender-ref ref="STDOUT" /> </logger> -->
18+
19+
<logger name="org.camunda" level="INFO" />
20+
21+
<root level="WARN" >
22+
<appender-ref ref="STDOUT" />
23+
</root>
24+
</configuration>

payment/src/main/scala/org/camunda/worker/akka/sample/payment/Main.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ object Main extends App {
3535

3636
// start polling
3737
val pollActor = system.actorOf(PollActor.props(hostAddress = host, maxTasks = 5, waitTime= 100, lockTime = 600))
38-
pollActor ! Poll(topicName = "orderProcess:payment", worker, variableNames = List("orderId"))
38+
pollActor ! Poll(topicName = "orderProcess:payment", worker, variableNames = List("order"))
3939

4040
// waiting for end
4141
val input = readLine()

payment/src/main/scala/org/camunda/worker/akka/sample/payment/PaymentWorker.scala

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,17 +8,23 @@ import org.camunda.worker.akka.client.VariableValue
88
import org.camunda.worker.akka.Worker
99
import scala.concurrent.duration._
1010
import scala.util.Random
11+
import net.liftweb.json.JsonAST.JValue
12+
import net.liftweb.json._
13+
import net.liftweb.json.JsonDSL._
1114

1215
/**
1316
* sample worker
1417
*/
1518
class PaymentWorker(delay: Duration) extends Worker {
1619

20+
// default formats for json
21+
implicit val formats = DefaultFormats
22+
1723
def work(task: LockedTask): Map[String, VariableValue] = {
1824

19-
val orderId = task.variables.get("orderId") match {
20-
case Some(variableValue) => variableValue.asValue[String]
21-
case None => "" // throw IllegalArgumentException("no order id available")
25+
val orderId: String = task.variable[JValue]("order") match {
26+
case Some(json) => (json \ "orderId").extract[String]
27+
case None => "" // throw new IllegalArgumentException("order is not available")
2228
}
2329

2430
val payment = calculatePayment(orderId)

0 commit comments

Comments
 (0)