Code Monkey home page Code Monkey logo

ftgo-application's Introduction

FTGO example application

This is the example code for my book Microservice patterns.

Microservices Patterns Cover

Please note

  • The code is still work in progress

  • It primarily illustrates the technical aspects of the microservice architecture and so the business logic is minimal

  • The documentation is sparse/non-existent and you will need to look in the book

  • The application consists of many services and so requires a lot of memory. It runs well, for example, on a 16GB Macbook pro.

  • The application’s services and the infrastructure services, such as MySQL and Apache Kafka, are deployed using Docker containers using either Docker Compose or Kubernetes.

Got questions?

Please create a github issue and I’ll do my best to help you.

Application architecture

Not surprisingly, this application has a microservice architecture. There are the following services:

Service design

Key points:

  • A service consists of a single Gradle module. For example, ftgo-order-service implements the Order Service

  • A service is a Spring Boot application

  • A service has a Swagger UI http://…​/swagger-ui.html. See open-swagger-uis.sh

  • A service typically consists of the following packages:

    • domain - domain logic including aggregates

    • messaging - messaging adapters

    • web - Spring MVC controllers (HTTP adapters)

    • main - the main application

  • The services use the following other frameworks

Chapter by chapter

This section maps the chapters to the code.

Chapter 3 Inter-process communication in a microservice architecture

  • The services have a REST API

  • The services also communicate using the Apache Kafka message broker via the Eventuate Tram framework

Chapter 4 Managing transactions with sagas

The ftgo-order-service uses sagas to maintain data consistency:

The services that participate in these sagas define the following command handlers:

Chapter 5 Designing business logic in a microservice architecture

All the services' business logic is implemented using Domain-Driven design aggregates.

Chapter 6 Developing business logic with event sourcing

Chapter 7 Implementing queries in a microservice architecture

Chapter 8 External API patterns

Building and running the application

Pre-requisites

  • Java 8+

  • Docker and Docker Compose

  • Internet access so that Gradle and Docker can download dependencies and container images

Building

Temporary: Build the Spring Cloud Contracts using this command:

./gradlew buildContracts

Build the services using this command:

./gradlew assemble

Running the application

Run the application using this command:

./gradlew :composeUp

Note: the ':'

This can take a while.

Using the application

Use the services Swagger UIs to invoke the services.

You can also access the application via the API Gateway at http://localhost:8087. However, currently it doesn’t have a Swagger UI so you will have to use curl, for example.

Note: if the containers aren’t accessible via localhost - e.g. you are using Docker Toolbox, you will have to use ${DOCKER_HOST_IP} as described below.

Stopping the application

Stop the application using this command:

./gradlew :composeDown

Deploying the application on Kubernetes

You can find Kubernetes YAML files in the following directories: deployment/kubernetes and */src/deployment/kubernetes. There are also some helpful shell scripts.

Deploying services

You can run this command

./deployment/kubernetes/scripts/kubernetes-deploy-all.sh

Undeploying the services

You can run the script to undeploy the services:

./deployment/kubernetes/scripts/kubernetes-delete-all.sh

If you want to delete the persistent volumes for Apache Kafka, Zookeeper and MySQL please run the command:

./deployment/kubernetes/scripts/kubernetes-delete-volumes.sh

Setting environment variables to do development

You should not need to set any environment variables. To run the application, you certainly do not. Similarly, to do development (e.g. run tests), you typically do not need to set any environment variables. That’s because Docker containers are generally accessible (e.g. Docker for Windows/Mac) on the host via localhost. However, if Docker is running elsewhere (e.g. you are using Docker Toolbox) you will need to set DOCKER_HOST_IP.

Quick way

A quick way to set the environment variables is to run the script ./set-env.sh.

Long way

The value of DOCKER_HOST_IP must be meaningful to both Java services/tests running on your desktop/laptop and to Docker containers. Please do NOT set it to the unresolvable hostname of your machine, localhost or 127.0.0.1 since the Docker containers will probably not work correctly.

Verifying that DOCKER_HOST_IP is set correctly

You can verify that DOCKER_HOST_IP is set correctly by running this command:

docker run -p 8889:8888 -e DOCKER_DIAGNOSTICS_PORT=8889 -e DOCKER_HOST_IP \
     --rm eventuateio/eventuateio-docker-networking-diagnostics:0.2.0.RELEASE

Setting the environment variable in your IDE

If you want to run Java services/tests within your IDE on your desktop/laptop AND the Docker containers are not accessible via localhost THEN you will need to set DOCKER_HOST_IP within your IDE. How to do this depends on your operating system and IDE. For example, I find it convenient to launch my IDE from the command line and after setting this environment variable.

ftgo-application's People

Contributors

artemsidorkin avatar cer avatar dartartem avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ftgo-application's Issues

eventuate-kafka shuts down after 8 min, after that all containers begin to stop one by one

Hello,

I'm facing the following issue. "docker-compose up" starts normally, all containers are up. Then, after ~8 min Kafka shuts down (container is stopped).
Here are stopped containers after 8 min:
$ dpss
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
4b5a576db42b eventuateio/eventuate-kafka:0.3.0.RELEASE "/bin/bash -c ./run-" 8 minutes ago Exited (137) 54 seconds ago ftgo-application-master_kafka_1
551337a67578 ftgo-application-master_dynamodblocal-init "/bin/sh -c './wait-" 8 minutes ago Exited (0) 7 minutes ago ftgo-application-master_dynamodblocal-init_1

After that in several minutes "eventuate-cdc-service" stopped. Then "Kitchen Service".
Finally in 15 mins I have only 6 containers running:

ftgo-application-master_ftgo-restaurant-service_1
ftgo-application-master_dynamodblocal_1
ftgo-application-master_ftgo-api-gateway_1
ftgo-application-master_zookeeper_1
ftgo-application-master_zipkin_1
ftgo-application-master_mysql_1

Below is the log of Kafka container.
Will be grateful for advice.
Thanks,
Andrew

ZOOKEEPER_CONNECTION_TIMEOUT_MS is not set. Setting to 6000
ADVERTISED_HOST_NAME=192.168.99.103
/usr/local/kafka-config/server.properties -> ./config/server.properties
[2019-10-06 01:29:02,784] INFO Registered kafka:type=kafka.Log4jController MBean (kafka.utils.Log4jControllerRegistration$)
[2019-10-06 01:29:26,357] INFO starting (kafka.server.KafkaServer)
[2019-10-06 01:29:26,403] INFO Connecting to zookeeper on zookeeper:2181 (kafka.server.KafkaServer)
[2019-10-06 01:29:26,929] INFO [ZooKeeperClient] Initializing a new session to zookeeper:2181. (kafka.zookeeper.ZooKeeperClient)
[2019-10-06 01:29:27,101] INFO Client environment:zookeeper.version=3.4.10-39d3a4f269333c922ed3db283be479f9deacaa0f, built on 03/23/2017 10:13 GMT (org.apach
e.zookeeper.ZooKeeper)
[2019-10-06 01:29:27,103] INFO Client environment:host.name=4b5a576db42b (org.apache.zookeeper.ZooKeeper)
[2019-10-06 01:29:27,104] INFO Client environment:java.version=1.8.0_91 (org.apache.zookeeper.ZooKeeper)
[2019-10-06 01:29:27,104] INFO Client environment:java.vendor=Oracle Corporation (org.apache.zookeeper.ZooKeeper)
[2019-10-06 01:29:27,106] INFO Client environment:java.home=/usr/lib/jvm/java-8-openjdk-amd64/jre (org.apache.zookeeper.ZooKeeper)
[2019-10-06 01:29:27,110] INFO Client environment:java.class.path=/usr/local/kafka_2.12-1.1.0/bin/../libs/aopalliance-repackaged-2.5.0-b32.jar:/usr/local/kaf
ka_2.12-1.1.0/bin/../libs/argparse4j-0.7.0.jar:/usr/local/kafka_2.12-1.1.0/bin/../libs/commons-lang3-3.5.jar:/usr/local/kafka_2.12-1.1.0/bin/../libs/connect-
api-1.1.0.jar:/usr/local/kafka_2.12-1.1.0/bin/../libs/connect-file-1.1.0.jar:/usr/local/kafka_2.12-1.1.0/bin/../libs/connect-json-1.1.0.jar:/usr/local/kafka_
2.12-1.1.0/bin/../libs/connect-runtime-1.1.0.jar:/usr/local/kafka_2.12-1.1.0/bin/../libs/connect-transforms-1.1.0.jar:/usr/local/kafka_2.12-1.1.0/bin/../libs
/guava-20.0.jar:/usr/local/kafka_2.12-1.1.0/bin/../libs/hk2-api-2.5.0-b32.jar:/usr/local/kafka_2.12-1.1.0/bin/../libs/hk2-locator-2.5.0-b32.jar:/usr/local/ka
fka_2.12-1.1.0/bin/../libs/hk2-utils-2.5.0-b32.jar:/usr/local/kafka_2.12-1.1.0/bin/../libs/jackson-annotations-2.9.4.jar:/usr/local/kafka_2.12-1.1.0/bin/../l
ibs/jackson-core-2.9.4.jar:/usr/local/kafka_2.12-1.1.0/bin/../libs/jackson-databind-2.9.4.jar:/usr/local/kafka_2.12-1.1.0/bin/../libs/jackson-jaxrs-base-2.9.
4.jar:/usr/local/kafka_2.12-1.1.0/bin/../libs/jackson-jaxrs-json-provider-2.9.4.jar:/usr/local/kafka_2.12-1.1.0/bin/../libs/jackson-module-jaxb-annotations-2
.9.4.jar:/usr/local/kafka_2.12-1.1.0/bin/../libs/javassist-3.20.0-GA.jar:/usr/local/kafka_2.12-1.1.0/bin/../libs/javassist-3.21.0-GA.jar:/usr/local/kafka_2.1
2-1.1.0/bin/../libs/javax.annotation-api-1.2.jar:/usr/local/kafka_2.12-1.1.0/bin/../libs/javax.inject-1.jar:/usr/local/kafka_2.12-1.1.0/bin/../libs/javax.inj
ect-2.5.0-b32.jar:/usr/local/kafka_2.12-1.1.0/bin/../libs/javax.servlet-api-3.1.0.jar:/usr/local/kafka_2.12-1.1.0/bin/../libs/javax.ws.rs-api-2.0.1.jar:/usr/
local/kafka_2.12-1.1.0/bin/../libs/jersey-client-2.25.1.jar:/usr/local/kafka_2.12-1.1.0/bin/../libs/jersey-common-2.25.1.jar:/usr/local/kafka_2.12-1.1.0/bin/
../libs/jersey-container-servlet-2.25.1.jar:/usr/local/kafka_2.12-1.1.0/bin/../libs/jersey-container-servlet-core-2.25.1.jar:/usr/local/kafka_2.12-1.1.0/bin/
../libs/jersey-guava-2.25.1.jar:/usr/local/kafka_2.12-1.1.0/bin/../libs/jersey-media-jaxb-2.25.1.jar:/usr/local/kafka_2.12-1.1.0/bin/../libs/jersey-server-2.
25.1.jar:/usr/local/kafka_2.12-1.1.0/bin/../libs/jetty-client-9.2.24.v20180105.jar:/usr/local/kafka_2.12-1.1.0/bin/../libs/jetty-continuation-9.2.24.v2018010
5.jar:/usr/local/kafka_2.12-1.1.0/bin/../libs/jetty-http-9.2.24.v20180105.jar:/usr/local/kafka_2.12-1.1.0/bin/../libs/jetty-io-9.2.24.v20180105.jar:/usr/loca
l/kafka_2.12-1.1.0/bin/../libs/jetty-security-9.2.24.v20180105.jar:/usr/local/kafka_2.12-1.1.0/bin/../libs/jetty-server-9.2.24.v20180105.jar:/usr/local/kafka
_2.12-1.1.0/bin/../libs/jetty-servlet-9.2.24.v20180105.jar:/usr/local/kafka_2.12-1.1.0/bin/../libs/jetty-servlets-9.2.24.v20180105.jar:/usr/local/kafka_2.12-
1.1.0/bin/../libs/jetty-util-9.2.24.v20180105.jar:/usr/local/kafka_2.12-1.1.0/bin/../libs/jopt-simple-5.0.4.jar:/usr/local/kafka_2.12-1.1.0/bin/../libs/kafka
-clients-1.1.0.jar:/usr/local/kafka_2.12-1.1.0/bin/../libs/kafka-log4j-appender-1.1.0.jar:/usr/local/kafka_2.12-1.1.0/bin/../libs/kafka-streams-1.1.0.jar:/us
r/local/kafka_2.12-1.1.0/bin/../libs/kafka-streams-examples-1.1.0.jar:/usr/local/kafka_2.12-1.1.0/bin/../libs/kafka-streams-test-utils-1.1.0.jar:/usr/local/k
afka_2.12-1.1.0/bin/../libs/kafka-tools-1.1.0.jar:/usr/local/kafka_2.12-1.1.0/bin/../libs/kafka_2.12-1.1.0-sources.jar:/usr/local/kafka_2.12-1.1.0/bin/../lib
s/kafka_2.12-1.1.0-test-sources.jar:/usr/local/kafka_2.12-1.1.0/bin/../libs/kafka_2.12-1.1.0.jar:/usr/local/kafka_2.12-1.1.0/bin/../libs/log4j-1.2.17.jar:/us
r/local/kafka_2.12-1.1.0/bin/../libs/lz4-java-1.4.jar:/usr/local/kafka_2.12-1.1.0/bin/../libs/maven-artifact-3.5.2.jar:/usr/local/kafka_2.12-1.1.0/bin/../lib
s/metrics-core-2.2.0.jar:/usr/local/kafka_2.12-1.1.0/bin/../libs/osgi-resource-locator-1.0.1.jar:/usr/local/kafka_2.12-1.1.0/bin/../libs/plexus-utils-3.1.0.j
ar:/usr/local/kafka_2.12-1.1.0/bin/../libs/reflections-0.9.11.jar:/usr/local/kafka_2.12-1.1.0/bin/../libs/rocksdbjni-5.7.3.jar:/usr/local/kafka_2.12-1.1.0/bi
n/../libs/scala-library-2.12.4.jar:/usr/local/kafka_2.12-1.1.0/bin/../libs/scala-logging_2.12-3.7.2.jar:/usr/local/kafka_2.12-1.1.0/bin/../libs/scala-reflect
-2.12.4.jar:/usr/local/kafka_2.12-1.1.0/bin/../libs/slf4j-api-1.7.25.jar:/usr/local/kafka_2.12-1.1.0/bin/../libs/slf4j-log4j12-1.7.25.jar:/usr/local/kafka_2.
12-1.1.0/bin/../libs/snappy-java-1.1.7.1.jar:/usr/local/kafka_2.12-1.1.0/bin/../libs/validation-api-1.1.0.Final.jar:/usr/local/kafka_2.12-1.1.0/bin/../libs/z
kclient-0.10.jar:/usr/local/kafka_2.12-1.1.0/bin/../libs/zookeeper-3.4.10.jar (org.apache.zookeeper.ZooKeeper)
[2019-10-06 01:29:27,113] INFO Client environment:java.library.path=/usr/java/packages/lib/amd64:/usr/lib/x86_64-linux-gnu/jni:/lib/x86_64-linux-gnu:/usr/lib
/x86_64-linux-gnu:/usr/lib/jni:/lib:/usr/lib (org.apache.zookeeper.ZooKeeper)
[2019-10-06 01:29:27,117] INFO Client environment:java.io.tmpdir=/tmp (org.apache.zookeeper.ZooKeeper)
[2019-10-06 01:29:27,117] INFO Client environment:java.compiler= (org.apache.zookeeper.ZooKeeper)
[2019-10-06 01:29:27,118] INFO Client environment:os.name=Linux (org.apache.zookeeper.ZooKeeper)
[2019-10-06 01:29:27,123] INFO Client environment:os.arch=amd64 (org.apache.zookeeper.ZooKeeper)
[2019-10-06 01:29:27,125] INFO Client environment:os.version=4.14.141-boot2docker (org.apache.zookeeper.ZooKeeper)
[2019-10-06 01:29:27,127] INFO Client environment:user.name=root (org.apache.zookeeper.ZooKeeper)
[2019-10-06 01:29:27,128] INFO Client environment:user.home=/root (org.apache.zookeeper.ZooKeeper)
[2019-10-06 01:29:27,129] INFO Client environment:user.dir=/usr/local/kafka_2.12-1.1.0 (org.apache.zookeeper.ZooKeeper)
[2019-10-06 01:29:27,150] INFO Initiating client connection, connectString=zookeeper:2181 sessionTimeout=6000 watcher=kafka.zookeeper.ZooKeeperClient$ZooKeep
erClientWatcher$@be64738 (org.apache.zookeeper.ZooKeeper)
[2019-10-06 01:29:27,611] INFO [ZooKeeperClient] Waiting until connected. (kafka.zookeeper.ZooKeeperClient)
[2019-10-06 01:29:27,636] INFO Opening socket connection to server ftgo-application-master_zookeeper_1.ftgo-application-master_default/172.21.0.6:2181. Will
not attempt to authenticate using SASL (unknown error) (org.apache.zookeeper.ClientCnxn)
[2019-10-06 01:29:27,894] INFO Socket connection established to ftgo-application-master_zookeeper_1.ftgo-application-master_default/172.21.0.6:2181, initiati
ng session (org.apache.zookeeper.ClientCnxn)
[2019-10-06 01:29:33,240] INFO Session establishment complete on server ftgo-application-master_zookeeper_1.ftgo-application-master_default/172.21.0.6:2181,
sessionid = 0x16d9eaefce70000, negotiated timeout = 6000 (org.apache.zookeeper.ClientCnxn)
[2019-10-06 01:29:33,377] INFO [ZooKeeperClient] Connected. (kafka.zookeeper.ZooKeeperClient)
[2019-10-06 01:29:42,277] INFO Cluster ID = ig9b6fF7Qtuf_CQpyh2vrw (kafka.server.KafkaServer)
[2019-10-06 01:29:42,472] WARN No meta.properties file under dir /tmp/kafka-logs/meta.properties (kafka.server.BrokerMetadataCheckpoint)
[2019-10-06 01:29:46,151] INFO KafkaConfig values:
advertised.host.name = null
advertised.listeners = PLAINTEXT://192.168.99.103:9092
advertised.port = null
alter.config.policy.class.name = null
alter.log.dirs.replication.quota.window.num = 11
alter.log.dirs.replication.quota.window.size.seconds = 1
authorizer.class.name =
auto.create.topics.enable = true
auto.leader.rebalance.enable = true
background.threads = 10
broker.id = 0
broker.id.generation.enable = true
broker.rack = null
compression.type = producer
connections.max.idle.ms = 600000
controlled.shutdown.enable = true
controlled.shutdown.max.retries = 3
controlled.shutdown.retry.backoff.ms = 5000
controller.socket.timeout.ms = 30000
create.topic.policy.class.name = null
default.replication.factor = 1
delegation.token.expiry.check.interval.ms = 3600000
delegation.token.expiry.time.ms = 86400000
delegation.token.master.key = null
delegation.token.max.lifetime.ms = 604800000
delete.records.purgatory.purge.interval.requests = 1
delete.topic.enable = true
fetch.purgatory.purge.interval.requests = 1000
group.initial.rebalance.delay.ms = 3000
group.max.session.timeout.ms = 300000
group.min.session.timeout.ms = 6000
host.name =
inter.broker.listener.name = null
inter.broker.protocol.version = 1.1-IV0
leader.imbalance.check.interval.seconds = 300
leader.imbalance.per.broker.percentage = 10
listener.security.protocol.map = PLAINTEXT:PLAINTEXT,SSL:SSL,SASL_PLAINTEXT:SASL_PLAINTEXT,SASL_SSL:SASL_SSL
listeners = null
log.cleaner.backoff.ms = 15000
log.cleaner.dedupe.buffer.size = 134217728
log.cleaner.delete.retention.ms = 86400000
log.cleaner.enable = true
log.cleaner.io.buffer.load.factor = 0.9
log.cleaner.io.buffer.size = 524288
log.cleaner.io.max.bytes.per.second = 1.7976931348623157E308
log.cleaner.min.cleanable.ratio = 0.5
log.cleaner.min.compaction.lag.ms = 0
log.cleaner.threads = 1
log.cleanup.policy = [delete]
log.dir = /tmp/kafka-logs
log.dirs = /tmp/kafka-logs
log.flush.interval.messages = 9223372036854775807
log.flush.interval.ms = null
log.flush.offset.checkpoint.interval.ms = 60000
log.flush.scheduler.interval.ms = 9223372036854775807
log.flush.start.offset.checkpoint.interval.ms = 60000
log.index.interval.bytes = 4096
log.index.size.max.bytes = 10485760
log.message.format.version = 1.1-IV0
log.message.timestamp.difference.max.ms = 9223372036854775807
log.message.timestamp.type = CreateTime
log.preallocate = false
log.retention.bytes = -1
log.retention.check.interval.ms = 300000
log.retention.hours = 168
log.retention.minutes = null
log.retention.ms = null
log.roll.hours = 168
log.roll.jitter.hours = 0
log.roll.jitter.ms = null
log.roll.ms = null
log.segment.bytes = 1073741824
log.segment.delete.delay.ms = 60000
max.connections.per.ip = 2147483647
max.connections.per.ip.overrides =
max.incremental.fetch.session.cache.slots = 1000
message.max.bytes = 1000012
metric.reporters = []
metrics.num.samples = 2
metrics.recording.level = INFO
metrics.sample.window.ms = 30000
min.insync.replicas = 1
num.io.threads = 8
num.network.threads = 3
num.partitions = 2
num.recovery.threads.per.data.dir = 1
num.replica.alter.log.dirs.threads = null
num.replica.fetchers = 1
offset.metadata.max.bytes = 4096
offsets.commit.required.acks = -1
offsets.commit.timeout.ms = 5000
offsets.load.buffer.size = 5242880
offsets.retention.check.interval.ms = 600000
offsets.retention.minutes = 1440
offsets.topic.compression.codec = 0
offsets.topic.num.partitions = 50
offsets.topic.replication.factor = 1
offsets.topic.segment.bytes = 104857600
password.encoder.cipher.algorithm = AES/CBC/PKCS5Padding
password.encoder.iterations = 4096
password.encoder.key.length = 128
password.encoder.keyfactory.algorithm = null
password.encoder.old.secret = null
password.encoder.secret = null
port = 9092
principal.builder.class = null
producer.purgatory.purge.interval.requests = 1000
queued.max.request.bytes = -1
queued.max.requests = 500
quota.consumer.default = 9223372036854775807
quota.producer.default = 9223372036854775807
quota.window.num = 11
quota.window.size.seconds = 1
replica.fetch.backoff.ms = 1000
replica.fetch.max.bytes = 1048576
replica.fetch.min.bytes = 1
replica.fetch.response.max.bytes = 10485760
replica.fetch.wait.max.ms = 500
replica.high.watermark.checkpoint.interval.ms = 5000
replica.lag.time.max.ms = 10000
replica.socket.receive.buffer.bytes = 65536
replica.socket.timeout.ms = 30000
replication.quota.window.num = 11
replication.quota.window.size.seconds = 1
request.timeout.ms = 30000
reserved.broker.max.id = 1000
sasl.enabled.mechanisms = [GSSAPI]
sasl.jaas.config = null
sasl.kerberos.kinit.cmd = /usr/bin/kinit
sasl.kerberos.min.time.before.relogin = 60000
sasl.kerberos.principal.to.local.rules = [DEFAULT]
sasl.kerberos.service.name = null
sasl.kerberos.ticket.renew.jitter = 0.05
sasl.kerberos.ticket.renew.window.factor = 0.8
sasl.mechanism.inter.broker.protocol = GSSAPI
security.inter.broker.protocol = PLAINTEXT
socket.receive.buffer.bytes = 102400
socket.request.max.bytes = 104857600
socket.send.buffer.bytes = 102400
ssl.cipher.suites = []
ssl.client.auth = none
ssl.enabled.protocols = [TLSv1.2, TLSv1.1, TLSv1]
ssl.endpoint.identification.algorithm = null
ssl.key.password = null
ssl.keymanager.algorithm = SunX509
ssl.keystore.location = null
ssl.keystore.password = null
ssl.keystore.type = JKS
ssl.protocol = TLS
ssl.provider = null
ssl.secure.random.implementation = null
ssl.trustmanager.algorithm = PKIX
ssl.truststore.location = null
ssl.truststore.password = null
ssl.truststore.type = JKS
transaction.abort.timed.out.transaction.cleanup.interval.ms = 60000
transaction.max.timeout.ms = 900000
transaction.remove.expired.transaction.cleanup.interval.ms = 3600000
transaction.state.log.load.buffer.size = 5242880
transaction.state.log.min.isr = 2
transaction.state.log.num.partitions = 50
transaction.state.log.replication.factor = 3
transaction.state.log.segment.bytes = 104857600
transactional.id.expiration.ms = 604800000
unclean.leader.election.enable = false
zookeeper.connect = zookeeper:2181
zookeeper.connection.timeout.ms = 6000
zookeeper.max.in.flight.requests = 10
zookeeper.session.timeout.ms = 6000
zookeeper.set.acl = false
zookeeper.sync.time.ms = 2000
(kafka.server.KafkaConfig)
[2019-10-06 01:29:47,868] INFO KafkaConfig values:
advertised.host.name = null
advertised.listeners = PLAINTEXT://192.168.99.103:9092
advertised.port = null
alter.config.policy.class.name = null
alter.log.dirs.replication.quota.window.num = 11
alter.log.dirs.replication.quota.window.size.seconds = 1
authorizer.class.name =
auto.create.topics.enable = true
auto.leader.rebalance.enable = true
background.threads = 10
broker.id = 0
broker.id.generation.enable = true
broker.rack = null
compression.type = producer
connections.max.idle.ms = 600000
controlled.shutdown.enable = true
controlled.shutdown.max.retries = 3
controlled.shutdown.retry.backoff.ms = 5000
controller.socket.timeout.ms = 30000
create.topic.policy.class.name = null
default.replication.factor = 1
delegation.token.expiry.check.interval.ms = 3600000
delegation.token.expiry.time.ms = 86400000
delegation.token.master.key = null
delegation.token.max.lifetime.ms = 604800000
delete.records.purgatory.purge.interval.requests = 1
delete.topic.enable = true
fetch.purgatory.purge.interval.requests = 1000
group.initial.rebalance.delay.ms = 3000
group.max.session.timeout.ms = 300000
group.min.session.timeout.ms = 6000
host.name =
inter.broker.listener.name = null
inter.broker.protocol.version = 1.1-IV0
leader.imbalance.check.interval.seconds = 300
leader.imbalance.per.broker.percentage = 10
listener.security.protocol.map = PLAINTEXT:PLAINTEXT,SSL:SSL,SASL_PLAINTEXT:SASL_PLAINTEXT,SASL_SSL:SASL_SSL
listeners = null
log.cleaner.backoff.ms = 15000
log.cleaner.dedupe.buffer.size = 134217728
log.cleaner.delete.retention.ms = 86400000
log.cleaner.enable = true
log.cleaner.io.buffer.load.factor = 0.9
log.cleaner.io.buffer.size = 524288
log.cleaner.io.max.bytes.per.second = 1.7976931348623157E308
log.cleaner.min.cleanable.ratio = 0.5
log.cleaner.min.compaction.lag.ms = 0
log.cleaner.threads = 1
log.cleanup.policy = [delete]
log.dir = /tmp/kafka-logs
log.dirs = /tmp/kafka-logs
log.flush.interval.messages = 9223372036854775807
log.flush.interval.ms = null
log.flush.offset.checkpoint.interval.ms = 60000
log.flush.scheduler.interval.ms = 9223372036854775807
log.flush.start.offset.checkpoint.interval.ms = 60000
log.index.interval.bytes = 4096
log.index.size.max.bytes = 10485760
log.message.format.version = 1.1-IV0
log.message.timestamp.difference.max.ms = 9223372036854775807
log.message.timestamp.type = CreateTime
log.preallocate = false
log.retention.bytes = -1
log.retention.check.interval.ms = 300000
log.retention.hours = 168
log.retention.minutes = null
log.retention.ms = null
log.roll.hours = 168
log.roll.jitter.hours = 0
log.roll.jitter.ms = null
log.roll.ms = null
log.segment.bytes = 1073741824
log.segment.delete.delay.ms = 60000
max.connections.per.ip = 2147483647
max.connections.per.ip.overrides =
max.incremental.fetch.session.cache.slots = 1000
message.max.bytes = 1000012
metric.reporters = []
metrics.num.samples = 2
metrics.recording.level = INFO
metrics.sample.window.ms = 30000
min.insync.replicas = 1
num.io.threads = 8
num.network.threads = 3
num.partitions = 2
num.recovery.threads.per.data.dir = 1
num.replica.alter.log.dirs.threads = null
num.replica.fetchers = 1
offset.metadata.max.bytes = 4096
offsets.commit.required.acks = -1
offsets.commit.timeout.ms = 5000
offsets.load.buffer.size = 5242880
offsets.retention.check.interval.ms = 600000
offsets.retention.minutes = 1440
offsets.topic.compression.codec = 0
offsets.topic.num.partitions = 50
offsets.topic.replication.factor = 1
offsets.topic.segment.bytes = 104857600
password.encoder.cipher.algorithm = AES/CBC/PKCS5Padding
password.encoder.iterations = 4096
password.encoder.key.length = 128
password.encoder.keyfactory.algorithm = null
password.encoder.old.secret = null
password.encoder.secret = null
port = 9092
principal.builder.class = null
producer.purgatory.purge.interval.requests = 1000
queued.max.request.bytes = -1
queued.max.requests = 500
quota.consumer.default = 9223372036854775807
quota.producer.default = 9223372036854775807
quota.window.num = 11
quota.window.size.seconds = 1
replica.fetch.backoff.ms = 1000
replica.fetch.max.bytes = 1048576
replica.fetch.min.bytes = 1
replica.fetch.response.max.bytes = 10485760
replica.fetch.wait.max.ms = 500
replica.high.watermark.checkpoint.interval.ms = 5000
replica.lag.time.max.ms = 10000
replica.socket.receive.buffer.bytes = 65536
replica.socket.timeout.ms = 30000
replication.quota.window.num = 11
replication.quota.window.size.seconds = 1
request.timeout.ms = 30000
reserved.broker.max.id = 1000
sasl.enabled.mechanisms = [GSSAPI]
sasl.jaas.config = null
sasl.kerberos.kinit.cmd = /usr/bin/kinit
sasl.kerberos.min.time.before.relogin = 60000
sasl.kerberos.principal.to.local.rules = [DEFAULT]
sasl.kerberos.service.name = null
sasl.kerberos.ticket.renew.jitter = 0.05
sasl.kerberos.ticket.renew.window.factor = 0.8
sasl.mechanism.inter.broker.protocol = GSSAPI
security.inter.broker.protocol = PLAINTEXT
socket.receive.buffer.bytes = 102400
socket.request.max.bytes = 104857600
socket.send.buffer.bytes = 102400
ssl.cipher.suites = []
ssl.client.auth = none
ssl.enabled.protocols = [TLSv1.2, TLSv1.1, TLSv1]
ssl.endpoint.identification.algorithm = null
ssl.key.password = null
ssl.keymanager.algorithm = SunX509
ssl.keystore.location = null
ssl.keystore.password = null
ssl.keystore.type = JKS
ssl.protocol = TLS
ssl.provider = null
ssl.secure.random.implementation = null
ssl.trustmanager.algorithm = PKIX
ssl.truststore.location = null
ssl.truststore.password = null
ssl.truststore.type = JKS
transaction.abort.timed.out.transaction.cleanup.interval.ms = 60000
transaction.max.timeout.ms = 900000
transaction.remove.expired.transaction.cleanup.interval.ms = 3600000
transaction.state.log.load.buffer.size = 5242880
transaction.state.log.min.isr = 2
transaction.state.log.num.partitions = 50
transaction.state.log.replication.factor = 3
transaction.state.log.segment.bytes = 104857600
transactional.id.expiration.ms = 604800000
unclean.leader.election.enable = false
zookeeper.connect = zookeeper:2181
zookeeper.connection.timeout.ms = 6000
zookeeper.max.in.flight.requests = 10
zookeeper.session.timeout.ms = 6000
zookeeper.set.acl = false
zookeeper.sync.time.ms = 2000
(kafka.server.KafkaConfig)
[2019-10-06 01:29:49,152] INFO [ThrottledRequestReaper-Fetch]: Starting (kafka.server.ClientQuotaManager$ThrottledRequestReaper)
[2019-10-06 01:29:49,174] INFO [ThrottledRequestReaper-Produce]: Starting (kafka.server.ClientQuotaManager$ThrottledRequestReaper)
[2019-10-06 01:29:49,208] INFO [ThrottledRequestReaper-Request]: Starting (kafka.server.ClientQuotaManager$ThrottledRequestReaper)
[2019-10-06 01:29:50,512] INFO Log directory '/tmp/kafka-logs' not found, creating it. (kafka.log.LogManager)
[2019-10-06 01:29:50,804] INFO Loading logs. (kafka.log.LogManager)
[2019-10-06 01:29:51,159] INFO Logs loading complete in 351 ms. (kafka.log.LogManager)
[2019-10-06 01:29:51,509] INFO Starting log cleanup with a period of 300000 ms. (kafka.log.LogManager)
[2019-10-06 01:29:51,667] INFO Starting log flusher with a default period of 9223372036854775807 ms. (kafka.log.LogManager)
[2019-10-06 01:30:18,723] INFO Awaiting socket connections on 0.0.0.0:9092. (kafka.network.Acceptor)
[2019-10-06 01:30:22,933] INFO [SocketServer brokerId=0] Started 1 acceptor threads (kafka.network.SocketServer)
[2019-10-06 01:30:25,245] INFO [ExpirationReaper-0-Produce]: Starting (kafka.server.DelayedOperationPurgatory$ExpiredOperationReaper)
[2019-10-06 01:30:25,247] INFO [ExpirationReaper-0-Fetch]: Starting (kafka.server.DelayedOperationPurgatory$ExpiredOperationReaper)
[2019-10-06 01:30:25,300] INFO [ExpirationReaper-0-DeleteRecords]: Starting (kafka.server.DelayedOperationPurgatory$ExpiredOperationReaper)
[2019-10-06 01:30:25,820] INFO [LogDirFailureHandler]: Starting (kafka.server.ReplicaManager$LogDirFailureHandler)
[2019-10-06 01:30:27,459] INFO Creating /brokers/ids/0 (is it secure? false) (kafka.zk.KafkaZkClient)
[2019-10-06 01:30:28,052] INFO Result of znode creation at /brokers/ids/0 is: OK (kafka.zk.KafkaZkClient)
[2019-10-06 01:30:28,103] INFO Registered broker 0 at path /brokers/ids/0 with addresses: ArrayBuffer(EndPoint(192.168.99.103,9092,ListenerName(PLAINTEXT),PL
AINTEXT)) (kafka.zk.KafkaZkClient)
[2019-10-06 01:30:28,191] WARN No meta.properties file under dir /tmp/kafka-logs/meta.properties (kafka.server.BrokerMetadataCheckpoint)
[2019-10-06 01:30:31,861] INFO [ExpirationReaper-0-topic]: Starting (kafka.server.DelayedOperationPurgatory$ExpiredOperationReaper)
[2019-10-06 01:30:31,967] INFO [ExpirationReaper-0-Heartbeat]: Starting (kafka.server.DelayedOperationPurgatory$ExpiredOperationReaper)
[2019-10-06 01:30:31,977] INFO [ExpirationReaper-0-Rebalance]: Starting (kafka.server.DelayedOperationPurgatory$ExpiredOperationReaper)
[2019-10-06 01:30:32,144] INFO Creating /controller (is it secure? false) (kafka.zk.KafkaZkClient)
[2019-10-06 01:30:32,372] INFO Result of znode creation at /controller is: OK (kafka.zk.KafkaZkClient)
[2019-10-06 01:30:32,764] INFO [GroupCoordinator 0]: Starting up. (kafka.coordinator.group.GroupCoordinator)
[2019-10-06 01:30:32,813] INFO [GroupCoordinator 0]: Startup complete. (kafka.coordinator.group.GroupCoordinator)
[2019-10-06 01:30:33,409] INFO [GroupMetadataManager brokerId=0] Removed 0 expired offsets in 609 milliseconds. (kafka.coordinator.group.GroupMetadataManager
)
[2019-10-06 01:30:33,776] INFO [ProducerId Manager 0]: Acquired new producerId block (brokerId:0,blockStartProducerId:0,blockEndProducerId:999) by writing to
Zk with path version 1 (kafka.coordinator.transaction.ProducerIdManager)
[2019-10-06 01:30:36,279] INFO [TransactionCoordinator id=0] Starting up. (kafka.coordinator.transaction.TransactionCoordinator)
[2019-10-06 01:30:36,550] INFO [TransactionCoordinator id=0] Startup complete. (kafka.coordinator.transaction.TransactionCoordinator)
[2019-10-06 01:30:36,561] INFO [Transaction Marker Channel Manager 0]: Starting (kafka.coordinator.transaction.TransactionMarkerChannelManager)
[2019-10-06 01:30:41,939] INFO [/config/changes-event-process-thread]: Starting (kafka.common.ZkNodeChangeNotificationListener$ChangeEventProcessThread)
[2019-10-06 01:30:43,014] INFO Kafka version : 1.1.0 (org.apache.kafka.common.utils.AppInfoParser)
[2019-10-06 01:30:43,821] INFO Kafka commitId : fdcf75ea326b8e07 (org.apache.kafka.common.utils.AppInfoParser)
[2019-10-06 01:30:44,301] INFO [KafkaServer id=0] started (kafka.server.KafkaServer)
[2019-10-06 01:32:07,025] WARN [SocketServer brokerId=0] Unexpected error from /192.168.99.1; closing connection (org.apache.kafka.common.network.Selector)
org.apache.kafka.common.network.InvalidReceiveException: Invalid receive (size = 1195725856 larger than 104857600)
at org.apache.kafka.common.network.NetworkReceive.readFromReadableChannel(NetworkReceive.java:132)
at org.apache.kafka.common.network.NetworkReceive.readFrom(NetworkReceive.java:93)
at org.apache.kafka.common.network.KafkaChannel.receive(KafkaChannel.java:235)
at org.apache.kafka.common.network.KafkaChannel.read(KafkaChannel.java:196)
at org.apache.kafka.common.network.Selector.attemptRead(Selector.java:557)
at org.apache.kafka.common.network.Selector.pollSelectionKeys(Selector.java:495)
at org.apache.kafka.common.network.Selector.poll(Selector.java:424)
at kafka.network.Processor.poll(SocketServer.scala:628)
at kafka.network.Processor.run(SocketServer.scala:545)
at java.lang.Thread.run(Thread.java:745)
[2019-10-06 01:34:11,642] WARN Client session timed out, have not heard from server in 5055ms for sessionid 0x16d9eaefce70000 (org.apache.zookeeper.ClientCnx
n)
[2019-10-06 01:34:12,236] INFO Client session timed out, have not heard from server in 5055ms for sessionid 0x16d9eaefce70000, closing socket connection and
attempting reconnect (org.apache.zookeeper.ClientCnxn)
[2019-10-06 01:34:13,899] INFO Opening socket connection to server ftgo-application-master_zookeeper_1.ftgo-application-master_default/172.21.0.6:2181. Will
not attempt to authenticate using SASL (unknown error) (org.apache.zookeeper.ClientCnxn)
[2019-10-06 01:34:14,065] INFO Socket connection established to ftgo-application-master_zookeeper_1.ftgo-application-master_default/172.21.0.6:2181, initiati
ng session (org.apache.zookeeper.ClientCnxn)
[2019-10-06 01:34:16,032] WARN Unable to reconnect to ZooKeeper service, session 0x16d9eaefce70000 has expired (org.apache.zookeeper.ClientCnxn)
[2019-10-06 01:34:16,150] INFO Unable to reconnect to ZooKeeper service, session 0x16d9eaefce70000 has expired, closing socket connection (org.apache.zookeep
er.ClientCnxn)
[2019-10-06 01:34:16,931] INFO EventThread shut down for session: 0x16d9eaefce70000 (org.apache.zookeeper.ClientCnxn)
[2019-10-06 01:34:17,168] INFO [ZooKeeperClient] Session expired. (kafka.zookeeper.ZooKeeperClient)
[2019-10-06 01:34:17,583] INFO [ZooKeeperClient] Initializing a new session to zookeeper:2181. (kafka.zookeeper.ZooKeeperClient)
[2019-10-06 01:34:17,595] INFO Initiating client connection, connectString=zookeeper:2181 sessionTimeout=6000 watcher=kafka.zookeeper.ZooKeeperClient$ZooKeep
erClientWatcher$@be64738 (org.apache.zookeeper.ZooKeeper)
[2019-10-06 01:34:18,479] INFO Opening socket connection to server ftgo-application-master_zookeeper_1.ftgo-application-master_default/172.21.0.6:2181. Will
not attempt to authenticate using SASL (unknown error) (org.apache.zookeeper.ClientCnxn)
[2019-10-06 01:34:18,528] INFO Socket connection established to ftgo-application-master_zookeeper_1.ftgo-application-master_default/172.21.0.6:2181, initiati
ng session (org.apache.zookeeper.ClientCnxn)
[2019-10-06 01:34:18,945] INFO Session establishment complete on server ftgo-application-master_zookeeper_1.ftgo-application-master_default/172.21.0.6:2181,
sessionid = 0x16d9eaefce70001, negotiated timeout = 6000 (org.apache.zookeeper.ClientCnxn)
[2019-10-06 01:34:22,306] INFO Creating /brokers/ids/0 (is it secure? false) (kafka.zk.KafkaZkClient)
[2019-10-06 01:34:22,501] INFO Result of znode creation at /brokers/ids/0 is: OK (kafka.zk.KafkaZkClient)
[2019-10-06 01:34:22,540] INFO Registered broker 0 at path /brokers/ids/0 with addresses: ArrayBuffer(EndPoint(192.168.99.103,9092,ListenerName(PLAINTEXT),PL
AINTEXT)) (kafka.zk.KafkaZkClient)
[2019-10-06 01:34:24,524] INFO Creating /controller (is it secure? false) (kafka.zk.KafkaZkClient)
[2019-10-06 01:34:24,563] INFO Result of znode creation at /controller is: OK (kafka.zk.KafkaZkClient)

Proposal - use more structuring for service packages folders

Hello,

I propose to use more structuring of package folders in services. F.e. Order Service has big "domain"-package, that is a heap of different objects of different object types (entities, value objects, domain service, exceptions, repositories, commands, events, event hadlers, event publishers, configs, etc.).

As for me, it was difficult to correlate this one big heap of classes in "domain"-package with hexagonal architecture of service.

I did some rearrangement of packages/folder structure for my local version of FTGO app and it became more undestandable and readable (as for me).

Here is my proposal for folder structure of Order Service sources :

|-- domain
| |-- config
| |-- exceptions
| -- repositories |-- grpc |-- main |-- messaging | |-- commands | |-- events | -- sagas
| |-- cancelordersaga
| |-- createordersaga
| |-- reviseordersaga
| -- sagaparticipants -- web

https://imgur.com/a/4LQL38W

So in root "domain"-folder we have only a few classes (Entities, Value objects and Domain service):

Address.java
DeliveryInformation.java
LineItemQuantityChange.java
Order.java
OrderLineItems.java
OrderRevision.java
OrderService.java
PaymentInformation.java
Restaurant.java
Result.java
RevisedOrder.java
https://imgur.com/a/dxI7Fmw

Also, commands and events are grouped to corresponding folders under "messaging" folder:

https://imgur.com/a/tmOSPlt

The choice, of course, is up to the Author. I'm just giving my feedback that more detail folder structuring helped me to understand the app better.

Thanks,
Andrew

How Order History Service works without AWS account and how to see DB changes?

Hello,

I'm exploring EntToEndTests. It passes OK. It has a part "verifyOrderHistoryUpdated(int orderId, int consumerId)" - it seems it passes OK as well.
Questions:

  1. How it works without AWS account? DynamoDB is AWS service. As of my experience with AWS, you need to create account to use AWS services...

  2. How could one check updates in DynamoDB? F.e. I can see updates in MySQL schemas of main services in IntelliJ IDEA using MySQL Datasource in "Database"-tab. How should one configure DynamoDB connection, what should be connection properties (user, password, schema?) and what tool is appropriate to see DB changes?

Thanks,
Andrew

gradle-run of Integration Tests for Order Service goes to endless loop

Hi,

I'm trying to run integration tests with gradle from root project folder. Start conditions - docker-machine is started, all containers are deleted. Command:

$ ./gradlew :ftgo-order-service:cleanTest :ftgo-order-service:integrationTest --info

Loops on connect attempt to mysql_1, but mysql_1 container is stopped:

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ac7d5cb5cf92 ftgo-application_mysql "docker-entrypoint.s" 3 minutes ago Exited (127) 3 minutes ago ftgo-application_mysql_1

Output:


$ ./gradlew :ftgo-order-service:cleanTest :ftgo-order-service:integrationTest --info

Starting 3rd build in daemon [uptime: 5 mins 5.101 secs, performance: 100%, no major garbage collections]
Using 8 worker leases.
Starting Build

Configure project :buildSrc
Evaluating project ':buildSrc' using build file 'C:\IdeaProjects\Microservices\ftgo-application\buildSrc\build.gradle'.
Selected primary task 'build' from project :
:buildSrc:compileJava (Thread[Task worker for ':buildSrc' Thread 3,5,main]) started.

Task :buildSrc:compileJava NO-SOURCE
file or directory 'C:\IdeaProjects\Microservices\ftgo-application\buildSrc\src\main\java', not found
Skipping task ':buildSrc:compileJava' as it has no source files and no previous output files.
:buildSrc:compileJava (Thread[Task worker for ':buildSrc' Thread 3,5,main]) completed. Took 0.008 secs.
:buildSrc:compileGroovy (Thread[Task worker for ':buildSrc' Thread 3,5,main]) started.

Task :buildSrc:compileGroovy UP-TO-DATE
Skipping task ':buildSrc:compileGroovy' as it is up-to-date.
:buildSrc:compileGroovy (Thread[Task worker for ':buildSrc' Thread 3,5,main]) completed. Took 0.014 secs.
:buildSrc:processResources (Thread[Task worker for ':buildSrc' Thread 3,5,main]) started.

Task :buildSrc:processResources NO-SOURCE
file or directory 'C:\IdeaProjects\Microservices\ftgo-application\buildSrc\src\main\resources', not found
Skipping task ':buildSrc:processResources' as it has no source files and no previous output files.
:buildSrc:processResources (Thread[Task worker for ':buildSrc' Thread 3,5,main]) completed. Took 0.0 secs.
:buildSrc:classes (Thread[Task worker for ':buildSrc' Thread 3,5,main]) started.

Task :buildSrc:classes UP-TO-DATE
Skipping task ':buildSrc:classes' as it has no actions.
:buildSrc:classes (Thread[Task worker for ':buildSrc' Thread 3,5,main]) completed. Took 0.0 secs.
:buildSrc:jar (Thread[Task worker for ':buildSrc' Thread 3,5,main]) started.

Task :buildSrc:jar UP-TO-DATE
Skipping task ':buildSrc:jar' as it is up-to-date.
:buildSrc:jar (Thread[Task worker for ':buildSrc' Thread 3,5,main]) completed. Took 0.004 secs.
:buildSrc:assemble (Thread[Task worker for ':buildSrc' Thread 3,5,main]) started.

Task :buildSrc:assemble UP-TO-DATE
Skipping task ':buildSrc:assemble' as it has no actions.
:buildSrc:assemble (Thread[Task worker for ':buildSrc' Thread 3,5,main]) completed. Took 0.0 secs.
:buildSrc:compileTestJava (Thread[Task worker for ':buildSrc' Thread 3,5,main]) started.

Task :buildSrc:compileTestJava NO-SOURCE
file or directory 'C:\IdeaProjects\Microservices\ftgo-application\buildSrc\src\test\java', not found
Skipping task ':buildSrc:compileTestJava' as it has no source files and no previous output files.
:buildSrc:compileTestJava (Thread[Task worker for ':buildSrc' Thread 3,5,main]) completed. Took 0.001 secs.
:buildSrc:compileTestGroovy (Thread[Task worker for ':buildSrc' Thread 3,5,main]) started.

Task :buildSrc:compileTestGroovy NO-SOURCE
file or directory 'C:\IdeaProjects\Microservices\ftgo-application\buildSrc\src\test\groovy', not found
Skipping task ':buildSrc:compileTestGroovy' as it has no source files and no previous output files.
:buildSrc:compileTestGroovy (Thread[Task worker for ':buildSrc' Thread 3,5,main]) completed. Took 0.0 secs.
:buildSrc:processTestResources (Thread[Task worker for ':buildSrc' Thread 3,5,main]) started.

Task :buildSrc:processTestResources NO-SOURCE
file or directory 'C:\IdeaProjects\Microservices\ftgo-application\buildSrc\src\test\resources', not found
Skipping task ':buildSrc:processTestResources' as it has no source files and no previous output files.
:buildSrc:processTestResources (Thread[Task worker for ':buildSrc' Thread 3,5,main]) completed. Took 0.0 secs.
:buildSrc:testClasses (Thread[Task worker for ':buildSrc' Thread 3,5,main]) started.

Task :buildSrc:testClasses UP-TO-DATE
Skipping task ':buildSrc:testClasses' as it has no actions.
:buildSrc:testClasses (Thread[Task worker for ':buildSrc' Thread 3,5,main]) completed. Took 0.0 secs.
:buildSrc:test (Thread[Task worker for ':buildSrc' Thread 3,5,main]) started.

Task :buildSrc:test SKIPPED
Skipping task ':buildSrc:test' as task onlyIf is false.
:buildSrc:test (Thread[Task worker for ':buildSrc' Thread 3,5,main]) completed. Took 0.0 secs.
:buildSrc:check (Thread[Task worker for ':buildSrc' Thread 3,5,main]) started.

Task :buildSrc:check UP-TO-DATE
Skipping task ':buildSrc:check' as it has no actions.
:buildSrc:check (Thread[Task worker for ':buildSrc' Thread 3,5,main]) completed. Took 0.0 secs.
:buildSrc:build (Thread[Task worker for ':buildSrc' Thread 3,5,main]) started.

Task :buildSrc:build UP-TO-DATE
Skipping task ':buildSrc:build' as it has no actions.
:buildSrc:build (Thread[Task worker for ':buildSrc' Thread 3,5,main]) completed. Took 0.0 secs.
Settings evaluated using settings file 'C:\IdeaProjects\Microservices\ftgo-application\settings.gradle'.
Projects loaded. Root project using build file 'C:\IdeaProjects\Microservices\ftgo-application\build.gradle'.
Included projects: [root project 'ftgo-application', project ':common-swagger', project ':ftgo-accounting-service', project ':ftgo-accounting-service-api', project ':ftgo-accounting-service-contracts', project ':ftgo-api-gateway', project ':ftgo-common', project ':ftgo-common-jpa', project ':ftgo-consumer-service', project ':ftgo-consumer-service-api', project ':ftgo-consumer-service-contracts', project ':ftgo-end-to-end-tests', project ':ftgo-kitchen-service', project ':ftgo-kitchen-service-api', project ':ftgo-kitchen-service-contracts', project ':ftgo-order-history-service', project ':ftgo-order-service', project ':ftgo-order-service-api', project ':ftgo-order-service-contracts', project ':ftgo-restaurant-service', project ':ftgo-restaurant-service-api', project ':ftgo-restaurant-service-aws-lambda', project ':ftgo-test-util']

Configure project :
Evaluating root project 'ftgo-application' using build file 'C:\IdeaProjects\Microservices\ftgo-application\build.gradle'.

Configure project :common-swagger
Evaluating project ':common-swagger' using build file 'C:\IdeaProjects\Microservices\ftgo-application\common-swagger\build.gradle'.

Configure project :ftgo-accounting-service
Evaluating project ':ftgo-accounting-service' using build file 'C:\IdeaProjects\Microservices\ftgo-application\ftgo-accounting-service\build.gradle'.
Applying dependency management to configuration 'annotationProcessor' in project 'ftgo-accounting-service'
Applying dependency management to configuration 'apiElements' in project 'ftgo-accounting-service'
Applying dependency management to configuration 'archives' in project 'ftgo-accounting-service'
Applying dependency management to configuration 'bootArchives' in project 'ftgo-accounting-service'
Applying dependency management to configuration 'compile' in project 'ftgo-accounting-service'
Applying dependency management to configuration 'compileClasspath' in project 'ftgo-accounting-service'
Applying dependency management to configuration 'compileOnly' in project 'ftgo-accounting-service'
Applying dependency management to configuration 'default' in project 'ftgo-accounting-service'
Applying dependency management to configuration 'implementation' in project 'ftgo-accounting-service'
Applying dependency management to configuration 'pmd' in project 'ftgo-accounting-service'
Applying dependency management to configuration 'runtime' in project 'ftgo-accounting-service'
Applying dependency management to configuration 'runtimeClasspath' in project 'ftgo-accounting-service'
Applying dependency management to configuration 'runtimeElements' in project 'ftgo-accounting-service'
Applying dependency management to configuration 'runtimeOnly' in project 'ftgo-accounting-service'
Applying dependency management to configuration 'testAnnotationProcessor' in project 'ftgo-accounting-service'
Applying dependency management to configuration 'testCompile' in project 'ftgo-accounting-service'
Applying dependency management to configuration 'testCompileClasspath' in project 'ftgo-accounting-service'
Applying dependency management to configuration 'testCompileOnly' in project 'ftgo-accounting-service'
Applying dependency management to configuration 'testImplementation' in project 'ftgo-accounting-service'
Applying dependency management to configuration 'testRuntime' in project 'ftgo-accounting-service'
Applying dependency management to configuration 'testRuntimeClasspath' in project 'ftgo-accounting-service'
Applying dependency management to configuration 'testRuntimeOnly' in project 'ftgo-accounting-service'

Configure project :ftgo-accounting-service-api
Evaluating project ':ftgo-accounting-service-api' using build file 'C:\IdeaProjects\Microservices\ftgo-application\ftgo-accounting-service-api\build.gradle'.

Configure project :ftgo-accounting-service-contracts
Evaluating project ':ftgo-accounting-service-contracts' using build file 'C:\IdeaProjects\Microservices\ftgo-application\ftgo-accounting-service-contracts\build.gradle'.

Configure project :ftgo-api-gateway
Evaluating project ':ftgo-api-gateway' using build file 'C:\IdeaProjects\Microservices\ftgo-application\ftgo-api-gateway\build.gradle'.
Applying dependency management to configuration 'annotationProcessor' in project 'ftgo-api-gateway'
Applying dependency management to configuration 'apiElements' in project 'ftgo-api-gateway'
Applying dependency management to configuration 'archives' in project 'ftgo-api-gateway'
Applying dependency management to configuration 'compile' in project 'ftgo-api-gateway'
Applying dependency management to configuration 'compileClasspath' in project 'ftgo-api-gateway'
Applying dependency management to configuration 'compileOnly' in project 'ftgo-api-gateway'
Applying dependency management to configuration 'default' in project 'ftgo-api-gateway'
Applying dependency management to configuration 'implementation' in project 'ftgo-api-gateway'
Applying dependency management to configuration 'pmd' in project 'ftgo-api-gateway'
Applying dependency management to configuration 'runtime' in project 'ftgo-api-gateway'
Applying dependency management to configuration 'runtimeClasspath' in project 'ftgo-api-gateway'
Applying dependency management to configuration 'runtimeElements' in project 'ftgo-api-gateway'
Applying dependency management to configuration 'runtimeOnly' in project 'ftgo-api-gateway'
Applying dependency management to configuration 'testAnnotationProcessor' in project 'ftgo-api-gateway'
Applying dependency management to configuration 'testCompile' in project 'ftgo-api-gateway'
Applying dependency management to configuration 'testCompileClasspath' in project 'ftgo-api-gateway'
Applying dependency management to configuration 'testCompileOnly' in project 'ftgo-api-gateway'
Applying dependency management to configuration 'testImplementation' in project 'ftgo-api-gateway'
Applying dependency management to configuration 'testRuntime' in project 'ftgo-api-gateway'
Applying dependency management to configuration 'testRuntimeClasspath' in project 'ftgo-api-gateway'
Applying dependency management to configuration 'testRuntimeOnly' in project 'ftgo-api-gateway'
Applying dependency management to configuration 'bootArchives' in project 'ftgo-api-gateway'

Configure project :ftgo-common
Evaluating project ':ftgo-common' using build file 'C:\IdeaProjects\Microservices\ftgo-application\ftgo-common\build.gradle'.

Configure project :ftgo-common-jpa
Evaluating project ':ftgo-common-jpa' using build file 'C:\IdeaProjects\Microservices\ftgo-application\ftgo-common-jpa\build.gradle'.

Configure project :ftgo-consumer-service
Evaluating project ':ftgo-consumer-service' using build file 'C:\IdeaProjects\Microservices\ftgo-application\ftgo-consumer-service\build.gradle'.
Applying dependency management to configuration 'annotationProcessor' in project 'ftgo-consumer-service'
Applying dependency management to configuration 'apiElements' in project 'ftgo-consumer-service'
Applying dependency management to configuration 'archives' in project 'ftgo-consumer-service'
Applying dependency management to configuration 'bootArchives' in project 'ftgo-consumer-service'
Applying dependency management to configuration 'compile' in project 'ftgo-consumer-service'
Applying dependency management to configuration 'compileClasspath' in project 'ftgo-consumer-service'
Applying dependency management to configuration 'compileOnly' in project 'ftgo-consumer-service'
Applying dependency management to configuration 'default' in project 'ftgo-consumer-service'
Applying dependency management to configuration 'implementation' in project 'ftgo-consumer-service'
Applying dependency management to configuration 'pmd' in project 'ftgo-consumer-service'
Applying dependency management to configuration 'runtime' in project 'ftgo-consumer-service'
Applying dependency management to configuration 'runtimeClasspath' in project 'ftgo-consumer-service'
Applying dependency management to configuration 'runtimeElements' in project 'ftgo-consumer-service'
Applying dependency management to configuration 'runtimeOnly' in project 'ftgo-consumer-service'
Applying dependency management to configuration 'testAnnotationProcessor' in project 'ftgo-consumer-service'
Applying dependency management to configuration 'testCompile' in project 'ftgo-consumer-service'
Applying dependency management to configuration 'testCompileClasspath' in project 'ftgo-consumer-service'
Applying dependency management to configuration 'testCompileOnly' in project 'ftgo-consumer-service'
Applying dependency management to configuration 'testImplementation' in project 'ftgo-consumer-service'
Applying dependency management to configuration 'testRuntime' in project 'ftgo-consumer-service'
Applying dependency management to configuration 'testRuntimeClasspath' in project 'ftgo-consumer-service'
Applying dependency management to configuration 'testRuntimeOnly' in project 'ftgo-consumer-service'

Configure project :ftgo-consumer-service-api
Evaluating project ':ftgo-consumer-service-api' using build file 'C:\IdeaProjects\Microservices\ftgo-application\ftgo-consumer-service-api\build.gradle'.

Configure project :ftgo-consumer-service-contracts
Evaluating project ':ftgo-consumer-service-contracts' using build file 'C:\IdeaProjects\Microservices\ftgo-application\ftgo-consumer-service-contracts\build.gradle'.

Configure project :ftgo-end-to-end-tests
Evaluating project ':ftgo-end-to-end-tests' using build file 'C:\IdeaProjects\Microservices\ftgo-application\ftgo-end-to-end-tests\build.gradle'.

Configure project :ftgo-kitchen-service
Evaluating project ':ftgo-kitchen-service' using build file 'C:\IdeaProjects\Microservices\ftgo-application\ftgo-kitchen-service\build.gradle'.
Applying dependency management to configuration 'annotationProcessor' in project 'ftgo-kitchen-service'
Applying dependency management to configuration 'apiElements' in project 'ftgo-kitchen-service'
Applying dependency management to configuration 'archives' in project 'ftgo-kitchen-service'
Applying dependency management to configuration 'compile' in project 'ftgo-kitchen-service'
Applying dependency management to configuration 'compileClasspath' in project 'ftgo-kitchen-service'
Applying dependency management to configuration 'compileOnly' in project 'ftgo-kitchen-service'
Applying dependency management to configuration 'default' in project 'ftgo-kitchen-service'
Applying dependency management to configuration 'implementation' in project 'ftgo-kitchen-service'
Applying dependency management to configuration 'pmd' in project 'ftgo-kitchen-service'
Applying dependency management to configuration 'runtime' in project 'ftgo-kitchen-service'
Applying dependency management to configuration 'runtimeClasspath' in project 'ftgo-kitchen-service'
Applying dependency management to configuration 'runtimeElements' in project 'ftgo-kitchen-service'
Applying dependency management to configuration 'runtimeOnly' in project 'ftgo-kitchen-service'
Applying dependency management to configuration 'testAnnotationProcessor' in project 'ftgo-kitchen-service'
Applying dependency management to configuration 'testCompile' in project 'ftgo-kitchen-service'
Applying dependency management to configuration 'testCompileClasspath' in project 'ftgo-kitchen-service'
Applying dependency management to configuration 'testCompileOnly' in project 'ftgo-kitchen-service'
Applying dependency management to configuration 'testImplementation' in project 'ftgo-kitchen-service'
Applying dependency management to configuration 'testRuntime' in project 'ftgo-kitchen-service'
Applying dependency management to configuration 'testRuntimeClasspath' in project 'ftgo-kitchen-service'
Applying dependency management to configuration 'testRuntimeOnly' in project 'ftgo-kitchen-service'
Applying dependency management to configuration 'bootArchives' in project 'ftgo-kitchen-service'

Configure project :ftgo-kitchen-service-api
Evaluating project ':ftgo-kitchen-service-api' using build file 'C:\IdeaProjects\Microservices\ftgo-application\ftgo-kitchen-service-api\build.gradle'.

Configure project :ftgo-kitchen-service-contracts
Evaluating project ':ftgo-kitchen-service-contracts' using build file 'C:\IdeaProjects\Microservices\ftgo-application\ftgo-kitchen-service-contracts\build.gradle'.

Configure project :ftgo-order-history-service
Evaluating project ':ftgo-order-history-service' using build file 'C:\IdeaProjects\Microservices\ftgo-application\ftgo-order-history-service\build.gradle'.
Applying dependency management to configuration 'annotationProcessor' in project 'ftgo-order-history-service'
Applying dependency management to configuration 'apiElements' in project 'ftgo-order-history-service'
Applying dependency management to configuration 'archives' in project 'ftgo-order-history-service'
Applying dependency management to configuration 'bootArchives' in project 'ftgo-order-history-service'
Applying dependency management to configuration 'compile' in project 'ftgo-order-history-service'
Applying dependency management to configuration 'compileClasspath' in project 'ftgo-order-history-service'
Applying dependency management to configuration 'compileOnly' in project 'ftgo-order-history-service'
Applying dependency management to configuration 'default' in project 'ftgo-order-history-service'
Applying dependency management to configuration 'implementation' in project 'ftgo-order-history-service'
Applying dependency management to configuration 'pmd' in project 'ftgo-order-history-service'
Applying dependency management to configuration 'runtime' in project 'ftgo-order-history-service'
Applying dependency management to configuration 'runtimeClasspath' in project 'ftgo-order-history-service'
Applying dependency management to configuration 'runtimeElements' in project 'ftgo-order-history-service'
Applying dependency management to configuration 'runtimeOnly' in project 'ftgo-order-history-service'
Applying dependency management to configuration 'testAnnotationProcessor' in project 'ftgo-order-history-service'
Applying dependency management to configuration 'testCompile' in project 'ftgo-order-history-service'
Applying dependency management to configuration 'testCompileClasspath' in project 'ftgo-order-history-service'
Applying dependency management to configuration 'testCompileOnly' in project 'ftgo-order-history-service'
Applying dependency management to configuration 'testImplementation' in project 'ftgo-order-history-service'
Applying dependency management to configuration 'testRuntime' in project 'ftgo-order-history-service'
Applying dependency management to configuration 'testRuntimeClasspath' in project 'ftgo-order-history-service'
Applying dependency management to configuration 'testRuntimeOnly' in project 'ftgo-order-history-service'
Applying dependency management to configuration 'integrationTestCompile' in project 'ftgo-order-history-service'
Applying dependency management to configuration 'integrationTestImplementation' in project 'ftgo-order-history-service'
Applying dependency management to configuration 'integrationTestRuntime' in project 'ftgo-order-history-service'
Applying dependency management to configuration 'integrationTestCompileOnly' in project 'ftgo-order-history-service'
Applying dependency management to configuration 'integrationTestCompileClasspath' in project 'ftgo-order-history-service'
Applying dependency management to configuration 'integrationTestAnnotationProcessor' in project 'ftgo-order-history-service'
Applying dependency management to configuration 'integrationTestRuntimeOnly' in project 'ftgo-order-history-service'
Applying dependency management to configuration 'integrationTestRuntimeClasspath' in project 'ftgo-order-history-service'

Configure project :ftgo-order-service
Evaluating project ':ftgo-order-service' using build file 'C:\IdeaProjects\Microservices\ftgo-application\ftgo-order-service\build.gradle'.
Applying dependency management to configuration 'annotationProcessor' in project 'ftgo-order-service'
Applying dependency management to configuration 'apiElements' in project 'ftgo-order-service'
Applying dependency management to configuration 'archives' in project 'ftgo-order-service'
Applying dependency management to configuration 'bootArchives' in project 'ftgo-order-service'
Applying dependency management to configuration 'compile' in project 'ftgo-order-service'
Applying dependency management to configuration 'compileClasspath' in project 'ftgo-order-service'
Applying dependency management to configuration 'compileOnly' in project 'ftgo-order-service'
Applying dependency management to configuration 'default' in project 'ftgo-order-service'
Applying dependency management to configuration 'implementation' in project 'ftgo-order-service'
Applying dependency management to configuration 'pmd' in project 'ftgo-order-service'
Applying dependency management to configuration 'runtime' in project 'ftgo-order-service'
Applying dependency management to configuration 'runtimeClasspath' in project 'ftgo-order-service'
Applying dependency management to configuration 'runtimeElements' in project 'ftgo-order-service'
Applying dependency management to configuration 'runtimeOnly' in project 'ftgo-order-service'
Applying dependency management to configuration 'testAnnotationProcessor' in project 'ftgo-order-service'
Applying dependency management to configuration 'testCompile' in project 'ftgo-order-service'
Applying dependency management to configuration 'testCompileClasspath' in project 'ftgo-order-service'
Applying dependency management to configuration 'testCompileOnly' in project 'ftgo-order-service'
Applying dependency management to configuration 'testImplementation' in project 'ftgo-order-service'
Applying dependency management to configuration 'testRuntime' in project 'ftgo-order-service'
Applying dependency management to configuration 'testRuntimeClasspath' in project 'ftgo-order-service'
Applying dependency management to configuration 'testRuntimeOnly' in project 'ftgo-order-service'
Applying dependency management to configuration 'protobuf' in project 'ftgo-order-service'
Applying dependency management to configuration 'testProtobuf' in project 'ftgo-order-service'
Applying dependency management to configuration 'integrationTestCompile' in project 'ftgo-order-service'
Applying dependency management to configuration 'integrationTestImplementation' in project 'ftgo-order-service'
Applying dependency management to configuration 'integrationTestRuntime' in project 'ftgo-order-service'
Applying dependency management to configuration 'integrationTestCompileOnly' in project 'ftgo-order-service'
Applying dependency management to configuration 'integrationTestCompileClasspath' in project 'ftgo-order-service'
Applying dependency management to configuration 'integrationTestAnnotationProcessor' in project 'ftgo-order-service'
Applying dependency management to configuration 'integrationTestRuntimeOnly' in project 'ftgo-order-service'
Applying dependency management to configuration 'integrationTestRuntimeClasspath' in project 'ftgo-order-service'
Applying dependency management to configuration 'integrationTestProtobuf' in project 'ftgo-order-service'
Applying dependency management to configuration 'componentTestCompile' in project 'ftgo-order-service'
Applying dependency management to configuration 'componentTestImplementation' in project 'ftgo-order-service'
Applying dependency management to configuration 'componentTestRuntime' in project 'ftgo-order-service'
Applying dependency management to configuration 'componentTestCompileOnly' in project 'ftgo-order-service'
Applying dependency management to configuration 'componentTestCompileClasspath' in project 'ftgo-order-service'
Applying dependency management to configuration 'componentTestAnnotationProcessor' in project 'ftgo-order-service'
Applying dependency management to configuration 'componentTestRuntimeOnly' in project 'ftgo-order-service'
Applying dependency management to configuration 'componentTestRuntimeClasspath' in project 'ftgo-order-service'
Applying dependency management to configuration 'componentTestProtobuf' in project 'ftgo-order-service'
Applying dependency management to configuration 'protobufToolsLocator_protoc' in project 'ftgo-order-service'


Detecting the operating system and CPU architecture

os.detected.name=windows
os.detected.arch=x86_64
os.detected.classifier=windows-x86_64
Applying dependency management to configuration 'protobufToolsLocator_grpc' in project 'ftgo-order-service'

Configure project :ftgo-order-service-api
Evaluating project ':ftgo-order-service-api' using build file 'C:\IdeaProjects\Microservices\ftgo-application\ftgo-order-service-api\build.gradle'.

Configure project :ftgo-order-service-contracts
Evaluating project ':ftgo-order-service-contracts' using build file 'C:\IdeaProjects\Microservices\ftgo-application\ftgo-order-service-contracts\build.gradle'.

Configure project :ftgo-restaurant-service
Evaluating project ':ftgo-restaurant-service' using build file 'C:\IdeaProjects\Microservices\ftgo-application\ftgo-restaurant-service\build.gradle'.
Applying dependency management to configuration 'annotationProcessor' in project 'ftgo-restaurant-service'
Applying dependency management to configuration 'apiElements' in project 'ftgo-restaurant-service'
Applying dependency management to configuration 'archives' in project 'ftgo-restaurant-service'
Applying dependency management to configuration 'bootArchives' in project 'ftgo-restaurant-service'
Applying dependency management to configuration 'compile' in project 'ftgo-restaurant-service'
Applying dependency management to configuration 'compileClasspath' in project 'ftgo-restaurant-service'
Applying dependency management to configuration 'compileOnly' in project 'ftgo-restaurant-service'
Applying dependency management to configuration 'default' in project 'ftgo-restaurant-service'
Applying dependency management to configuration 'implementation' in project 'ftgo-restaurant-service'
Applying dependency management to configuration 'pmd' in project 'ftgo-restaurant-service'
Applying dependency management to configuration 'runtime' in project 'ftgo-restaurant-service'
Applying dependency management to configuration 'runtimeClasspath' in project 'ftgo-restaurant-service'
Applying dependency management to configuration 'runtimeElements' in project 'ftgo-restaurant-service'
Applying dependency management to configuration 'runtimeOnly' in project 'ftgo-restaurant-service'
Applying dependency management to configuration 'testAnnotationProcessor' in project 'ftgo-restaurant-service'
Applying dependency management to configuration 'testCompile' in project 'ftgo-restaurant-service'
Applying dependency management to configuration 'testCompileClasspath' in project 'ftgo-restaurant-service'
Applying dependency management to configuration 'testCompileOnly' in project 'ftgo-restaurant-service'
Applying dependency management to configuration 'testImplementation' in project 'ftgo-restaurant-service'
Applying dependency management to configuration 'testRuntime' in project 'ftgo-restaurant-service'
Applying dependency management to configuration 'testRuntimeClasspath' in project 'ftgo-restaurant-service'
Applying dependency management to configuration 'testRuntimeOnly' in project 'ftgo-restaurant-service'

Configure project :ftgo-restaurant-service-api
Evaluating project ':ftgo-restaurant-service-api' using build file 'C:\IdeaProjects\Microservices\ftgo-application\ftgo-restaurant-service-api\build.gradle'.

Configure project :ftgo-restaurant-service-aws-lambda
Evaluating project ':ftgo-restaurant-service-aws-lambda' using build file 'C:\IdeaProjects\Microservices\ftgo-application\ftgo-restaurant-service-aws-lambda\build.gradle'.

Configure project :ftgo-test-util
Evaluating project ':ftgo-test-util' using build file 'C:\IdeaProjects\Microservices\ftgo-application\ftgo-test-util\build.gradle'.
All projects evaluated.
Selected primary task ':ftgo-order-service:cleanTest' from project :ftgo-order-service
Selected primary task ':ftgo-order-service:integrationTest' from project :ftgo-order-service
Tasks to be executed: [task ':ftgo-order-service:cleanTest', task ':common-swagger:compileJava', task ':common-swagger:processResources', task ':common-swagger:classes', task ':common-swagger:jar', task ':ftgo-common:compileJava', task ':ftgo-common:processResources', task ':ftgo-common:classes', task ':ftgo-common:jar', task ':ftgo-accounting-service-api:compileJava', task ':ftgo-accounting-service-api:processResources', task ':ftgo-accounting-service-api:classes', task ':ftgo-accounting-service-api:jar', task ':ftgo-common-jpa:compileJava', task ':ftgo-common-jpa:processResources', task ':ftgo-common-jpa:classes', task ':ftgo-common-jpa:jar', task ':ftgo-consumer-service-api:compileJava', task ':ftgo-consumer-service-api:processResources', task ':ftgo-consumer-service-api:classes', task ':ftgo-consumer-service-api:jar', task ':ftgo-kitchen-service-api:compileJava', task ':ftgo-kitchen-service-api:processResources', task ':ftgo-kitchen-service-api:classes', task ':ftgo-kitchen-service-api:jar', task ':ftgo-order-service-api:compileJava', task ':ftgo-order-service-api:processResources', task ':ftgo-order-service-api:classes', task ':ftgo-order-service-api:jar', task ':ftgo-restaurant-service-api:compileJava', task ':ftgo-restaurant-service-api:processResources', task ':ftgo-restaurant-service-api:classes', task ':ftgo-restaurant-service-api:jar', task ':ftgo-order-service:extractIncludeProto', task ':ftgo-order-service:extractProto', task ':ftgo-order-service:generateProto', task ':ftgo-order-service:compileJava', task ':ftgo-order-service:compileGroovy', task ':ftgo-order-service:processResources', task ':ftgo-order-service:classes', task ':ftgo-order-service:copyContracts', task ':ftgo-order-service:generateContractTests', task ':ftgo-test-util:compileJava', task ':ftgo-test-util:processResources', task ':ftgo-test-util:classes', task ':ftgo-test-util:jar', task ':ftgo-order-service:extractIncludeTestProto', task ':ftgo-order-service:extractTestProto', task ':ftgo-order-service:generateTestProto', task ':ftgo-order-service:compileTestJava', task ':ftgo-order-service:compileTestGroovy', task ':ftgo-order-service:processTestResources', task ':ftgo-order-service:testClasses', task ':ftgo-order-service:extractIncludeIntegrationTestProto', task ':ftgo-order-service:extractIntegrationTestProto', task ':ftgo-order-service:generateIntegrationTestProto', task ':ftgo-order-service:compileIntegrationTestJava', task ':ftgo-order-service:compileIntegrationTestGroovy', task ':ftgo-order-service:processIntegrationTestResources', task ':ftgo-order-service:integrationTestClasses', task ':ftgo-order-service:integrationTestsComposeUp', task ':ftgo-order-service:integrationTest']
:ftgo-order-service:cleanTest (Thread[Task worker for ':',5,main]) started.

Task :ftgo-order-service:cleanTest UP-TO-DATE
Task ':ftgo-order-service:cleanTest' is not up-to-date because:
Task has not declared any outputs despite executing actions.
:ftgo-order-service:cleanTest (Thread[Task worker for ':',5,main]) completed. Took 0.006 secs.
:common-swagger:compileJava (Thread[Task worker for ':',5,main]) started.

Task :common-swagger:compileJava UP-TO-DATE
Skipping task ':common-swagger:compileJava' as it is up-to-date.
:common-swagger:compileJava (Thread[Task worker for ':',5,main]) completed. Took 2.629 secs.
:common-swagger:processResources (Thread[Task worker for ':',5,main]) started.

Task :common-swagger:processResources NO-SOURCE
file or directory 'C:\IdeaProjects\Microservices\ftgo-application\common-swagger\src\main\resources', not found
Skipping task ':common-swagger:processResources' as it has no source files and no previous output files.
:common-swagger:processResources (Thread[Task worker for ':',5,main]) completed. Took 0.0 secs.
:common-swagger:classes (Thread[Task worker for ':',5,main]) started.

Task :common-swagger:classes UP-TO-DATE
Skipping task ':common-swagger:classes' as it has no actions.
:common-swagger:classes (Thread[Task worker for ':',5,main]) completed. Took 0.0 secs.
:common-swagger:jar (Thread[Task worker for ':',5,main]) started.

Task :common-swagger:jar UP-TO-DATE
Skipping task ':common-swagger:jar' as it is up-to-date.
:common-swagger:jar (Thread[Task worker for ':',5,main]) completed. Took 0.008 secs.
:ftgo-common:compileJava (Thread[Task worker for ':',5,main]) started.

Task :ftgo-common:compileJava UP-TO-DATE
Skipping task ':ftgo-common:compileJava' as it is up-to-date.
:ftgo-common:compileJava (Thread[Task worker for ':',5,main]) completed. Took 0.043 secs.
:ftgo-common:processResources (Thread[Task worker for ':',5,main]) started.

Task :ftgo-common:processResources NO-SOURCE
file or directory 'C:\IdeaProjects\Microservices\ftgo-application\ftgo-common\src\main\resources', not found
Skipping task ':ftgo-common:processResources' as it has no source files and no previous output files.
:ftgo-common:processResources (Thread[Task worker for ':',5,main]) completed. Took 0.0 secs.
:ftgo-common:classes (Thread[Task worker for ':',5,main]) started.

Task :ftgo-common:classes UP-TO-DATE
Skipping task ':ftgo-common:classes' as it has no actions.
:ftgo-common:classes (Thread[Task worker for ':',5,main]) completed. Took 0.0 secs.
:ftgo-common:jar (Thread[Task worker for ':',5,main]) started.

Task :ftgo-common:jar UP-TO-DATE
Skipping task ':ftgo-common:jar' as it is up-to-date.
:ftgo-common:jar (Thread[Task worker for ':',5,main]) completed. Took 0.006 secs.
:ftgo-accounting-service-api:compileJava (Thread[Task worker for ':',5,main]) started.

Task :ftgo-accounting-service-api:compileJava UP-TO-DATE
Skipping task ':ftgo-accounting-service-api:compileJava' as it is up-to-date.
:ftgo-accounting-service-api:compileJava (Thread[Task worker for ':',5,main]) completed. Took 0.043 secs.
:ftgo-accounting-service-api:processResources (Thread[Task worker for ':',5,main]) started.

Task :ftgo-accounting-service-api:processResources NO-SOURCE
file or directory 'C:\IdeaProjects\Microservices\ftgo-application\ftgo-accounting-service-api\src\main\resources', not found
Skipping task ':ftgo-accounting-service-api:processResources' as it has no source files and no previous output files.
:ftgo-accounting-service-api:processResources (Thread[Task worker for ':',5,main]) completed. Took 0.0 secs.
:ftgo-accounting-service-api:classes (Thread[Task worker for ':',5,main]) started.

Task :ftgo-accounting-service-api:classes UP-TO-DATE
Skipping task ':ftgo-accounting-service-api:classes' as it has no actions.
:ftgo-accounting-service-api:classes (Thread[Task worker for ':',5,main]) completed. Took 0.0 secs.
:ftgo-accounting-service-api:jar (Thread[Task worker for ':',5,main]) started.

Task :ftgo-accounting-service-api:jar UP-TO-DATE
Skipping task ':ftgo-accounting-service-api:jar' as it is up-to-date.
:ftgo-accounting-service-api:jar (Thread[Task worker for ':',5,main]) completed. Took 0.009 secs.
:ftgo-common-jpa:compileJava (Thread[Task worker for ':',5,main]) started.

Task :ftgo-common-jpa:compileJava NO-SOURCE
file or directory 'C:\IdeaProjects\Microservices\ftgo-application\ftgo-common-jpa\src\main\java', not found
Skipping task ':ftgo-common-jpa:compileJava' as it has no source files and no previous output files.
:ftgo-common-jpa:compileJava (Thread[Task worker for ':',5,main]) completed. Took 0.001 secs.
:ftgo-common-jpa:processResources (Thread[Task worker for ':',5,main]) started.

Task :ftgo-common-jpa:processResources UP-TO-DATE
Skipping task ':ftgo-common-jpa:processResources' as it is up-to-date.
:ftgo-common-jpa:processResources (Thread[Task worker for ':',5,main]) completed. Took 0.004 secs.
:ftgo-common-jpa:classes (Thread[Task worker for ':',5,main]) started.

Task :ftgo-common-jpa:classes UP-TO-DATE
Skipping task ':ftgo-common-jpa:classes' as it has no actions.
:ftgo-common-jpa:classes (Thread[Task worker for ':',5,main]) completed. Took 0.0 secs.
:ftgo-common-jpa:jar (Thread[Task worker for ':',5,main]) started.

Task :ftgo-common-jpa:jar UP-TO-DATE
Skipping task ':ftgo-common-jpa:jar' as it is up-to-date.
:ftgo-common-jpa:jar (Thread[Task worker for ':',5,main]) completed. Took 0.005 secs.
:ftgo-consumer-service-api:compileJava (Thread[Task worker for ':',5,main]) started.

Task :ftgo-consumer-service-api:compileJava UP-TO-DATE
Skipping task ':ftgo-consumer-service-api:compileJava' as it is up-to-date.
:ftgo-consumer-service-api:compileJava (Thread[Task worker for ':',5,main]) completed. Took 0.024 secs.
:ftgo-consumer-service-api:processResources (Thread[Task worker for ':',5,main]) started.

Task :ftgo-consumer-service-api:processResources NO-SOURCE
file or directory 'C:\IdeaProjects\Microservices\ftgo-application\ftgo-consumer-service-api\src\main\resources', not found
Skipping task ':ftgo-consumer-service-api:processResources' as it has no source files and no previous output files.
:ftgo-consumer-service-api:processResources (Thread[Task worker for ':',5,main]) completed. Took 0.001 secs.
:ftgo-consumer-service-api:classes (Thread[Task worker for ':',5,main]) started.

Task :ftgo-consumer-service-api:classes UP-TO-DATE
Skipping task ':ftgo-consumer-service-api:classes' as it has no actions.
:ftgo-consumer-service-api:classes (Thread[Task worker for ':',5,main]) completed. Took 0.0 secs.
:ftgo-consumer-service-api:jar (Thread[Task worker for ':',5,main]) started.

Task :ftgo-consumer-service-api:jar UP-TO-DATE
Skipping task ':ftgo-consumer-service-api:jar' as it is up-to-date.
:ftgo-consumer-service-api:jar (Thread[Task worker for ':',5,main]) completed. Took 0.006 secs.
:ftgo-kitchen-service-api:compileJava (Thread[Task worker for ':' Thread 2,5,main]) started.

Task :ftgo-kitchen-service-api:compileJava UP-TO-DATE
Skipping task ':ftgo-kitchen-service-api:compileJava' as it is up-to-date.
:ftgo-kitchen-service-api:compileJava (Thread[Task worker for ':' Thread 2,5,main]) completed. Took 0.027 secs.
:ftgo-kitchen-service-api:processResources (Thread[Task worker for ':' Thread 2,5,main]) started.

Task :ftgo-kitchen-service-api:processResources NO-SOURCE
file or directory 'C:\IdeaProjects\Microservices\ftgo-application\ftgo-kitchen-service-api\src\main\resources', not found
Skipping task ':ftgo-kitchen-service-api:processResources' as it has no source files and no previous output files.
:ftgo-kitchen-service-api:processResources (Thread[Task worker for ':' Thread 2,5,main]) completed. Took 0.0 secs.
:ftgo-kitchen-service-api:classes (Thread[Task worker for ':' Thread 2,5,main]) started.

Task :ftgo-kitchen-service-api:classes UP-TO-DATE
Skipping task ':ftgo-kitchen-service-api:classes' as it has no actions.
:ftgo-kitchen-service-api:classes (Thread[Task worker for ':' Thread 2,5,main]) completed. Took 0.0 secs.
:ftgo-kitchen-service-api:jar (Thread[Task worker for ':' Thread 2,5,main]) started.

Task :ftgo-kitchen-service-api:jar UP-TO-DATE
Skipping task ':ftgo-kitchen-service-api:jar' as it is up-to-date.
:ftgo-kitchen-service-api:jar (Thread[Task worker for ':' Thread 2,5,main]) completed. Took 0.007 secs.
:ftgo-order-service-api:compileJava (Thread[Task worker for ':' Thread 2,5,main]) started.

Task :ftgo-order-service-api:compileJava UP-TO-DATE
Skipping task ':ftgo-order-service-api:compileJava' as it is up-to-date.
:ftgo-order-service-api:compileJava (Thread[Task worker for ':' Thread 2,5,main]) completed. Took 0.037 secs.
:ftgo-order-service-api:processResources (Thread[Task worker for ':' Thread 2,5,main]) started.

Task :ftgo-order-service-api:processResources NO-SOURCE
file or directory 'C:\IdeaProjects\Microservices\ftgo-application\ftgo-order-service-api\src\main\resources', not found
Skipping task ':ftgo-order-service-api:processResources' as it has no source files and no previous output files.
:ftgo-order-service-api:processResources (Thread[Task worker for ':' Thread 2,5,main]) completed. Took 0.0 secs.
:ftgo-order-service-api:classes (Thread[Task worker for ':' Thread 2,5,main]) started.

Task :ftgo-order-service-api:classes UP-TO-DATE
Skipping task ':ftgo-order-service-api:classes' as it has no actions.
:ftgo-order-service-api:classes (Thread[Task worker for ':' Thread 2,5,main]) completed. Took 0.0 secs.
:ftgo-order-service-api:jar (Thread[Task worker for ':' Thread 2,5,main]) started.

Task :ftgo-order-service-api:jar UP-TO-DATE
Skipping task ':ftgo-order-service-api:jar' as it is up-to-date.
:ftgo-order-service-api:jar (Thread[Task worker for ':' Thread 2,5,main]) completed. Took 0.006 secs.
:ftgo-restaurant-service-api:compileJava (Thread[Task worker for ':' Thread 2,5,main]) started.

Task :ftgo-restaurant-service-api:compileJava UP-TO-DATE
Skipping task ':ftgo-restaurant-service-api:compileJava' as it is up-to-date.
:ftgo-restaurant-service-api:compileJava (Thread[Task worker for ':' Thread 2,5,main]) completed. Took 0.022 secs.
:ftgo-restaurant-service-api:processResources (Thread[Task worker for ':' Thread 2,5,main]) started.

Task :ftgo-restaurant-service-api:processResources NO-SOURCE
file or directory 'C:\IdeaProjects\Microservices\ftgo-application\ftgo-restaurant-service-api\src\main\resources', not found
Skipping task ':ftgo-restaurant-service-api:processResources' as it has no source files and no previous output files.
:ftgo-restaurant-service-api:processResources (Thread[Task worker for ':' Thread 2,5,main]) completed. Took 0.0 secs.
:ftgo-restaurant-service-api:classes (Thread[Task worker for ':' Thread 2,5,main]) started.

Task :ftgo-restaurant-service-api:classes UP-TO-DATE
Skipping task ':ftgo-restaurant-service-api:classes' as it has no actions.
:ftgo-restaurant-service-api:classes (Thread[Task worker for ':' Thread 2,5,main]) completed. Took 0.0 secs.
:ftgo-restaurant-service-api:jar (Thread[Task worker for ':' Thread 2,5,main]) started.

Task :ftgo-restaurant-service-api:jar UP-TO-DATE
Skipping task ':ftgo-restaurant-service-api:jar' as it is up-to-date.
:ftgo-restaurant-service-api:jar (Thread[Task worker for ':' Thread 2,5,main]) completed. Took 0.006 secs.
:ftgo-order-service:extractIncludeProto (Thread[Task worker for ':' Thread 2,5,main]) started.

Task :ftgo-order-service:extractIncludeProto
Resolving global dependency management for project 'ftgo-order-service'
Excluding [org.apache.tomcat:tomcat-annotations-api, ognl:ognl]
Excluding []
Skipping task ':ftgo-order-service:extractIncludeProto' as it is up-to-date.

Task :ftgo-order-service:extractIncludeProto UP-TO-DATE
:ftgo-order-service:extractIncludeProto (Thread[Task worker for ':' Thread 2,5,main]) completed. Took 2.417 secs.
:ftgo-order-service:extractProto (Thread[Task worker for ':' Thread 2,5,main]) started.

Task :ftgo-order-service:extractProto UP-TO-DATE
Excluding []
Skipping task ':ftgo-order-service:extractProto' as it is up-to-date.
:ftgo-order-service:extractProto (Thread[Task worker for ':' Thread 2,5,main]) completed. Took 0.002 secs.
:ftgo-order-service:generateProto (Thread[Task worker for ':' Thread 2,5,main]) started.

Task :ftgo-order-service:generateProto UP-TO-DATE
Excluding []
Excluding []
Skipping task ':ftgo-order-service:generateProto' as it is up-to-date.
:ftgo-order-service:generateProto (Thread[Task worker for ':' Thread 2,5,main]) completed. Took 0.046 secs.
:ftgo-order-service:compileJava (Thread[Task worker for ':' Thread 2,5,main]) started.

Task :ftgo-order-service:compileJava UP-TO-DATE
Excluding []
Skipping task ':ftgo-order-service:compileJava' as it is up-to-date.
:ftgo-order-service:compileJava (Thread[Task worker for ':' Thread 2,5,main]) completed. Took 0.058 secs.
:ftgo-order-service:compileGroovy (Thread[Task worker for ':' Thread 2,5,main]) started.

Task :ftgo-order-service:compileGroovy NO-SOURCE
file or directory 'C:\IdeaProjects\Microservices\ftgo-application\ftgo-order-service\src\main\groovy', not found
Skipping task ':ftgo-order-service:compileGroovy' as it has no source files and no previous output files.
:ftgo-order-service:compileGroovy (Thread[Task worker for ':' Thread 2,5,main]) completed. Took 0.001 secs.
:ftgo-order-service:processResources (Thread[Task worker for ':' Thread 2,5,main]) started.

Task :ftgo-order-service:processResources UP-TO-DATE
Skipping task ':ftgo-order-service:processResources' as it is up-to-date.
:ftgo-order-service:processResources (Thread[Task worker for ':' Thread 2,5,main]) completed. Took 0.004 secs.
:ftgo-order-service:classes (Thread[Task worker for ':' Thread 2,5,main]) started.

Task :ftgo-order-service:classes UP-TO-DATE
Skipping task ':ftgo-order-service:classes' as it has no actions.
:ftgo-order-service:classes (Thread[Task worker for ':' Thread 2,5,main]) completed. Took 0.0 secs.
:ftgo-order-service:copyContracts (Thread[Task worker for ':' Thread 2,5,main]) started.

Task :ftgo-order-service:copyContracts
Task ':ftgo-order-service:copyContracts' is not up-to-date because:
Task has not declared any outputs despite executing actions.
Project has group id [net.chrisrichardson.ftgo], artifact id [ftgo-order-service]
For project [ftgo-order-service] will use contracts provided in the folder [..\ftgo-order-service-contracts\src\main\resources\contracts]
Downloading and unpacking files from [..\ftgo-order-service-contracts\src\main\resources\contracts] to [C:\IdeaProjects\Microservices\ftgo-application\ftgo-order-service\build\stubs\META-INF\net.chrisrichardson.ftgo\ftgo-order-service\unspecified\contracts]. The inclusion ant patterns are [/.] and [/.]
:ftgo-order-service:copyContracts (Thread[Task worker for ':' Thread 2,5,main]) completed. Took 0.036 secs.
:ftgo-order-service:generateContractTests (Thread[Task worker for ':' Thread 2,5,main]) started.

Task :ftgo-order-service:generateContractTests
Task ':ftgo-order-service:generateContractTests' is not up-to-date because:
Task has not declared any outputs despite executing actions.
Generated test sources dir [C:\IdeaProjects\Microservices\ftgo-application\ftgo-order-service\build\generated-integration-test-sources\contracts]
Spring Cloud Contract Verifier Plugin: Invoking test sources generation
Contracts are unpacked to [C:\IdeaProjects\Microservices\ftgo-application\ftgo-order-service\build\stubs\META-INF\net.chrisrichardson.ftgo\ftgo-order-service\unspecified\contracts]
Included contracts are [.*]
Registering C:\IdeaProjects\Microservices\ftgo-application\ftgo-order-service\build\generated-integration-test-sources\contracts as test source directory
Creating new class file [C:\IdeaProjects\Microservices\ftgo-application\ftgo-order-service\build\generated-integration-test-sources\contracts\org\springframework\cloud\contract\verifier\tests\HttpTest.java]
Creating new class file [C:\IdeaProjects\Microservices\ftgo-application\ftgo-order-service\build\generated-integration-test-sources\contracts\org\springframework\cloud\contract\verifier\tests\MessagingTest.java]
Generated 2 test classes
:ftgo-order-service:generateContractTests (Thread[Task worker for ':' Thread 2,5,main]) completed. Took 1.102 secs.
:ftgo-test-util:compileJava (Thread[Task worker for ':' Thread 2,5,main]) started.

Task :ftgo-test-util:compileJava UP-TO-DATE
Skipping task ':ftgo-test-util:compileJava' as it is up-to-date.
:ftgo-test-util:compileJava (Thread[Task worker for ':' Thread 2,5,main]) completed. Took 0.011 secs.
:ftgo-test-util:processResources (Thread[Task worker for ':' Thread 2,5,main]) started.

Task :ftgo-test-util:processResources NO-SOURCE
file or directory 'C:\IdeaProjects\Microservices\ftgo-application\ftgo-test-util\src\main\resources', not found
Skipping task ':ftgo-test-util:processResources' as it has no source files and no previous output files.
:ftgo-test-util:processResources (Thread[Task worker for ':' Thread 2,5,main]) completed. Took 0.0 secs.
:ftgo-test-util:classes (Thread[Task worker for ':' Thread 2,5,main]) started.

Task :ftgo-test-util:classes UP-TO-DATE
Skipping task ':ftgo-test-util:classes' as it has no actions.
:ftgo-test-util:classes (Thread[Task worker for ':' Thread 2,5,main]) completed. Took 0.0 secs.
:ftgo-test-util:jar (Thread[Task worker for ':' Thread 2,5,main]) started.

Task :ftgo-test-util:jar UP-TO-DATE
Skipping task ':ftgo-test-util:jar' as it is up-to-date.
:ftgo-test-util:jar (Thread[Task worker for ':' Thread 2,5,main]) completed. Took 0.004 secs.
:ftgo-order-service:extractIncludeTestProto (Thread[Task worker for ':' Thread 2,5,main]) started.

Task :ftgo-order-service:extractIncludeTestProto UP-TO-DATE
Excluding [org.apache.tomcat:tomcat-annotations-api]
Excluding []
Skipping task ':ftgo-order-service:extractIncludeTestProto' as it is up-to-date.
:ftgo-order-service:extractIncludeTestProto (Thread[Task worker for ':' Thread 2,5,main]) completed. Took 1.221 secs.
:ftgo-order-service:extractTestProto (Thread[Task worker for ':' Thread 2,5,main]) started.

Task :ftgo-order-service:extractTestProto UP-TO-DATE
Excluding []
Skipping task ':ftgo-order-service:extractTestProto' as it is up-to-date.
:ftgo-order-service:extractTestProto (Thread[Task worker for ':' Thread 2,5,main]) completed. Took 0.002 secs.
:ftgo-order-service:generateTestProto (Thread[Task worker for ':' Thread 2,5,main]) started.

Task :ftgo-order-service:generateTestProto NO-SOURCE
file or directory 'C:\IdeaProjects\Microservices\ftgo-application\ftgo-order-service\src\test\proto', not found
Skipping task ':ftgo-order-service:generateTestProto' as it has no source files and no previous output files.
:ftgo-order-service:generateTestProto (Thread[Task worker for ':' Thread 2,5,main]) completed. Took 0.001 secs.
:ftgo-order-service:compileTestJava (Thread[Task worker for ':' Thread 2,5,main]) started.

Task :ftgo-order-service:compileTestJava UP-TO-DATE
Excluding []
Skipping task ':ftgo-order-service:compileTestJava' as it is up-to-date.
:ftgo-order-service:compileTestJava (Thread[Task worker for ':' Thread 2,5,main]) completed. Took 0.031 secs.
:ftgo-order-service:compileTestGroovy (Thread[Task worker for ':' Thread 2,5,main]) started.

Task :ftgo-order-service:compileTestGroovy SKIPPED
Skipping task ':ftgo-order-service:compileTestGroovy' as task onlyIf is false.
:ftgo-order-service:compileTestGroovy (Thread[Task worker for ':' Thread 2,5,main]) completed. Took 0.0 secs.
:ftgo-order-service:processTestResources (Thread[Task worker for ':' Thread 2,5,main]) started.

Task :ftgo-order-service:processTestResources NO-SOURCE
file or directory 'C:\IdeaProjects\Microservices\ftgo-application\ftgo-order-service\src\test\proto', not found
Skipping task ':ftgo-order-service:processTestResources' as it has no source files and no previous output files.
:ftgo-order-service:processTestResources (Thread[Task worker for ':' Thread 2,5,main]) completed. Took 0.002 secs.
:ftgo-order-service:testClasses (Thread[Task worker for ':' Thread 2,5,main]) started.

Task :ftgo-order-service:testClasses UP-TO-DATE
Skipping task ':ftgo-order-service:testClasses' as it has no actions.
:ftgo-order-service:testClasses (Thread[Task worker for ':' Thread 2,5,main]) completed. Took 0.0 secs.
:ftgo-order-service:extractIncludeIntegrationTestProto (Thread[Task worker for ':' Thread 2,5,main]) started.

Task :ftgo-order-service:extractIncludeIntegrationTestProto UP-TO-DATE
Excluding []
Excluding []
Skipping task ':ftgo-order-service:extractIncludeIntegrationTestProto' as it is up-to-date.
:ftgo-order-service:extractIncludeIntegrationTestProto (Thread[Task worker for ':' Thread 2,5,main]) completed. Took 0.266 secs.
:ftgo-order-service:extractIntegrationTestProto (Thread[Task worker for ':' Thread 2,5,main]) started.

Task :ftgo-order-service:extractIntegrationTestProto UP-TO-DATE
Excluding []
Skipping task ':ftgo-order-service:extractIntegrationTestProto' as it is up-to-date.
:ftgo-order-service:extractIntegrationTestProto (Thread[Task worker for ':' Thread 2,5,main]) completed. Took 0.001 secs.
:ftgo-order-service:generateIntegrationTestProto (Thread[Task worker for ':' Thread 2,5,main]) started.

Task :ftgo-order-service:generateIntegrationTestProto NO-SOURCE
file or directory 'C:\IdeaProjects\Microservices\ftgo-application\ftgo-order-service\src\integrationTest\proto', not found
Skipping task ':ftgo-order-service:generateIntegrationTestProto' as it has no source files and no previous output files.
:ftgo-order-service:generateIntegrationTestProto (Thread[Task worker for ':' Thread 2,5,main]) completed. Took 0.001 secs.
:ftgo-order-service:compileIntegrationTestJava (Thread[Task worker for ':' Thread 2,5,main]) started.

Task :ftgo-order-service:compileIntegrationTestJava UP-TO-DATE
file or directory 'C:\IdeaProjects\Microservices\ftgo-application\ftgo-order-service\src\integrationTest\java', not found
Excluding []
Skipping task ':ftgo-order-service:compileIntegrationTestJava' as it is up-to-date.
:ftgo-order-service:compileIntegrationTestJava (Thread[Task worker for ':' Thread 2,5,main]) completed. Took 0.036 secs.
:ftgo-order-service:compileIntegrationTestGroovy (Thread[Task worker for ':' Thread 2,5,main]) started.

Task :ftgo-order-service:compileIntegrationTestGroovy NO-SOURCE
file or directory 'C:\IdeaProjects\Microservices\ftgo-application\ftgo-order-service\src\integrationTest\groovy', not found
Skipping task ':ftgo-order-service:compileIntegrationTestGroovy' as it has no source files and no previous output files.
:ftgo-order-service:compileIntegrationTestGroovy (Thread[Task worker for ':' Thread 2,5,main]) completed. Took 0.001 secs.
:ftgo-order-service:processIntegrationTestResources (Thread[Task worker for ':' Thread 2,5,main]) started.

Task :ftgo-order-service:processIntegrationTestResources NO-SOURCE
file or directory 'C:\IdeaProjects\Microservices\ftgo-application\ftgo-order-service\src\integrationTest\resources', not found
file or directory 'C:\IdeaProjects\Microservices\ftgo-application\ftgo-order-service\src\integration-test\resources', not found
file or directory 'C:\IdeaProjects\Microservices\ftgo-application\ftgo-order-service\src\integrationTest\proto', not found
Skipping task ':ftgo-order-service:processIntegrationTestResources' as it has no source files and no previous output files.
:ftgo-order-service:processIntegrationTestResources (Thread[Task worker for ':' Thread 2,5,main]) completed. Took 0.002 secs.
:ftgo-order-service:integrationTestClasses (Thread[Task worker for ':' Thread 2,5,main]) started.

Task :ftgo-order-service:integrationTestClasses UP-TO-DATE
Skipping task ':ftgo-order-service:integrationTestClasses' as it has no actions.
:ftgo-order-service:integrationTestClasses (Thread[Task worker for ':' Thread 2,5,main]) completed. Took 0.0 secs.
:ftgo-order-service:integrationTestsComposeUp (Thread[Task worker for ':' Thread 2,5,main]) started.

Task :ftgo-order-service:integrationTestsComposeUp
Task ':ftgo-order-service:integrationTestsComposeUp' is not up-to-date because:
Task has not declared any outputs despite executing actions.
Starting process 'command 'docker-compose''. Working directory: C:\IdeaProjects\Microservices\ftgo-application\ftgo-order-service Command: docker-compose build mysql
Successfully started process 'command 'docker-compose''
Starting process 'command 'docker-compose''. Working directory: C:\IdeaProjects\Microservices\ftgo-application\ftgo-order-service Command: docker-compose --version
Successfully started process 'command 'docker-compose''
Starting process 'command 'docker-compose''. Working directory: C:\IdeaProjects\Microservices\ftgo-application\ftgo-order-service Command: docker-compose --version
Successfully started process 'command 'docker-compose''
Starting process 'command 'docker-compose''. Working directory: C:\IdeaProjects\Microservices\ftgo-application\ftgo-order-service Command: docker-compose up -d mysql
Successfully started process 'command 'docker-compose''
Starting process 'command 'docker-compose''. Working directory: C:\IdeaProjects\Microservices\ftgo-application\ftgo-order-service Command: docker-compose ps -q mysql
Successfully started process 'command 'docker-compose''
Container ID of service mysql is ac7d5cb5cf92f33342505931eb78c98b3e0a018d130ed8f469f857cf51d0aa89
Starting process 'command 'docker''. Working directory: C:\IdeaProjects\Microservices\ftgo-application\ftgo-order-service Command: docker inspect ac7d5cb5cf92f33342505931eb78c98b3e0a018d130ed8f469f857cf51d0aa89
Successfully started process 'command 'docker''
DOCKER_HOST environment variable detected - will be used as hostname of service mysql (192.168.99.103)'
Will use com.avast.gradle.dockercompose.ServiceHost(192.168.99.103, RemoteDockerHost) as host of service mysql
Exposed TCP port on service 'mysql:3306' will be available as 3306
Starting process 'command 'docker''. Working directory: C:\IdeaProjects\Microservices\ftgo-application\ftgo-order-service Command: docker inspect ac7d5cb5cf92f33342505931eb78c98b3e0a018d130ed8f469f857cf51d0aa89
Successfully started process 'command 'docker''
Probing TCP socket on 192.168.99.103:3306 of service 'mysql_1'
Waiting for TCP socket on 192.168.99.103:3306 of service 'mysql_1' (Connection refused: connect)
Waiting for TCP socket on 192.168.99.103:3306 of service 'mysql_1' (Connection refused: connect)
Waiting for TCP socket on 192.168.99.103:3306 of service 'mysql_1' (Connection refused: connect)
Waiting for TCP socket on 192.168.99.103:3306 of service 'mysql_1' (Connection refused: connect)
Waiting for TCP socket on 192.168.99.103:3306 of service 'mysql_1' (Connection refused: connect)
Waiting for TCP socket on 192.168.99.103:3306 of service 'mysql_1' (Connection refused: connect)
Waiting for TCP socket on 192.168.99.103:3306 of service 'mysql_1' (Connection refused: connect)
Waiting for TCP socket on 192.168.99.103:3306 of service 'mysql_1' (Connection refused: connect)
Waiting for TCP socket on 192.168.99.103:3306 of service 'mysql_1' (Connection refused: connect)
Waiting for TCP socket on 192.168.99.103:3306 of service 'mysql_1' (Connection refused: connect)
Waiting for TCP socket on 192.168.99.103:3306 of service 'mysql_1' (Connection refused: connect)
Waiting for TCP socket on 192.168.99.103:3306 of service 'mysql_1' (Connection refused: connect)
Waiting for TCP socket on 192.168.99.103:3306 of service 'mysql_1' (Connection refused: connect)
Waiting for TCP socket on 192.168.99.103:3306 of service 'mysql_1' (Connection refused: connect)
Waiting for TCP socket on 192.168.99.103:3306 of service 'mysql_1' (Connection refused: connect)
Waiting for TCP socket on 192.168.99.103:3306 of service 'mysql_1' (Connection refused: connect)
Waiting for TCP socket on 192.168.99.103:3306 of service 'mysql_1' (Connection refused: connect)
Waiting for TCP socket on 192.168.99.103:3306 of service 'mysql_1' (Connection refused: connect)
Waiting for TCP socket on 192.168.99.103:3306 of service 'mysql_1' (Connection refused: connect)
Waiting for TCP socket on 192.168.99.103:3306 of service 'mysql_1' (Connection refused: connect)
Waiting for TCP socket on 192.168.99.103:3306 of service 'mysql_1' (Connection refused: connect)
Waiting for TCP socket on 192.168.99.103:3306 of service 'mysql_1' (Connection refused: connect)
Waiting for TCP socket on 192.168.99.103:3306 of service 'mysql_1' (Connection refused: connect)

Authentication in ftgo-application

Where is authentication being performed for the microservice? Is it being performed in the gateway or the backend microservices?

Thank you

  • Andy Federal Civilian CTO - Unisys Corp.

Attempt to revise a cancelled order breaks the system - and all subsequently created orders are broken

Hi,

if I try to revise a cancelled order, it breaks application and all newly created order orders will be corrupted (in APPROVAL_PENDING state).

Quick steps to reproduce (all services are up):

  1. run EndToEndTest (to quickly get a cancelled order)
  2. run a revise instruction in console:
    curl -X POST "http://${DOCKER_HOST_IP}:8082/orders/1/revise" -H "Content-Type: application/json" -d "{"revisedLineItemQuantities": {"1": 14}}"

In Order Service log there will be an exception (provided below).
After that any attemp to run EndToEndTest will fail.
Also any attempt to create order will make order in APPROVED_PENDING state (not APPROVED).
(F.e. run EndToEndTest with only createOrder() in test method and see that it creates order in APPROVED_PENDING state).

The solution to enable making normal orders is only to restart all the system (docker-compose down & up).

It seems, this issue is connected with ReviseOrder does not work correctly #38

=====

ftgo-order-service_1 | 2019-12-30T20:10:35.360318564Z 2019-12-30 20:10:35.359 DEBUG [ftgo-order-service,1d507059884fc51a,1d507059884fc51a,true] 1 --- [nio-8080-exec-7] org.hibernate.SQL : select order0_.id as id1_3_0_, order0_.consumer_id as consumer2_3_0_, order0_.ci
ty as city3_3_0_, order0_.delivery_state as delivery4_3_0_, order0_.street1 as street5_3_0_, order0_.street2 as street6_3_0_, order0_.zip as zip7_3_0_, order0_.delivery_time as delivery8_3_0_, order0_.order_minimum as order_mi9_3_0_, order0_.payment_token as payment10_3_0_, order0_.restaurant_id as
restaur11_3_0_, order0_.state as state12_3_0_, order0_.version as version13_3_0_ from orders order0_ where order0_.id=?
ftgo-order-service_1 | 2019-12-30T20:10:35.367576205Z 2019-12-30 20:10:35.364 INFO [ftgo-order-service,1d507059884fc51a,1d507059884fc51a,true] 1 --- [nio-8080-exec-7] i.e.t.s.o.SagaInstanceRepositoryJdbc : Saving net.chrisrichardson.ftgo.orderservice.sagas.reviseorder.ReviseOrderSaga 0
000016f586e83e4-0242ac1b000d0000
ftgo-order-service_1 | 2019-12-30T20:10:35.367632999Z 2019-12-30 20:10:35.367 INFO [ftgo-order-service,1d507059884fc51a,1d507059884fc51a,true] 1 --- [nio-8080-exec-7] i.e.t.s.o.SagaInstanceRepositoryJdbc : Updating net.chrisrichardson.ftgo.orderservice.sagas.reviseorder.ReviseOrderSaga
0000016f586e83e4-0242ac1b000d0000
ftgo-order-service_1 | 2019-12-30T20:10:35.378096424Z 2019-12-30 20:10:35.375 DEBUG [ftgo-order-service,1d507059884fc51a,1d507059884fc51a,true] 1 --- [nio-8080-exec-7] org.hibernate.SQL : select lineitems0_.order_id as order_id1_0_0_, lineitems0_.menu_item_id as menu_
ite2_0_0_, lineitems0_.name as name3_0_0_, lineitems0_.price as price4_0_0_, lineitems0_.quantity as quantity5_0_0_ from order_line_items lineitems0_ where lineitems0_.order_id=?
ftgo-order-service_1 | 2019-12-30T20:10:35.394036555Z 2019-12-30 20:10:35.393 DEBUG [ftgo-order-service,,,] 1 --- [er-orderService] i.e.m.k.b.c.EventuateKafkaConsumer : Got orderService 1 records
ftgo-order-service_1 | 2019-12-30T20:10:35.394068052Z 2019-12-30 20:10:35.393 DEBUG [ftgo-order-service,,,] 1 --- [er-orderService] i.e.m.k.b.c.EventuateKafkaConsumer : processing record orderService 3 {"payload":"{"orderId":1,"revision":{"revisedLineItemQuantities":{"1":14}}}
","headers":{"command_saga_id":"0000016f586e83e4-0242ac1b000d0000","DATE":"Mon, 30 Dec 2019 20:10:35 GMT","command_type":"net.chrisrichardson.ftgo.orderservice.sagaparticipants.commands.BeginReviseOrderCommand","X-B3-SpanId":"8bee9ff4d866d17f","command_reply_to":"net.chrisrichardson.ftgo.orderservic
e.sagas.reviseorder.ReviseOrderSaga-reply","DESTINATION":"orderService","command_saga_type":"net.chrisrichardson.ftgo.orderservice.sagas.reviseorder.ReviseOrderSaga","X-B3-ParentSpanId":"1d507059884fc51a","X-B3-Sampled":"1","X-B3-TraceId":"1d507059884fc51a","command__destination":"orderService","ID"
:"0000016f586e83e5-0242ac1b000d0000"}}
ftgo-order-service_1 | 2019-12-30T20:10:35.395375641Z 2019-12-30 20:10:35.393 DEBUG [ftgo-order-service,,,] 1 --- [er-orderService] i.e.m.k.b.c.EventuateKafkaConsumer : EventuateKafkaAggregateSubscriptions subscriber = orderService, offset = 3, key = 0000016f586e83e5-0242ac1b000d0000,
value = {"payload":"{"orderId":1,"revision":{"revisedLineItemQuantities":{"1":14}}}","headers":{"command_saga_id":"0000016f586e83e4-0242ac1b000d0000","DATE":"Mon, 30 Dec 2019 20:10:35 GMT","command_type":"net.chrisrichardson.ftgo.orderservice.sagaparticipants.commands.BeginReviseOrderComman
d","X-B3-SpanId":"8bee9ff4d866d17f","command_reply_to":"net.chrisrichardson.ftgo.orderservice.sagas.reviseorder.ReviseOrderSaga-reply","DESTINATION":"orderService","command_saga_type":"net.chrisrichardson.ftgo.orderservice.sagas.reviseorder.ReviseOrderSaga","X-B3-ParentSpanId":"1d507059884fc51a","X-
B3-Sampled":"1","X-B3-TraceId":"1d507059884fc51a","command__destination":"orderService","ID":"0000016f586e83e5-0242ac1b000d0000"}}
ftgo-order-service_1 | 2019-12-30T20:10:35.396870354Z 2019-12-30 20:10:35.395 DEBUG [ftgo-order-service,,,] 1 --- [er-orderService] i.e.m.k.b.c.EventuateKafkaConsumer : Processed orderService 1 records
ftgo-order-service_1 | 2019-12-30T20:10:35.396892657Z 2019-12-30 20:10:35.396 DEBUG [ftgo-order-service,,,] 1 --- [er-orderService] i.e.m.k.b.c.EventuateKafkaConsumer : To commit orderService io.eventuate.messaging.kafka.basic.consumer.OffsetTracker@3fa27bf1[state={orderService-1=io.e
ventuate.messaging.kafka.basic.consumer.TopicPartitionOffsets@4fa9dccb[unprocessed=[3],processed=[]], orderService-0=io.eventuate.messaging.kafka.basic.consumer.TopicPartitionOffsets@60ec48c8[unprocessed=[],processed=[]]}]
ftgo-order-service_1 | 2019-12-30T20:10:35.410718176Z 2019-12-30 20:10:35.410 TRACE [ftgo-order-service,1d507059884fc51a,07c4e05527db0f95,true] 1 --- [pool-4-thread-1] i.e.t.c.c.DecoratedMessageHandlerFactory : Invoking handler orderService 0000016f586e83e5-0242ac1b000d0000
ftgo-order-service_1 | 2019-12-30T20:10:35.411568467Z 2019-12-30 20:10:35.410 TRACE [ftgo-order-service,1d507059884fc51a,07c4e05527db0f95,true] 1 --- [pool-4-thread-1] i.e.t.s.p.SagaCommandDispatcher : Received message orderService io.eventuate.tram.messaging.common.MessageImpl@684
31cef[payload={"orderId":1,"revision":{"revisedLineItemQuantities":{"1":14}}},headers={command_saga_id=0000016f586e83e4-0242ac1b000d0000, DATE=Mon, 30 Dec 2019 20:10:35 GMT, command_type=net.chrisrichardson.ftgo.orderservice.sagaparticipants.commands.BeginReviseOrderCommand, command_reply_to=net.chr
isrichardson.ftgo.orderservice.sagas.reviseorder.ReviseOrderSaga-reply, DESTINATION=orderService, command_saga_type=net.chrisrichardson.ftgo.orderservice.sagas.reviseorder.ReviseOrderSaga, command__destination=orderService, ID=0000016f586e83e5-0242ac1b000d0000, X-B3-TraceId=1d507059884fc51a, X-B3-Sp
anId=07c4e05527db0f95, X-B3-ParentSpanId=8bee9ff4d866d17f, X-B3-Sampled=1}]
ftgo-order-service_1 | 2019-12-30T20:10:35.412520264Z 2019-12-30 20:10:35.412 DEBUG [ftgo-order-service,1d507059884fc51a,07c4e05527db0f95,true] 1 --- [pool-4-thread-1] org.hibernate.SQL : select order0_.id as id1_3_0_, order0_.consumer_id as consumer2_3_0_, order0_.ci
ty as city3_3_0_, order0_.delivery_state as delivery4_3_0_, order0_.street1 as street5_3_0_, order0_.street2 as street6_3_0_, order0_.zip as zip7_3_0_, order0_.delivery_time as delivery8_3_0_, order0_.order_minimum as order_mi9_3_0_, order0_.payment_token as payment10_3_0_, order0_.restaurant_id as
restaur11_3_0_, order0_.state as state12_3_0_, order0_.version as version13_3_0_ from orders order0_ where order0_.id=?
ftgo-order-service_1 | 2019-12-30T20:10:35.418422357Z 2019-12-30 20:10:35.418 TRACE [ftgo-order-service,1d507059884fc51a,07c4e05527db0f95,true] 1 --- [pool-4-thread-1] i.e.t.s.p.SagaCommandDispatcher : Generated replies orderService io.eventuate.tram.messaging.common.MessageImpl@68
431cef[payload={"orderId":1,"revision":{"revisedLineItemQuantities":{"1":14}}},headers={command_saga_id=0000016f586e83e4-0242ac1b000d0000, DATE=Mon, 30 Dec 2019 20:10:35 GMT, command_type=net.chrisrichardson.ftgo.orderservice.sagaparticipants.commands.BeginReviseOrderCommand, command_reply_to=net.ch
risrichardson.ftgo.orderservice.sagas.reviseorder.ReviseOrderSaga-reply, DESTINATION=orderService, command_saga_type=net.chrisrichardson.ftgo.orderservice.sagas.reviseorder.ReviseOrderSaga, command__destination=orderService, ID=0000016f586e83e5-0242ac1b000d0000, X-B3-TraceId=1d507059884fc51a, X-B3-S
panId=07c4e05527db0f95, X-B3-ParentSpanId=8bee9ff4d866d17f, X-B3-Sampled=1}] [io.eventuate.tram.messaging.common.MessageImpl@5add8f98[payload={},headers={reply_outcome-type=FAILURE, reply_type=io.eventuate.tram.commands.common.Failure}]]
ftgo-order-service_1 | 2019-12-30T20:10:35.421817509Z 2019-12-30 20:10:35.421 TRACE [ftgo-order-service,1d507059884fc51a,07c4e05527db0f95,true] 1 --- [pool-4-thread-1] i.e.t.c.c.DecoratedMessageHandlerFactory : handled message orderService 0000016f586e83e5-0242ac1b000d0000
ftgo-order-service_1 | 2019-12-30T20:10:35.435043854Z 2019-12-30 20:10:35.433 ERROR [ftgo-order-service,,,] 1 --- [pool-4-thread-1] i.e.m.k.b.c.KafkaMessageProcessor : Got exception:
ftgo-order-service_1 | 2019-12-30T20:10:35.435153843Z
ftgo-order-service_1 | 2019-12-30T20:10:35.435171594Z org.springframework.orm.jpa.JpaSystemException: Transaction was marked for rollback only; cannot commit; nested exception is org.hibernate.TransactionException: Transaction was marked for rollback only; cannot commit
ftgo-order-service_1 | 2019-12-30T20:10:35.435184957Z at org.springframework.orm.jpa.vendor.HibernateJpaDialect.convertHibernateAccessException(HibernateJpaDialect.java:314) ~[spring-orm-5.0.7.RELEASE.jar!/:5.0.7.RELEASE]
ftgo-order-service_1 | 2019-12-30T20:10:35.435197241Z at org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:225) ~[spring-orm-5.0.7.RELEASE.jar!/:5.0.7.RELEASE]
ftgo-order-service_1 | 2019-12-30T20:10:35.435210351Z at org.springframework.orm.jpa.JpaTransactionManager.doCommit(JpaTransactionManager.java:540) ~[spring-orm-5.0.7.RELEASE.jar!/:5.0.7.RELEASE]
ftgo-order-service_1 | 2019-12-30T20:10:35.435225533Z at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:746) ~[spring-tx-5.0.7.RELEASE.jar!/:5.0.7.RELEASE]
ftgo-order-service_1 | 2019-12-30T20:10:35.435238864Z at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:714) ~[spring-tx-5.0.7.RELEASE.jar!/:5.0.7.RELEASE]
ftgo-order-service_1 | 2019-12-30T20:10:35.435253156Z at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:152) ~[spring-tx-5.0.7.RELEASE.jar!/:5.0.7.RELEASE]
ftgo-order-service_1 | 2019-12-30T20:10:35.435267883Z at io.eventuate.tram.consumer.jdbc.SqlTableBasedDuplicateMessageDetector.doWithMessage(SqlTableBasedDuplicateMessageDetector.java:50) ~[eventuate-tram-consumer-jdbc-0.22.0.RC5.jar!/:na]
ftgo-order-service_1 | 2019-12-30T20:10:35.435282472Z at io.eventuate.tram.consumer.common.DuplicateDetectingMessageHandlerDecorator.accept(DuplicateDetectingMessageHandlerDecorator.java:15) ~[eventuate-tram-consumer-common-0.22.0.RC5.jar!/:na]
ftgo-order-service_1 | 2019-12-30T20:10:35.435296703Z at io.eventuate.tram.consumer.common.DuplicateDetectingMessageHandlerDecorator.accept(DuplicateDetectingMessageHandlerDecorator.java:5) ~[eventuate-tram-consumer-common-0.22.0.RC5.jar!/:na]
ftgo-order-service_1 | 2019-12-30T20:10:35.435314086Z at io.eventuate.tram.consumer.common.MessageHandlerDecoratorChainBuilder.lambda$buildChain$0(MessageHandlerDecoratorChainBuilder.java:38) ~[eventuate-tram-consumer-common-0.22.0.RC5.jar!/:na]
ftgo-order-service_1 | 2019-12-30T20:10:35.435329593Z at io.eventuate.tram.consumer.common.PrePostReceiveMessageHandlerDecorator.accept(PrePostReceiveMessageHandlerDecorator.java:25) ~[eventuate-tram-consumer-common-0.22.0.RC5.jar!/:na]
ftgo-order-service_1 | 2019-12-30T20:10:35.435367914Z at io.eventuate.tram.consumer.common.PrePostReceiveMessageHandlerDecorator.accept(PrePostReceiveMessageHandlerDecorator.java:11) ~[eventuate-tram-consumer-common-0.22.0.RC5.jar!/:na]
ftgo-order-service_1 | 2019-12-30T20:10:35.435387508Z at io.eventuate.tram.consumer.common.MessageHandlerDecoratorChainBuilder.lambda$buildChain$0(MessageHandlerDecoratorChainBuilder.java:38) ~[eventuate-tram-consumer-common-0.22.0.RC5.jar!/:na]
ftgo-order-service_1 | 2019-12-30T20:10:35.435402273Z at io.eventuate.tram.consumer.common.MessageConsumerImpl.lambda$subscribe$0(MessageConsumerImpl.java:34) ~[eventuate-tram-consumer-common-0.22.0.RC5.jar!/:na]
ftgo-order-service_1 | 2019-12-30T20:10:35.435414509Z at io.eventuate.tram.consumer.kafka.EventuateTramKafkaMessageConsumer.lambda$subscribe$0(EventuateTramKafkaMessageConsumer.java:24) ~[eventuate-tram-consumer-kafka-0.22.0.RC5.jar!/:na]
ftgo-order-service_1 | 2019-12-30T20:10:35.435426707Z at io.eventuate.messaging.kafka.consumer.MessageConsumerKafkaImpl.handle(MessageConsumerKafkaImpl.java:60) [eventuate-messaging-kafka-consumer-0.3.0.RELEASE.jar!/:na]
ftgo-order-service_1 | 2019-12-30T20:10:35.435467274Z at io.eventuate.messaging.kafka.consumer.MessageConsumerKafkaImpl.lambda$null$0(MessageConsumerKafkaImpl.java:40) [eventuate-messaging-kafka-consumer-0.3.0.RELEASE.jar!/:na]
ftgo-order-service_1 | 2019-12-30T20:10:35.435482547Z at io.eventuate.messaging.kafka.consumer.SwimlaneDispatcher.processQueuedMessage(SwimlaneDispatcher.java:72) ~[eventuate-messaging-kafka-consumer-0.3.0.RELEASE.jar!/:na]
ftgo-order-service_1 | 2019-12-30T20:10:35.435497631Z at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[na:1.8.0_171]
ftgo-order-service_1 | 2019-12-30T20:10:35.435512314Z at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[na:1.8.0_171]
ftgo-order-service_1 | 2019-12-30T20:10:35.435526638Z at java.lang.Thread.run(Thread.java:748) ~[na:1.8.0_171]
ftgo-order-service_1 | 2019-12-30T20:10:35.435540366Z Caused by: org.hibernate.TransactionException: Transaction was marked for rollback only; cannot commit
ftgo-order-service_1 | 2019-12-30T20:10:35.435556062Z at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl$TransactionDriverControlImpl.commit(JdbcResourceLocalTransactionCoordinatorImpl.java:228) ~[hibernate-core-5.2.17.Final.jar!/:5.2.17
.Final]
ftgo-order-service_1 | 2019-12-30T20:10:35.435571274Z at org.hibernate.engine.transaction.internal.TransactionImpl.commit(TransactionImpl.java:68) ~[hibernate-core-5.2.17.Final.jar!/:5.2.17.Final]
ftgo-order-service_1 | 2019-12-30T20:10:35.435585686Z at org.springframework.orm.jpa.JpaTransactionManager.doCommit(JpaTransactionManager.java:536) ~[spring-orm-5.0.7.RELEASE.jar!/:5.0.7.RELEASE]
ftgo-order-service_1 | 2019-12-30T20:10:35.435600300Z ... 18 common frames omitted
ftgo-order-service_1 | 2019-12-30T20:10:35.435614467Z
ftgo-order-service_1 | 2019-12-30T20:10:35.440903706Z 2019-12-30 20:10:35.439 ERROR [ftgo-order-service,,,] 1 --- [pool-4-thread-1] i.e.m.kafka.consumer.SwimlaneDispatcher : Exception handling message - terminating
ftgo-order-service_1 | 2019-12-30T20:10:35.441020394Z
ftgo-order-service_1 | 2019-12-30T20:10:35.441035598Z org.springframework.orm.jpa.JpaSystemException: Transaction was marked for rollback only; cannot commit; nested exception is org.hibernate.TransactionException: Transaction was marked for rollback only; cannot commit
ftgo-order-service_1 | 2019-12-30T20:10:35.441061474Z at org.springframework.orm.jpa.vendor.HibernateJpaDialect.convertHibernateAccessException(HibernateJpaDialect.java:314) ~[spring-orm-5.0.7.RELEASE.jar!/:5.0.7.RELEASE]
ftgo-order-service_1 | 2019-12-30T20:10:35.441071936Z at org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:225) ~[spring-orm-5.0.7.RELEASE.jar!/:5.0.7.RELEASE]
ftgo-order-service_1 | 2019-12-30T20:10:35.441081191Z at org.springframework.orm.jpa.JpaTransactionManager.doCommit(JpaTransactionManager.java:540) ~[spring-orm-5.0.7.RELEASE.jar!/:5.0.7.RELEASE]
ftgo-order-service_1 | 2019-12-30T20:10:35.441090397Z at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:746) ~[spring-tx-5.0.7.RELEASE.jar!/:5.0.7.RELEASE]
ftgo-order-service_1 | 2019-12-30T20:10:35.441099635Z at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:714) ~[spring-tx-5.0.7.RELEASE.jar!/:5.0.7.RELEASE]
ftgo-order-service_1 | 2019-12-30T20:10:35.441108837Z at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:152) ~[spring-tx-5.0.7.RELEASE.jar!/:5.0.7.RELEASE]
ftgo-order-service_1 | 2019-12-30T20:10:35.441117995Z at io.eventuate.tram.consumer.jdbc.SqlTableBasedDuplicateMessageDetector.doWithMessage(SqlTableBasedDuplicateMessageDetector.java:50) ~[eventuate-tram-consumer-jdbc-0.22.0.RC5.jar!/:na]
ftgo-order-service_1 | 2019-12-30T20:10:35.441127322Z at io.eventuate.tram.consumer.common.DuplicateDetectingMessageHandlerDecorator.accept(DuplicateDetectingMessageHandlerDecorator.java:15) ~[eventuate-tram-consumer-common-0.22.0.RC5.jar!/:na]
ftgo-order-service_1 | 2019-12-30T20:10:35.441136524Z at io.eventuate.tram.consumer.common.DuplicateDetectingMessageHandlerDecorator.accept(DuplicateDetectingMessageHandlerDecorator.java:5) ~[eventuate-tram-consumer-common-0.22.0.RC5.jar!/:na]
ftgo-order-service_1 | 2019-12-30T20:10:35.441147748Z at io.eventuate.tram.consumer.common.MessageHandlerDecoratorChainBuilder.lambda$buildChain$0(MessageHandlerDecoratorChainBuilder.java:38) ~[eventuate-tram-consumer-common-0.22.0.RC5.jar!/:na]
ftgo-order-service_1 | 2019-12-30T20:10:35.441157612Z at io.eventuate.tram.consumer.common.PrePostReceiveMessageHandlerDecorator.accept(PrePostReceiveMessageHandlerDecorator.java:25) ~[eventuate-tram-consumer-common-0.22.0.RC5.jar!/:na]
ftgo-order-service_1 | 2019-12-30T20:10:35.441166812Z at io.eventuate.tram.consumer.common.PrePostReceiveMessageHandlerDecorator.accept(PrePostReceiveMessageHandlerDecorator.java:11) ~[eventuate-tram-consumer-common-0.22.0.RC5.jar!/:na]
ftgo-order-service_1 | 2019-12-30T20:10:35.441175961Z at io.eventuate.tram.consumer.common.MessageHandlerDecoratorChainBuilder.lambda$buildChain$0(MessageHandlerDecoratorChainBuilder.java:38) ~[eventuate-tram-consumer-common-0.22.0.RC5.jar!/:na]
ftgo-order-service_1 | 2019-12-30T20:10:35.441185246Z at io.eventuate.tram.consumer.common.MessageConsumerImpl.lambda$subscribe$0(MessageConsumerImpl.java:34) ~[eventuate-tram-consumer-common-0.22.0.RC5.jar!/:na]
ftgo-order-service_1 | 2019-12-30T20:10:35.441194447Z at io.eventuate.tram.consumer.kafka.EventuateTramKafkaMessageConsumer.lambda$subscribe$0(EventuateTramKafkaMessageConsumer.java:24) ~[eventuate-tram-consumer-kafka-0.22.0.RC5.jar!/:na]
ftgo-order-service_1 | 2019-12-30T20:10:35.441203670Z at io.eventuate.messaging.kafka.consumer.MessageConsumerKafkaImpl.handle(MessageConsumerKafkaImpl.java:60) ~[eventuate-messaging-kafka-consumer-0.3.0.RELEASE.jar!/:na]
ftgo-order-service_1 | 2019-12-30T20:10:35.441212839Z at io.eventuate.messaging.kafka.consumer.MessageConsumerKafkaImpl.lambda$null$0(MessageConsumerKafkaImpl.java:40) ~[eventuate-messaging-kafka-consumer-0.3.0.RELEASE.jar!/:na]
ftgo-order-service_1 | 2019-12-30T20:10:35.441228045Z at io.eventuate.messaging.kafka.consumer.SwimlaneDispatcher.processQueuedMessage(SwimlaneDispatcher.java:72) ~[eventuate-messaging-kafka-consumer-0.3.0.RELEASE.jar!/:na]
ftgo-order-service_1 | 2019-12-30T20:10:35.441238278Z at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[na:1.8.0_171]
ftgo-order-service_1 | 2019-12-30T20:10:35.441247184Z at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[na:1.8.0_171]
ftgo-order-service_1 | 2019-12-30T20:10:35.441256046Z at java.lang.Thread.run(Thread.java:748) ~[na:1.8.0_171]
ftgo-order-service_1 | 2019-12-30T20:10:35.441264807Z Caused by: org.hibernate.TransactionException: Transaction was marked for rollback only; cannot commit
ftgo-order-service_1 | 2019-12-30T20:10:35.441274727Z at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl$TransactionDriverControlImpl.commit(JdbcResourceLocalTransactionCoordinatorImpl.java:228) ~[hibernate-core-5.2.17.Final.jar!/:5.2.17
.Final]
ftgo-order-service_1 | 2019-12-30T20:10:35.441284661Z at org.hibernate.engine.transaction.internal.TransactionImpl.commit(TransactionImpl.java:68) ~[hibernate-core-5.2.17.Final.jar!/:5.2.17.Final]
ftgo-order-service_1 | 2019-12-30T20:10:35.441293865Z at org.springframework.orm.jpa.JpaTransactionManager.doCommit(JpaTransactionManager.java:536) ~[spring-orm-5.0.7.RELEASE.jar!/:5.0.7.RELEASE]
ftgo-order-service_1 | 2019-12-30T20:10:35.441302889Z ... 18 common frames omitted
ftgo-order-service_1 | 2019-12-30T20:10:35.441311492Z

Figure 10.5 page 331 - corrections are needed

Hi,

on my opinion, some corrections are needed for Figure 10.5 page 331:

  • Left side:
  1. text label "Consumer-side integration test for Kitchen Service" - should be "Consumer-side integration test for Order Service"
  2. arrow SendsTo (KitchenServiceProxy-Command channel) - should go to Command channel
  3. arrow ReceivesFrom (KitchenServiceProxy-Command channel) - should go to KitchenServiceProxy
    (or all arrows should go to channels)
  • Right side:
  1. "abstract class BaseMessage" - should be "abstract class AbstractKitchenServiceConsumerContractTest"
  2. "class MessageTest extends BaseMessage" - should be "class ContractVerifierTest extends AbstractKitchenServiceConsumerContractTest"

EndToEndTest - should it be run on "./gradlew test"?

Hi,

"./gradlew test" and "./gradlew build" are still failing if services are down, because of EndToEndTest. Log is below.
Should it be run on "./gradlew test"?
If we are not running Integrations tests and Component tests on "./gradlew test", probably EndToEndTest should not be run also.


$ ./gradlew cleanTest test

Task :ftgo-accounting-service:test
2019-12-23 02:00:18.973 INFO [ftgo-accounting-service,,,] 10880 --- [ Thread-11] o.s.w.c.s.GenericWebApplicationContext : Closing org.springframework.web.context.support.GenericWebApplicationContext@2e177eb2: startup date [Mon Dec 23 02:00:07 MSK 2019]; parent: org.springframework.context.an
notation.AnnotationConfigApplicationContext@57bd4b5a
2019-12-23 02:00:19.985 INFO [ftgo-accounting-service,,,] 10880 --- [ Thread-11] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default'
2019-12-23 02:00:19.986 INFO [ftgo-accounting-service,,,] 10880 --- [ Thread-11] .SchemaDropperImpl$DelayedDropActionImpl : HHH000477: Starting delayed drop of schema as part of SessionFactory shut-down'
2019-12-23 02:00:19.991 INFO [ftgo-accounting-service,,,] 10880 --- [ Thread-11] o.s.j.d.e.EmbeddedDatabaseFactory : Shutting down embedded database: url='jdbc:h2:mem:testdb;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=false'

Task :ftgo-api-gateway:test
2019-12-23 02:00:38.229 INFO [-,,,] 3732 --- [ Thread-20] onfigReactiveWebServerApplicationContext : Closing org.springframework.boot.web.reactive.context.AnnotationConfigReactiveWebServerApplicationContext@411ae8bb: startup date [Mon Dec 23 02:00:25 MSK 2019]; parent: org.springframework.cont
ext.annotation.AnnotationConfigApplicationContext@472bb9b3
2019-12-23 02:00:38.232 INFO [-,,,] 3732 --- [ Thread-20] o.s.c.support.DefaultLifecycleProcessor : Stopping beans in phase 0
2019-12-23 02:00:38.233 INFO [-,,,] 3732 --- [ Thread-20] o.s.i.endpoint.EventDrivenConsumer : Removing {logging-channel-adapter:_org.springframework.integration.errorLogger} as a subscriber to the 'errorChannel' channel
2019-12-23 02:00:38.233 INFO [-,,,] 3732 --- [ Thread-20] o.s.i.channel.PublishSubscribeChannel : Channel 'application-1.errorChannel' has 0 subscriber(s).
2019-12-23 02:00:38.233 INFO [-,,,] 3732 --- [ Thread-20] o.s.i.endpoint.EventDrivenConsumer : stopped _org.springframework.integration.errorLogger
2019-12-23 02:00:38.235 INFO [-,,,] 3732 --- [ Thread-20] o.s.s.c.ThreadPoolTaskScheduler : Shutting down ExecutorService 'taskScheduler'
2019-12-23 02:00:38.274 DEBUG [-,,,] 3732 --- [ender@628e452a}] o.s.c.s.z.s.ZipkinRestTemplateWrapper : Created POST request for "http://localhost:9411/api/v2/spans"
2019-12-23 02:00:38.274 DEBUG [-,,,] 3732 --- [ender@628e452a}] o.s.c.s.z.s.ZipkinRestTemplateWrapper : Setting request Accept header to [text/plain, application/json, application/*+json, /]
2019-12-23 02:00:38.274 DEBUG [-,,,] 3732 --- [ender@628e452a}] o.s.c.s.z.s.ZipkinRestTemplateWrapper : Writing [[B@45bc843e] as "application/json" using [org.springframework.http.converter.ByteArrayHttpMessageConverter@6f3d6f15]
2019-12-23 02:00:39.313 INFO [-,,,] 3732 --- [ Thread-20] r.ipc.netty.tcp.BlockingNettyContext : Stopped HttpServer on /0:0:0:0:0:0:0:0:60535

Task :ftgo-consumer-service:test
2019-12-23 02:01:02.420 INFO [ftgo-consumer-service,,,] 11108 --- [ Thread-11] ConfigServletWebServerApplicationContext : Closing org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@4233f0af: startup date [Mon Dec 23 02:00:47 MSK 2019]; parent: org.s
pringframework.context.annotation.AnnotationConfigApplicationContext@5c1d35b
2019-12-23 02:01:02.428 INFO [ftgo-consumer-service,,,] 11108 --- [ Thread-11] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default'
2019-12-23 02:01:02.428 INFO [ftgo-consumer-service,,,] 11108 --- [ Thread-11] .SchemaDropperImpl$DelayedDropActionImpl : HHH000477: Starting delayed drop of schema as part of SessionFactory shut-down'
2019-12-23 02:01:02.430 DEBUG [ftgo-consumer-service,,,] 11108 --- [ Thread-11] org.hibernate.SQL : drop table consumers if exists
2019-12-23 02:01:02.442 DEBUG [ftgo-consumer-service,,,] 11108 --- [ Thread-11] org.hibernate.SQL : drop sequence if exists hibernate_sequence
2019-12-23 02:01:02.446 INFO [ftgo-consumer-service,,,] 11108 --- [ Thread-11] o.s.j.d.e.EmbeddedDatabaseFactory : Shutting down embedded database: url='jdbc:h2:mem:testdb;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=false'

Task :ftgo-end-to-end-tests:test

net.chrisrichardson.ftgo.endtoendtests.EndToEndTests > shouldCreateOrder FAILED
java.net.ConnectException at EndToEndTests.java:217

1 test completed, 1 failed

Task :ftgo-end-to-end-tests:test FAILED

FAILURE: Build failed with an exception.

EndToEndTest should produce three items in OrderHistoryService, but produces one

Hi,

I run EndToEndTest that makes 3 separate actions on order: create, revise, cancel.
I expect that in Order History data there will be 3 items (positions) corresponding to these actions and reflecting the history of order changes.
But in OrderHistory data there is only one item (position) with the latest order status (CANCELLED):


{
"Items": [
{
"lineItems": {
"L": [
{
"M": {
"quantity": {
"N": "5"
},
"price": {
"S": "12.34"
},
"menuItemId": {
"S": "1"
},
"menuItemName": {
"S": "Chicken Vindaloo"
}
}
}
]
},
"keywords": {
"SS": [
"Chicken",
"My",
"Restaurant",
"Vindaloo"
]
},
"orderId": {
"S": "5"
},
"restaurantName": {
"S": "My Restaurant"
},
"consumerId": {
"S": "5"
},
"orderStatus": {
"S": "CANCELLED"
},
"creationDate": {
"N": "1577192364222"
},
"restaurantId": {
"N": "5"
},
"events.net.chrisrichardson.ftgo.orderservice.domain.Order5": {
"S": "0000016f37fda115-0242ac12000a0000"
}
}
],
"Count": 1,
"ScannedCount": 1,
"ConsumedCapacity": null
}

Can we have a Service Artifacts Generator?

Is it possible to have a service/command/etc artifact (boiler plate) generator via a command line interface (CLI) that generates all artifacts for a given service/command/etc and integrates it accordingly with the project? The CLI generator should be able to read input (service/command/etc composition) from a yaml file.

RestaurantJpaTest in Order Service is wrong

Hi,

RestaurantJpaTest in integration-test module in Order Service is wrong. Seems a copy-paste bug. It contains 2 same transactions (save, save), but should contain second transaction as retrieve & assert, analogously with OrderJpaTest. At the current state RestaurantJpaTest will always return success (if DB is started), not doing actual test:

@test
public void shouldSaveRestaurant() {
transactionTemplate.execute((ts) -> {
Restaurant restaurant = new Restaurant(AJANTA_ID, AJANTA_RESTAURANT_NAME, AJANTA_RESTAURANT_MENU_ITEMS);
restaurantRepository.save(restaurant);
return null;
});
transactionTemplate.execute((ts) -> {
Restaurant restaurant = new Restaurant(AJANTA_ID, AJANTA_RESTAURANT_NAME, AJANTA_RESTAURANT_MENU_ITEMS);
restaurantRepository.save(restaurant);
return null;
});
}

RestaurantServiceLambdaConfigurationTest - should be moved to "integration-test"?

Hi,

RestaurantServiceLambdaConfigurationTest.shouldInitialize() test fails when services are down, so it's an Integration test. Should it be moved into "integration-test" in the same way as in Order Service?

java.lang.IllegalStateException: Failed to load ApplicationContext

at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:125)
at org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:108)
at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.injectDependencies(DependencyInjectionTestExecutionListener.java:118)
at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.prepareTestInstance(DependencyInjectionTestExecutionListener.java:83)
at org.springframework.boot.test.autoconfigure.SpringBootDependencyInjectionTestExecutionListener.prepareTestInstance(SpringBootDependencyInjectionTestExecutionListener.java:44)
at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:246)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:227)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner$1.runReflectiveCall(SpringJUnit4ClassRunner.java:289)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock(SpringJUnit4ClassRunner.java:291)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:246)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)
at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190)
at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)
at com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47)
at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242)
at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70)

Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Invocation of init method failed; nested exception is org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1745)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:576)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:498)
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:320)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:318)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199)
at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1083)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:853)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:546)
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:775)
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:397)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:316)
at org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:127)
at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:99)
at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:117)
... 25 more
Caused by: org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]
at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:275)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:237)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:214)
at org.hibernate.id.factory.internal.DefaultIdentifierGeneratorFactory.injectServices(DefaultIdentifierGeneratorFactory.java:152)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.injectDependencies(AbstractServiceRegistryImpl.java:286)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:243)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:214)
at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.(InFlightMetadataCollectorImpl.java:179)
at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:119)
at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.metadata(EntityManagerFactoryBuilderImpl.java:904)
at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:935)
at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:57)
at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:365)
at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:390)
at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:377)
at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:341)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1804)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1741)
... 40 more
Caused by: org.hibernate.HibernateException: Access to DialectResolutionInfo cannot be null when 'hibernate.dialect' not set
at org.hibernate.engine.jdbc.dialect.internal.DialectFactoryImpl.determineDialect(DialectFactoryImpl.java:100)
at org.hibernate.engine.jdbc.dialect.internal.DialectFactoryImpl.buildDialect(DialectFactoryImpl.java:54)
at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:137)
at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:35)
at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.initiateService(StandardServiceRegistryImpl.java:94)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:263)
... 57 more

Why RestaurantService and OrderHistoryService have no "-contract" counterparts?

Hello,

main business services have a "-contract" service counterparts:

ftgo-accounting-service-contracts
ftgo-consumer-service-contracts
ftgo-kitchen-service-contracts
ftgo-order-service-contracts

Why RestaurantService and OrderHistoryService don't have them?
F.e., as it can be seen from Figure 9.6 in the book, the RestaurantService:

  • publishes domain event for Kitchen Service and Order Service
  • provides REST API that is consumed by API Gateway

==========

BTW, there is an error in the book in Figure 9.6, page 300 - the arrow OrderService-RestaurantService communication should go to Restaurant Service since Restaurant Service is a Publisher and Order Service is a Subscriber (in the book the arrow goes to Order Service).

The same problem with arrow, probably, is with ConsumerService-AccountingService communication. Consumer Service is Publisher, AccountingService is Subscriber, so arrow should go to ConsumerService (in Fig. 9.6 arrow goes to AccountingService).

Also in OrderService-AccountingService command communication - arrow shoud go to AccountingService since it's a Replier, as I understand (in the book it goes to OrderService).

Docker-containers are not stopped after gradle-run of Component Tests (or Integration Tests)

Hi,

I run Component Tests with gradle (with services down):
./gradlew cleanComponentTest componentTest

It passes OK, but all 6 containers remain up after test (log is below).

PS. In ftgo-order-service build.gradle there is an instruction "stopContainers = true" for dockerCompose task, but it seems it doesn't work...

===========

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e057f4fc8523 ftgo-application_ftgo-order-service "/bin/sh -c 'java ${" 8 minutes ago Up 8 minutes (healthy) 0.0.0.0:50002->50002/tcp, 0.0.0.0:8082->8080/tcp ftgo-application_ftgo-order-service_1
e808d640345c eventuateio/eventuate-cdc-service:0.4.0.RELEASE "/bin/sh -c 'java ${" 8 minutes ago Up 8 minutes (healthy) 0.0.0.0:8099->8080/tcp ftgo-application_cdc-service_1
308819bf3aed eventuateio/eventuate-kafka:0.3.0.RELEASE "/bin/bash -c ./run-" 8 minutes ago Up 8 minutes 0.0.0.0:9092->9092/tcp ftgo-application_kafka_1
8759f3e95408 eventuateio/eventuate-zookeeper:0.4.0.RELEASE "/usr/local/zookeepe" 8 minutes ago Up 8 minutes 2888/tcp, 0.0.0.0:2181->2181/tcp, 3888/tcp ftgo-application_zookeeper_1
27572d007305 openzipkin/zipkin:2.5.0 "/bin/sh -c 'test -n" 8 minutes ago Up 8 minutes 9410/tcp, 0.0.0.0:9411->9411/tcp ftgo-application_zipkin_1
f0ff79ba4dd5 ftgo-application_mysql "docker-entrypoint.s" 8 minutes ago Up 8 minutes 0.0.0.0:3306->3306/tcp ftgo-application_mysql_1

ReviseOrder does not work correctly

First of all, thanks for your very useful book for microsevices development.
I have tried the ftgo-application and encounter the below problem.
I want you to solve this problem.

Steps to reproduce

  1. Create consumer
    http://${DOCKER_HOST_IP}:8081/consumer
    Method POST
    Body {"name": {"firstName": "first","lastName": "last"}}
    Response
    Code 200
    Body {"consumerId":1}
  2. Create a restaurant
    http://${DOCKER_HOST_IP}:8084/restaurants
    Method POST
    Body {"menu": {"menuItems": [{"id": "001","name": "hamburger","price": "5"}]},"name": "mac"}
    Response
    Code 200
    Body {"id":10}
  3. Create an order
    http://${DOCKER_HOST_IP}:8082/orders
    Method POST
    Body {"consumerId": 1,"lineItems": [{"menuItemId": "001","quantity": 3}],"restaurantId": 1}
    Response
    Code 200
    Body {"orderId":1}
  4. Cancel the order
    http://${DOCKER_HOST_IP}:8082/orders/1/cancel
    Method POST
    Response
    Code 200
    Body {"orderId": 1,"state": "APPROVED","orderTotal": "15.00"}
  5. Revise the order
    http://${DOCKER_HOST_IP}:8082/orders/1/revise
    Method POST
    Body {"revisedLineItemQuantities": {"hamburger": 4}}
    Response
    Code=200
    Body {"revisedLineItemQuantities": {"hamburger": 4}}ResponseCode=200body{"orderId": 1,"state": "CANCELLED","orderTotal": "15.00"}
  6. Create new order
    http://${DOCKER_HOST_IP}:8082/orders
    Method POST
    Body {"consumerId": 1,"lineItems": [{"menuItemId": "001","quantity": 30}],"restaurantId": 1}
    Response
    Code 200
    Body {"orderId": 2}
  7. Revise the order
    http://${DOCKER_HOST_IP}:8082/orders/2/revise
    Method POST
    Response
    Code 200
    Body {"orderId": 2,"state": "APPROVAL_PENDING","orderTotal": "150.00"}

Result

The order id=2 change did not change from APPPROVAL_PENDING to APPPROVED.

The expected result

The change result for order id=2 should change to APPROVED.

Comments

When this problem occurred at Step 5, ftgo-order-service had the following exception:

2019-08-30 10:25:55.624 ERROR [ftgo-order-service,,,] 1 --- [pool-4-thread-3] i.e.m.k.b.c.KafkaMessageProcessor        : Got exception: 

org.springframework.orm.jpa.JpaSystemException: Transaction was marked for rollback only; cannot commit; nested exception is org.hibernate.TransactionException: Transaction was marked for rollback only; cannot commit
        at org.springframework.orm.jpa.vendor.HibernateJpaDialect.convertHibernateAccessException(HibernateJpaDialect.java:314) ~[spring-orm-5.0.7.RELEASE.jar!/:5.0.7.RELEASE]
        at org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:225) ~[spring-orm-5.0.7.RELEASE.jar!/:5.0.7.RELEASE]
        at org.springframework.orm.jpa.JpaTransactionManager.doCommit(JpaTransactionManager.java:540) ~[spring-orm-5.0.7.RELEASE.jar!/:5.0.7.RELEASE]
        at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:746) ~[spring-tx-5.0.7.RELEASE.jar!/:5.0.7.RELEASE]
        at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:714) ~[spring-tx-5.0.7.RELEASE.jar!/:5.0.7.RELEASE]
        at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:152) ~[spring-tx-5.0.7.RELEASE.jar!/:5.0.7.RELEASE]
        at io.eventuate.tram.consumer.jdbc.SqlTableBasedDuplicateMessageDetector.doWithMessage(SqlTableBasedDuplicateMessageDetector.java:50) ~[eventuate-tram-consumer-jdbc-0.22.0.RC5.jar!/:na]
        at io.eventuate.tram.consumer.common.DuplicateDetectingMessageHandlerDecorator.accept(DuplicateDetectingMessageHandlerDecorator.java:15) ~[eventuate-tram-consumer-common-0.22.0.RC5.jar!/:na]
        at io.eventuate.tram.consumer.common.DuplicateDetectingMessageHandlerDecorator.accept(DuplicateDetectingMessageHandlerDecorator.java:5) ~[eventuate-tram-consumer-common-0.22.0.RC5.jar!/:na]
        at io.eventuate.tram.consumer.common.MessageHandlerDecoratorChainBuilder.lambda$buildChain$0(MessageHandlerDecoratorChainBuilder.java:38) ~[eventuate-tram-consumer-common-0.22.0.RC5.jar!/:na]
        at io.eventuate.tram.consumer.common.PrePostReceiveMessageHandlerDecorator.accept(PrePostReceiveMessageHandlerDecorator.java:25) ~[eventuate-tram-consumer-common-0.22.0.RC5.jar!/:na]
        at io.eventuate.tram.consumer.common.PrePostReceiveMessageHandlerDecorator.accept(PrePostReceiveMessageHandlerDecorator.java:11) ~[eventuate-tram-consumer-common-0.22.0.RC5.jar!/:na]
        at io.eventuate.tram.consumer.common.MessageHandlerDecoratorChainBuilder.lambda$buildChain$0(MessageHandlerDecoratorChainBuilder.java:38) ~[eventuate-tram-consumer-common-0.22.0.RC5.jar!/:na]
        at io.eventuate.tram.consumer.common.MessageConsumerImpl.lambda$subscribe$0(MessageConsumerImpl.java:34) ~[eventuate-tram-consumer-common-0.22.0.RC5.jar!/:na]
        at io.eventuate.tram.consumer.kafka.EventuateTramKafkaMessageConsumer.lambda$subscribe$0(EventuateTramKafkaMessageConsumer.java:24) ~[eventuate-tram-consumer-kafka-0.22.0.RC5.jar!/:na]
        at io.eventuate.messaging.kafka.consumer.MessageConsumerKafkaImpl.handle(MessageConsumerKafkaImpl.java:60) [eventuate-messaging-kafka-consumer-0.3.0.RELEASE.jar!/:na]
        at io.eventuate.messaging.kafka.consumer.MessageConsumerKafkaImpl.lambda$null$0(MessageConsumerKafkaImpl.java:40) [eventuate-messaging-kafka-consumer-0.3.0.RELEASE.jar!/:na]
        at io.eventuate.messaging.kafka.consumer.SwimlaneDispatcher.processQueuedMessage(SwimlaneDispatcher.java:72) ~[eventuate-messaging-kafka-consumer-0.3.0.RELEASE.jar!/:na]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[na:1.8.0_171]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[na:1.8.0_171]
        at java.lang.Thread.run(Thread.java:748) ~[na:1.8.0_171]
Caused by: org.hibernate.TransactionException: Transaction was marked for rollback only; cannot commit
        at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl$TransactionDriverControlImpl.commit(JdbcResourceLocalTransactionCoordinatorImpl.java:228) ~[hibernate-core-5.2.17.Final.jar!/:5.2.17.Final]
        at org.hibernate.engine.transaction.internal.TransactionImpl.commit(TransactionImpl.java:68) ~[hibernate-core-5.2.17.Final.jar!/:5.2.17.Final]
        at org.springframework.orm.jpa.JpaTransactionManager.doCommit(JpaTransactionManager.java:536) ~[spring-orm-5.0.7.RELEASE.jar!/:5.0.7.RELEASE]
        ... 18 common frames omitted

2019-08-30 10:25:55.626 ERROR [ftgo-order-service,,,] 1 --- [pool-4-thread-3] i.e.m.kafka.consumer.SwimlaneDispatcher  : Exception handling message - terminating

org.springframework.orm.jpa.JpaSystemException: Transaction was marked for rollback only; cannot commit; nested exception is org.hibernate.TransactionException: Transaction was marked for rollback only; cannot commit
        at org.springframework.orm.jpa.vendor.HibernateJpaDialect.convertHibernateAccessException(HibernateJpaDialect.java:314) ~[spring-orm-5.0.7.RELEASE.jar!/:5.0.7.RELEASE]
        at org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:225) ~[spring-orm-5.0.7.RELEASE.jar!/:5.0.7.RELEASE]
        at org.springframework.orm.jpa.JpaTransactionManager.doCommit(JpaTransactionManager.java:540) ~[spring-orm-5.0.7.RELEASE.jar!/:5.0.7.RELEASE]
        at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:746) ~[spring-tx-5.0.7.RELEASE.jar!/:5.0.7.RELEASE]
        at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:714) ~[spring-tx-5.0.7.RELEASE.jar!/:5.0.7.RELEASE]
        at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:152) ~[spring-tx-5.0.7.RELEASE.jar!/:5.0.7.RELEASE]
        at io.eventuate.tram.consumer.jdbc.SqlTableBasedDuplicateMessageDetector.doWithMessage(SqlTableBasedDuplicateMessageDetector.java:50) ~[eventuate-tram-consumer-jdbc-0.22.0.RC5.jar!/:na]
        at io.eventuate.tram.consumer.common.DuplicateDetectingMessageHandlerDecorator.accept(DuplicateDetectingMessageHandlerDecorator.java:15) ~[eventuate-tram-consumer-common-0.22.0.RC5.jar!/:na]
        at io.eventuate.tram.consumer.common.DuplicateDetectingMessageHandlerDecorator.accept(DuplicateDetectingMessageHandlerDecorator.java:5) ~[eventuate-tram-consumer-common-0.22.0.RC5.jar!/:na]
        at io.eventuate.tram.consumer.common.MessageHandlerDecoratorChainBuilder.lambda$buildChain$0(MessageHandlerDecoratorChainBuilder.java:38) ~[eventuate-tram-consumer-common-0.22.0.RC5.jar!/:na]
        at io.eventuate.tram.consumer.common.PrePostReceiveMessageHandlerDecorator.accept(PrePostReceiveMessageHandlerDecorator.java:25) ~[eventuate-tram-consumer-common-0.22.0.RC5.jar!/:na]
        at io.eventuate.tram.consumer.common.PrePostReceiveMessageHandlerDecorator.accept(PrePostReceiveMessageHandlerDecorator.java:11) ~[eventuate-tram-consumer-common-0.22.0.RC5.jar!/:na]
        at io.eventuate.tram.consumer.common.MessageHandlerDecoratorChainBuilder.lambda$buildChain$0(MessageHandlerDecoratorChainBuilder.java:38) ~[eventuate-tram-consumer-common-0.22.0.RC5.jar!/:na]
        at io.eventuate.tram.consumer.common.MessageConsumerImpl.lambda$subscribe$0(MessageConsumerImpl.java:34) ~[eventuate-tram-consumer-common-0.22.0.RC5.jar!/:na]
        at io.eventuate.tram.consumer.kafka.EventuateTramKafkaMessageConsumer.lambda$subscribe$0(EventuateTramKafkaMessageConsumer.java:24) ~[eventuate-tram-consumer-kafka-0.22.0.RC5.jar!/:na]
        at io.eventuate.messaging.kafka.consumer.MessageConsumerKafkaImpl.handle(MessageConsumerKafkaImpl.java:60) ~[eventuate-messaging-kafka-consumer-0.3.0.RELEASE.jar!/:na]
        at io.eventuate.messaging.kafka.consumer.MessageConsumerKafkaImpl.lambda$null$0(MessageConsumerKafkaImpl.java:40) ~[eventuate-messaging-kafka-consumer-0.3.0.RELEASE.jar!/:na]
        at io.eventuate.messaging.kafka.consumer.SwimlaneDispatcher.processQueuedMessage(SwimlaneDispatcher.java:72) ~[eventuate-messaging-kafka-consumer-0.3.0.RELEASE.jar!/:na]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[na:1.8.0_171]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[na:1.8.0_171]
        at java.lang.Thread.run(Thread.java:748) ~[na:1.8.0_171]
Caused by: org.hibernate.TransactionException: Transaction was marked for rollback only; cannot commit
        at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl$TransactionDriverControlImpl.commit(JdbcResourceLocalTransactionCoordinatorImpl.java:228) ~[hibernate-core-5.2.17.Final.jar!/:5.2.17.Final]
        at org.hibernate.engine.transaction.internal.TransactionImpl.commit(TransactionImpl.java:68) ~[hibernate-core-5.2.17.Final.jar!/:5.2.17.Final]
        at org.springframework.orm.jpa.JpaTransactionManager.doCommit(JpaTransactionManager.java:536) ~[spring-orm-5.0.7.RELEASE.jar!/:5.0.7.RELEASE]
        ... 18 common frames omitted
  • Executed environment
    • CentOS Linux release 7.6.1810 (Core)
    • Docker version 18.09.6, build 481bc77156
    • docker-compose version 1.25.0-rc1, build 8552e8e2
    • aws-cli/1.16.199 Python/3.6.8 Linux/3.10.0-957.21.2.el7.x86_64 botocore/1.12.189
    • Gradle 5.4
    • ftgo-application commit 3028d45

Run and Debug with IDE intellij idea

First of all, thanks for your excellent books.
I successfully started all services with docker compose, but I would like run and debug services in Intellij Idea.
I got the above error when I try to debug service in Intellij. Could you help me? Thanks in advance.

Error starting Tomcat context. Exception: org.springframework.beans.factory.BeanCreationException. Message: Error creating bean with name 'servletEndpointRegistrar' defined in class path resource [org/springframework/boot/actuate/autoconfigure/endpoint/web/ServletEndpointManagementContextConfiguration$WebMvcServletEndpointManagementContextConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.boot.actuate.endpoint.web.ServletEndpointRegistrar]: Factory method 'servletEndpointRegistrar' threw exception; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'healthEndpoint' defined in class path resource [org/springframework/boot/actuate/autoconfigure/health/HealthEndpointConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.boot.actuate.health.HealthEndpoint]: Factory method 'healthEndpoint' threw exception; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'net.chrisrichardson.ftgo.cqrs.orderhistory.dynamodb.OrderHistoryDynamoDBConfiguration': Injection of autowired dependencies failed; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder 'aws.region' in value "${aws.region}"

Chapter 6 Event Sourcing - examples in code

Hi Chris and all,

I have the following questions regarding to Chapter 6 Event Sourcing and corresponding code:

  1. Is it pure theoretical and doesn't have practical examples in the code?
    F.e. Figure 6.5 (page 190) describes code of Order class, but in application there is another code version of Order (no process() method there). Does it mean that Order Service doesn't use Event Sourcing approach to persistence and uses Traditional approach to persistence?

  2. I see that Accounting Service (Account class) has methods process() and apply(). Does it mean that Accounting Service uses Event Sourcing approach to persistence? Is Accounting Service the only service in FTGO that uses Event Sourcing?

  3. What is the major purpose of Chapter 6? To give readers understanding of how Sagas and Eventuate Tram work internally or to explain something in existing code/structure of FTGO application?

I'm just thinking, if I need to understand the structure of FTGO-code, and if Chapter-6 is more about internal work of Eventuate Tram and Sagas, so probaly it makes sense to skip the "heavy theory" (leave for the future) and proceed with Chapter-7...

Also, I would like to express my general impression and some wishes regarding to the book:

  1. The book "Microservices patterns" is absolutelly great!
    This is foundamental and science-level stuff.
    Great thanks, Chris!

  2. Wishes: If the code or example, described in the book, is not reflected in the code of the FTGO-app, then it would be nice to explicitly note it in the book - that this example is theoretical/possible and is not used in the app code (example - Figure 6.5, Event Sourcing version of Order class). This would avoid reader of searching of practical example in the code and trying to understand, whether it was theoretical example or practical (used in FTGO app).
    So explicit noting on code examples like "USED_IN_APP_CODE (point service and class) or "NOT_USED_IN_APP_CODE" would be great.

PS. If I'm posting it to wrong location, please advise what is more appropriate to book-related questions.

Thanks,
Andrew

Health check config - what is "endpoints" endpoint?

Hi,

I'm looking at health check config for Order Service (application.properties):

management.endpoints.web.exposure.include=health,prometheus,beans,endpoints

Two questions:

  1. What is "endpoints" endpoint? Can't see it in the list of Actuator endpoints: https://docs.spring.io/spring-boot/docs/current/reference/html/production-ready-features.html#production-ready-endpoints

  2. "health" endpoint is Web-enabled by default. Is it necessary to include it into "management.endpoints.web.exposure.include"?

Thanks

gradle issue

Hi Chris,

Can you check on this?

http://oss.jfrog.org/oss-snapshot-local/net/chrisrichardson/ftgo/ftgo-order-service-contracts/unspecified/ftgo-order-service-contracts-unspecified.pom

{
"errors" : [ {
"status" : 409,
"message" : "The repository 'oss-snapshot-local' rejected the resolution of an artifact 'oss-snapshot-local:net/chrisrichardson/ftgo/ftgo-order-service-contracts/unspecified/ftgo-order-service-contracts-unspecified.pom' due to conflict in the snapshot release handling policy."
} ]
}

MessagingTest/MessagingBase CDC-test fails

Hi,

producer-side CDC-test for Order Service (MessagingTest/MessagingBase) fails. See log below.
Seems it's about serialization of Money class.
If I add CommonConfiguration to MessagingBase.TestConfiguration config, then test passes OK:

public abstract class MessagingBase {
@configuration
@EnableAutoConfiguration
@import({EventuateContractVerifierConfiguration.class, TramEventsPublisherConfiguration.class, TramInMemoryConfiguration.class, CommonConfiguration.class })
public static class TestConfiguration {

===========

PS. I was running this test from IDE as standalone test, not by gradle. In grudle-run (./gradlew :ftgo-order-service:cleanIntegrationTest :ftgo-order-service:integrationTest -i) it seems it's passing OK.

===========

2019-12-26 12:18:34.724 INFO [ftgo-order-service,,,] 3052 --- [ main] i.e.t.inmemory.InMemoryMessageProducer : No transaction active
2019-12-26 12:18:34.751 INFO [ftgo-order-service,85e049c3b2a9337c,85e049c3b2a9337c,true] 3052 --- [ main] i.e.t.inmemory.InMemoryMessageConsumer : sending to channel net.chrisrichardson.ftgo.orderservice.domain.Order that has 0 subscriptions this message io.eventuate.tram.messaging.common.MessageImpl@3b66ac74[payload={"orderDetails":{"lineItems":[{"quantity":5,"menuItemId":"1","name":"Chicken Vindaloo","price":{},"total":{}}],"orderTotal":{},"restaurantId":1,"consumerId":1511300065921},"restaurantName":"Ajanta"},headers={PARTITION_ID=99, event-aggregate-type=net.chrisrichardson.ftgo.orderservice.domain.Order, DATE=Thu, 26 Dec 2019 09:18:34 GMT, event-aggregate-id=99, X-B3-SpanId=85e049c3b2a9337c, event-type=net.chrisrichardson.ftgo.orderservice.api.events.OrderCreatedEvent, DESTINATION=net.chrisrichardson.ftgo.orderservice.domain.Order, X-B3-Sampled=1, X-B3-TraceId=85e049c3b2a9337c, ID=0000016f418024dc-14dae921faa80000}]
2019-12-26 12:18:34.773 INFO [ftgo-order-service,85e049c3b2a9337c,85e049c3b2a9337c,true] 3052 --- [ main] i.e.t.inmemory.InMemoryMessageConsumer : sending to wildcard channel net.chrisrichardson.ftgo.orderservice.domain.Order that has 1 subscriptions this message io.eventuate.tram.messaging.common.MessageImpl@3b66ac74[payload={"orderDetails":{"lineItems":[{"quantity":5,"menuItemId":"1","name":"Chicken Vindaloo","price":{},"total":{}}],"orderTotal":{},"restaurantId":1,"consumerId":1511300065921},"restaurantName":"Ajanta"},headers={PARTITION_ID=99, event-aggregate-type=net.chrisrichardson.ftgo.orderservice.domain.Order, DATE=Thu, 26 Dec 2019 09:18:34 GMT, event-aggregate-id=99, X-B3-SpanId=85e049c3b2a9337c, event-type=net.chrisrichardson.ftgo.orderservice.api.events.OrderCreatedEvent, DESTINATION=net.chrisrichardson.ftgo.orderservice.domain.Order, X-B3-Sampled=1, X-B3-TraceId=85e049c3b2a9337c, ID=0000016f418024dc-14dae921faa80000}]
2019-12-26 12:18:34.961 TRACE [ftgo-order-service,85e049c3b2a9337c,fc051af18901d24a,true] 3052 --- [pool-1-thread-1] i.e.t.c.c.DecoratedMessageHandlerFactory : Invoking handler io.eventuate.tram.springcloudcontractsupport.EventuateTramMessageVerifier 0000016f418024dc-14dae921faa80000
2019-12-26 12:18:34.962 TRACE [ftgo-order-service,85e049c3b2a9337c,fc051af18901d24a,true] 3052 --- [pool-1-thread-1] i.e.t.c.c.DecoratedMessageHandlerFactory : handled message io.eventuate.tram.springcloudcontractsupport.EventuateTramMessageVerifier 0000016f418024dc-14dae921faa80000

java.lang.IllegalStateException: Parsed JSON [{"orderDetails":{"lineItems":[{"quantity":5,"menuItemId":"1","name":"Chicken Vindaloo","price":{},"total":{}}],"orderTotal":{},"restaurantId":1,"consumerId":1511300065921},"restaurantName":"Ajanta"}] doesn't match the JSON path [$.['orderDetails'][?(@.['orderTotal'] == '61.70')]]

at com.toomuchcoding.jsonassert.JsonAsserter.check(JsonAsserter.java:228)
at com.toomuchcoding.jsonassert.JsonAsserter.checkBufferedJsonPathString(JsonAsserter.java:267)
at com.toomuchcoding.jsonassert.JsonAsserter.isEqualTo(JsonAsserter.java:101)
at org.springframework.cloud.contract.verifier.tests.MessagingTest.validate_orderCreatedEvent(MessagingTest.java:41)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at org.springframework.test.context.junit4.statements.RunBeforeTestExecutionCallbacks.evaluate(RunBeforeTestExecutionCallbacks.java:73)
at org.springframework.test.context.junit4.statements.RunAfterTestExecutionCallbacks.evaluate(RunAfterTestExecutionCallbacks.java:83)
at org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:75)
at org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86)
at org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:84)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:251)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)
at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190)
at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)
at com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47)
at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242)
at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70)

wip-restaurant-order-rename branch

Hi Chris,

I've noticed there was a branch of renaming from RestaurantOrder to "Ticket", and RestaurantOrderService to "KitchenService" and more. You've merged that to master so far. The thing is that I've noticed that "Restaurant" entity/ aggregate class from the ftgo-kitchen-service has still having the names for @table and @collectionTable interfaces:

  • @table(name = "restaurant_order_service_restaurants") - should be renamed to "kitchen_service_restaurants"?

  • @CollectionTable(name = "restaurant_order_service_restaurant_menu_items") - "kitchen_service_restaurant_menu_items"?

Order cancel-request returns APPROVED status in response

Hi,

when we issue a request to Order Service to cancel an order, the response comes with "APPROVED" status:
$ curl -X POST "http://${DOCKER_HOST_IP}:8082/orders/7/cancel"
{"orderId":7,"state":"APPROVED","orderTotal":"15.00"}

But in DB order is already in CANCELLED status (after CancelSaga).

Is it correct behavior? Or Controller in Order Service should return CANCELLED status as the result of operation?

why not upgrade to springboot2.0.0.RELEASE?

why not upgrade to springboot2.0.0.RELEASE,and spring5?
this codes has used :
springboot1.4.5.RELEASE,
springboot1.5.4.RELEASE,
springboot2.0.0.M3,
........
version too much!

WebFlux - why it's used in API Gateway only and isn't used in other services?

Hi Chris and community,

I have several questions regarding to WebFlux:

  1. Why it's used in API Gateway only and not used in other services?
  2. Could we use it, f.e., in Order Service instead of REST (i.e. to make reactive Controllers instead of usual)?
  3. Are there any arguments for not using WebFlux in OrderService, KitchenService, etc.? What woul be pros and cons for using/not using WebFlux in all application services?

Thanks,
Andrew

Saga tests - parameters of Commands are not considered by verification

Hi,

consider CreateOrderSagaTests.shouldRejectOrderDueToConsumerVerificationFailed test.
If I change parameters of expected Commands to arbitrary values, test still passes:

https://imgur.com/a/3fzgN1v

Would be good to add to SagaUnitTestSupport asserts for Command parameters as well, if possible.

=====

@test
public void shouldRejectOrderDueToConsumerVerificationFailed() {
given()
.saga(makeCreateOrderSaga(),
new CreateOrderSagaState(ORDER_ID, CHICKEN_VINDALOO_ORDER_DETAILS)).
expect().
// command(new ValidateOrderByConsumer(CONSUMER_ID, ORDER_ID,CHICKEN_VINDALOO_ORDER_TOTAL)).
command(new ValidateOrderByConsumer(55555, 77777, null)).
to(ConsumerServiceChannels.consumerServiceChannel).
andGiven().
failureReply().
expect().
// command(new RejectOrderCommand(ORDER_ID)).
command(new RejectOrderCommand(3333333)).
to(OrderServiceChannels.orderServiceChannel).
andGiven().
successReply().
expectRolledBack()
;
}

===

Test PASSED

Replace shared API classes with codegen from OpenAPI/JSON schema

Each service has a *-api module that contains Java classes for

  • web request/response
  • events
  • async commands/reply

This approach has several drawbacks:

  • Not useful to non Java consumers
  • Domain events should be part of the domain, not the API

A better approach is for *-api module to contain OpenAPI and JSON Schema definitions.
Each service can contain tests that verify API conformance.
Each consumers can codegen the needed classes.

Q: CreateOrderSaga - does it make sense to swap Tx4 (AccountingService) and Tx3 (KitchenService) and combine transactions Tx3 and Tx5?

Hi Chris,

I have a question regarding CreateOrderSaga.

Let's review Fig. 4.2 (page 115). Here is current sequence of transactions:

Tx1 - OrderService - createOrder()
Tx2 - ConsumerService - verifyConsumer()
Tx3 - KitchenService - createTicket()
Tx4 - AccountingService - authorizeCard()
Tx5 - KitchenService - approveTicket()
Tx6 - OrderService - approveOrder()

What if we swap Tx4 and Tx3 and combine old Tx3 and Tx5 in KitchenService?
The sequence will be:

Tx1 - OrderService - createOrder()
Tx2 - ConsumerService - verifyConsumer()
Tx3 - AccountingService - authorizeCard()
Tx4 - KitchenService - createTicket() AND approveTicket()
Tx5 - OrderService - approveOrder()

Then we can reduce saga by 1 transaction and create tickets in APPROVED status already (so we can remove the workflow of approving tickets as well).

Does it make sense for CreateOrderSaga?
Or in the case if you need to have 6 steps in CreateOrderSaga for educational purposes, then will such saga optimization make sense in real-life project?

PS. Also, as from business perspective - as for me, it would be more logical to create some objects in other services AFTER the order is completelly validated and confirmed - to not to have to delete/reject these objects if order happens to be not valid. What's your opinion on that?

Thanks

Microservice Pipeline

Hello,

I am reading your book and I have a doubt about the correct way of organizing the project.
In this example, you create one big repo with all sources into, but when you have microservices and pipelines the correct way is not would be one repo per project?

  1. Because your project can grow very and with one repo we have checkout all sources.
  2. For create pipelines, we want build single project, and if we have all sources together we need to check out all sources navigate to the folder for run mvn clean install for example.
    Could you explain how organize the project in the correct way?

gRPC - is it used in FTGO app by some service?

Hello,

some questions regarding to gRPC API of Order Service:

  1. Is it used in FTGO app by some service? If yes then, as I understand, there should be a client part in some service that making gRPC-calls. I see usage of gRPC in integration tests (OrderServiceClient, OrderServiceGrpIntegrationTest, OrderServiceGrpIntegrationTestConfiguration), but is it used in the app itself?

  2. If it's not used in the app in reality by the moment, so how it shoud be used in theory? What services should use it? If service use gRPC, does it mean that this is a replacement of REST API and we can throw away REST APIs?

  3. Does it make sense to replace all internal REST-communication with gRPC? How architecture would look like in this case?

Thanks,
Andrew

gradle-run of Integration Tests for Order History Service goes to endless loop

Hi,

I'm trying to run integration tests with gradle from root project folder. Start conditions - docker-machine is started, all containers are deleted. Command:

$ ./gradlew :ftgo-order-history-service:cleanTest :ftgo-order-history-service:integrationTest --info

Output ( loops on health check for dynamodblocal-init_1):


Removing 0 daemon stop events from registry
Starting a Gradle Daemon (subsequent builds will be faster)
Starting process 'Gradle build daemon'.
org.gradle.launcher.daemon.bootstrap.GradleDaemon 4.10.2
Successfully started process 'Gradle build daemon'
An attempt to start the daemon took 1.695 secs.
Starting build in new daemon [memory: 954,7 MB]
Using 8 worker leases.
Starting Build

Configure project :buildSrc
Evaluating project ':buildSrc' using build file 'C:\IdeaProjects\Microservices\ftgo-application\buildSrc\build.gradle'.
Selected primary task 'build' from project :
:buildSrc:compileJava (Thread[Daemon worker,5,main]) started.

Task :buildSrc:compileJava NO-SOURCE
file or directory 'C:\IdeaProjects\Microservices\ftgo-application\buildSrc\src\main\java', not found
Skipping task ':buildSrc:compileJava' as it has no source files and no previous output files.
:buildSrc:compileJava (Thread[Daemon worker,5,main]) completed. Took 0.098 secs.
:buildSrc:compileGroovy (Thread[Daemon worker,5,main]) started.

Task :buildSrc:compileGroovy UP-TO-DATE
Skipping task ':buildSrc:compileGroovy' as it is up-to-date.
:buildSrc:compileGroovy (Thread[Daemon worker,5,main]) completed. Took 0.099 secs.
:buildSrc:processResources (Thread[Daemon worker,5,main]) started.

Task :buildSrc:processResources NO-SOURCE
file or directory 'C:\IdeaProjects\Microservices\ftgo-application\buildSrc\src\main\resources', not found
Skipping task ':buildSrc:processResources' as it has no source files and no previous output files.
:buildSrc:processResources (Thread[Daemon worker,5,main]) completed. Took 0.001 secs.
:buildSrc:classes (Thread[Daemon worker,5,main]) started.

Task :buildSrc:classes UP-TO-DATE
Skipping task ':buildSrc:classes' as it has no actions.
:buildSrc:classes (Thread[Daemon worker,5,main]) completed. Took 0.0 secs.
:buildSrc:jar (Thread[Daemon worker,5,main]) started.

Task :buildSrc:jar UP-TO-DATE
Skipping task ':buildSrc:jar' as it is up-to-date.
:buildSrc:jar (Thread[Daemon worker,5,main]) completed. Took 0.013 secs.
:buildSrc:assemble (Thread[Daemon worker,5,main]) started.

Task :buildSrc:assemble UP-TO-DATE
Skipping task ':buildSrc:assemble' as it has no actions.
:buildSrc:assemble (Thread[Daemon worker,5,main]) completed. Took 0.0 secs.
:buildSrc:compileTestJava (Thread[Daemon worker,5,main]) started.

Task :buildSrc:compileTestJava NO-SOURCE
file or directory 'C:\IdeaProjects\Microservices\ftgo-application\buildSrc\src\test\java', not found
Skipping task ':buildSrc:compileTestJava' as it has no source files and no previous output files.
:buildSrc:compileTestJava (Thread[Daemon worker,5,main]) completed. Took 0.002 secs.
:buildSrc:compileTestGroovy (Thread[Daemon worker,5,main]) started.

Task :buildSrc:compileTestGroovy NO-SOURCE
file or directory 'C:\IdeaProjects\Microservices\ftgo-application\buildSrc\src\test\groovy', not found
Skipping task ':buildSrc:compileTestGroovy' as it has no source files and no previous output files.
:buildSrc:compileTestGroovy (Thread[Daemon worker,5,main]) completed. Took 0.003 secs.
:buildSrc:processTestResources (Thread[Daemon worker,5,main]) started.

Task :buildSrc:processTestResources NO-SOURCE
file or directory 'C:\IdeaProjects\Microservices\ftgo-application\buildSrc\src\test\resources', not found
Skipping task ':buildSrc:processTestResources' as it has no source files and no previous output files.
:buildSrc:processTestResources (Thread[Daemon worker,5,main]) completed. Took 0.001 secs.
:buildSrc:testClasses (Thread[Daemon worker,5,main]) started.

Task :buildSrc:testClasses UP-TO-DATE
Skipping task ':buildSrc:testClasses' as it has no actions.
:buildSrc:testClasses (Thread[Daemon worker,5,main]) completed. Took 0.0 secs.
:buildSrc:test (Thread[Daemon worker,5,main]) started.

Task :buildSrc:test SKIPPED
Skipping task ':buildSrc:test' as task onlyIf is false.
:buildSrc:test (Thread[Daemon worker,5,main]) completed. Took 0.0 secs.
:buildSrc:check (Thread[Daemon worker,5,main]) started.

Task :buildSrc:check UP-TO-DATE
Skipping task ':buildSrc:check' as it has no actions.
:buildSrc:check (Thread[Daemon worker,5,main]) completed. Took 0.0 secs.
:buildSrc:build (Thread[Daemon worker,5,main]) started.

Task :buildSrc:build UP-TO-DATE
Skipping task ':buildSrc:build' as it has no actions.
:buildSrc:build (Thread[Daemon worker,5,main]) completed. Took 0.0 secs.
Settings evaluated using settings file 'C:\IdeaProjects\Microservices\ftgo-application\settings.gradle'.
Projects loaded. Root project using build file 'C:\IdeaProjects\Microservices\ftgo-application\build.gradle'.
Included projects: [root project 'ftgo-application', project ':common-swagger', project ':ftgo-accounting-service', project ':ftgo-accounting-service-api', project ':ftgo-accounting-service-contracts', project ':ftgo-api-gateway', project ':ftgo-common', project ':ftgo-common-jpa', project ':ftgo-consumer-service', project ':ftgo-consumer-service-api', project ':ftgo-consumer-service-contracts', project ':ftgo-end-to-end-tests', project ':ftgo-kitchen-service', project ':ftgo-kitchen-service-api', project ':ftgo-kitchen-service-contracts', project ':ftgo-order-history-service', project ':ftgo-order-service', project ':ftgo-order-service-api', project ':ftgo-order-service-contracts', project ':ftgo-restaurant-service', project ':ftgo-restaurant-service-api', project ':ftgo-restaurant-service-aws-lambda', project ':ftgo-test-util']

Configure project :
Evaluating root project 'ftgo-application' using build file 'C:\IdeaProjects\Microservices\ftgo-application\build.gradle'.

Configure project :common-swagger
Evaluating project ':common-swagger' using build file 'C:\IdeaProjects\Microservices\ftgo-application\common-swagger\build.gradle'.

Configure project :ftgo-accounting-service
Evaluating project ':ftgo-accounting-service' using build file 'C:\IdeaProjects\Microservices\ftgo-application\ftgo-accounting-service\build.gradle'.
Applying dependency management to configuration 'annotationProcessor' in project 'ftgo-accounting-service'
Applying dependency management to configuration 'apiElements' in project 'ftgo-accounting-service'
Applying dependency management to configuration 'archives' in project 'ftgo-accounting-service'
Applying dependency management to configuration 'bootArchives' in project 'ftgo-accounting-service'
Applying dependency management to configuration 'compile' in project 'ftgo-accounting-service'
Applying dependency management to configuration 'compileClasspath' in project 'ftgo-accounting-service'
Applying dependency management to configuration 'compileOnly' in project 'ftgo-accounting-service'
Applying dependency management to configuration 'default' in project 'ftgo-accounting-service'
Applying dependency management to configuration 'implementation' in project 'ftgo-accounting-service'
Applying dependency management to configuration 'pmd' in project 'ftgo-accounting-service'
Applying dependency management to configuration 'runtime' in project 'ftgo-accounting-service'
Applying dependency management to configuration 'runtimeClasspath' in project 'ftgo-accounting-service'
Applying dependency management to configuration 'runtimeElements' in project 'ftgo-accounting-service'
Applying dependency management to configuration 'runtimeOnly' in project 'ftgo-accounting-service'
Applying dependency management to configuration 'testAnnotationProcessor' in project 'ftgo-accounting-service'
Applying dependency management to configuration 'testCompile' in project 'ftgo-accounting-service'
Applying dependency management to configuration 'testCompileClasspath' in project 'ftgo-accounting-service'
Applying dependency management to configuration 'testCompileOnly' in project 'ftgo-accounting-service'
Applying dependency management to configuration 'testImplementation' in project 'ftgo-accounting-service'
Applying dependency management to configuration 'testRuntime' in project 'ftgo-accounting-service'
Applying dependency management to configuration 'testRuntimeClasspath' in project 'ftgo-accounting-service'
Applying dependency management to configuration 'testRuntimeOnly' in project 'ftgo-accounting-service'

Configure project :ftgo-accounting-service-api
Evaluating project ':ftgo-accounting-service-api' using build file 'C:\IdeaProjects\Microservices\ftgo-application\ftgo-accounting-service-api\build.gradle'.

Configure project :ftgo-accounting-service-contracts
Evaluating project ':ftgo-accounting-service-contracts' using build file 'C:\IdeaProjects\Microservices\ftgo-application\ftgo-accounting-service-contracts\build.gradle'.

Configure project :ftgo-api-gateway
Evaluating project ':ftgo-api-gateway' using build file 'C:\IdeaProjects\Microservices\ftgo-application\ftgo-api-gateway\build.gradle'.
Applying dependency management to configuration 'annotationProcessor' in project 'ftgo-api-gateway'
Applying dependency management to configuration 'apiElements' in project 'ftgo-api-gateway'
Applying dependency management to configuration 'archives' in project 'ftgo-api-gateway'
Applying dependency management to configuration 'compile' in project 'ftgo-api-gateway'
Applying dependency management to configuration 'compileClasspath' in project 'ftgo-api-gateway'
Applying dependency management to configuration 'compileOnly' in project 'ftgo-api-gateway'
Applying dependency management to configuration 'default' in project 'ftgo-api-gateway'
Applying dependency management to configuration 'implementation' in project 'ftgo-api-gateway'
Applying dependency management to configuration 'pmd' in project 'ftgo-api-gateway'
Applying dependency management to configuration 'runtime' in project 'ftgo-api-gateway'
Applying dependency management to configuration 'runtimeClasspath' in project 'ftgo-api-gateway'
Applying dependency management to configuration 'runtimeElements' in project 'ftgo-api-gateway'
Applying dependency management to configuration 'runtimeOnly' in project 'ftgo-api-gateway'
Applying dependency management to configuration 'testAnnotationProcessor' in project 'ftgo-api-gateway'
Applying dependency management to configuration 'testCompile' in project 'ftgo-api-gateway'
Applying dependency management to configuration 'testCompileClasspath' in project 'ftgo-api-gateway'
Applying dependency management to configuration 'testCompileOnly' in project 'ftgo-api-gateway'
Applying dependency management to configuration 'testImplementation' in project 'ftgo-api-gateway'
Applying dependency management to configuration 'testRuntime' in project 'ftgo-api-gateway'
Applying dependency management to configuration 'testRuntimeClasspath' in project 'ftgo-api-gateway'
Applying dependency management to configuration 'testRuntimeOnly' in project 'ftgo-api-gateway'
Applying dependency management to configuration 'bootArchives' in project 'ftgo-api-gateway'

Configure project :ftgo-common
Evaluating project ':ftgo-common' using build file 'C:\IdeaProjects\Microservices\ftgo-application\ftgo-common\build.gradle'.

Configure project :ftgo-common-jpa
Evaluating project ':ftgo-common-jpa' using build file 'C:\IdeaProjects\Microservices\ftgo-application\ftgo-common-jpa\build.gradle'.

Configure project :ftgo-consumer-service
Evaluating project ':ftgo-consumer-service' using build file 'C:\IdeaProjects\Microservices\ftgo-application\ftgo-consumer-service\build.gradle'.
Applying dependency management to configuration 'annotationProcessor' in project 'ftgo-consumer-service'
Applying dependency management to configuration 'apiElements' in project 'ftgo-consumer-service'
Applying dependency management to configuration 'archives' in project 'ftgo-consumer-service'
Applying dependency management to configuration 'bootArchives' in project 'ftgo-consumer-service'
Applying dependency management to configuration 'compile' in project 'ftgo-consumer-service'
Applying dependency management to configuration 'compileClasspath' in project 'ftgo-consumer-service'
Applying dependency management to configuration 'compileOnly' in project 'ftgo-consumer-service'
Applying dependency management to configuration 'default' in project 'ftgo-consumer-service'
Applying dependency management to configuration 'implementation' in project 'ftgo-consumer-service'
Applying dependency management to configuration 'pmd' in project 'ftgo-consumer-service'
Applying dependency management to configuration 'runtime' in project 'ftgo-consumer-service'
Applying dependency management to configuration 'runtimeClasspath' in project 'ftgo-consumer-service'
Applying dependency management to configuration 'runtimeElements' in project 'ftgo-consumer-service'
Applying dependency management to configuration 'runtimeOnly' in project 'ftgo-consumer-service'
Applying dependency management to configuration 'testAnnotationProcessor' in project 'ftgo-consumer-service'
Applying dependency management to configuration 'testCompile' in project 'ftgo-consumer-service'
Applying dependency management to configuration 'testCompileClasspath' in project 'ftgo-consumer-service'
Applying dependency management to configuration 'testCompileOnly' in project 'ftgo-consumer-service'
Applying dependency management to configuration 'testImplementation' in project 'ftgo-consumer-service'
Applying dependency management to configuration 'testRuntime' in project 'ftgo-consumer-service'
Applying dependency management to configuration 'testRuntimeClasspath' in project 'ftgo-consumer-service'
Applying dependency management to configuration 'testRuntimeOnly' in project 'ftgo-consumer-service'

Configure project :ftgo-consumer-service-api
Evaluating project ':ftgo-consumer-service-api' using build file 'C:\IdeaProjects\Microservices\ftgo-application\ftgo-consumer-service-api\build.gradle'.

Configure project :ftgo-consumer-service-contracts
Evaluating project ':ftgo-consumer-service-contracts' using build file 'C:\IdeaProjects\Microservices\ftgo-application\ftgo-consumer-service-contracts\build.gradle'.

Configure project :ftgo-end-to-end-tests
Evaluating project ':ftgo-end-to-end-tests' using build file 'C:\IdeaProjects\Microservices\ftgo-application\ftgo-end-to-end-tests\build.gradle'.

Configure project :ftgo-kitchen-service
Evaluating project ':ftgo-kitchen-service' using build file 'C:\IdeaProjects\Microservices\ftgo-application\ftgo-kitchen-service\build.gradle'.
Applying dependency management to configuration 'annotationProcessor' in project 'ftgo-kitchen-service'
Applying dependency management to configuration 'apiElements' in project 'ftgo-kitchen-service'
Applying dependency management to configuration 'archives' in project 'ftgo-kitchen-service'
Applying dependency management to configuration 'compile' in project 'ftgo-kitchen-service'
Applying dependency management to configuration 'compileClasspath' in project 'ftgo-kitchen-service'
Applying dependency management to configuration 'compileOnly' in project 'ftgo-kitchen-service'
Applying dependency management to configuration 'default' in project 'ftgo-kitchen-service'
Applying dependency management to configuration 'implementation' in project 'ftgo-kitchen-service'
Applying dependency management to configuration 'pmd' in project 'ftgo-kitchen-service'
Applying dependency management to configuration 'runtime' in project 'ftgo-kitchen-service'
Applying dependency management to configuration 'runtimeClasspath' in project 'ftgo-kitchen-service'
Applying dependency management to configuration 'runtimeElements' in project 'ftgo-kitchen-service'
Applying dependency management to configuration 'runtimeOnly' in project 'ftgo-kitchen-service'
Applying dependency management to configuration 'testAnnotationProcessor' in project 'ftgo-kitchen-service'
Applying dependency management to configuration 'testCompile' in project 'ftgo-kitchen-service'
Applying dependency management to configuration 'testCompileClasspath' in project 'ftgo-kitchen-service'
Applying dependency management to configuration 'testCompileOnly' in project 'ftgo-kitchen-service'
Applying dependency management to configuration 'testImplementation' in project 'ftgo-kitchen-service'
Applying dependency management to configuration 'testRuntime' in project 'ftgo-kitchen-service'
Applying dependency management to configuration 'testRuntimeClasspath' in project 'ftgo-kitchen-service'
Applying dependency management to configuration 'testRuntimeOnly' in project 'ftgo-kitchen-service'
Applying dependency management to configuration 'bootArchives' in project 'ftgo-kitchen-service'

Configure project :ftgo-kitchen-service-api
Evaluating project ':ftgo-kitchen-service-api' using build file 'C:\IdeaProjects\Microservices\ftgo-application\ftgo-kitchen-service-api\build.gradle'.

Configure project :ftgo-kitchen-service-contracts
Evaluating project ':ftgo-kitchen-service-contracts' using build file 'C:\IdeaProjects\Microservices\ftgo-application\ftgo-kitchen-service-contracts\build.gradle'.

Configure project :ftgo-order-history-service
Evaluating project ':ftgo-order-history-service' using build file 'C:\IdeaProjects\Microservices\ftgo-application\ftgo-order-history-service\build.gradle'.
Applying dependency management to configuration 'annotationProcessor' in project 'ftgo-order-history-service'
Applying dependency management to configuration 'apiElements' in project 'ftgo-order-history-service'
Applying dependency management to configuration 'archives' in project 'ftgo-order-history-service'
Applying dependency management to configuration 'bootArchives' in project 'ftgo-order-history-service'
Applying dependency management to configuration 'compile' in project 'ftgo-order-history-service'
Applying dependency management to configuration 'compileClasspath' in project 'ftgo-order-history-service'
Applying dependency management to configuration 'compileOnly' in project 'ftgo-order-history-service'
Applying dependency management to configuration 'default' in project 'ftgo-order-history-service'
Applying dependency management to configuration 'implementation' in project 'ftgo-order-history-service'
Applying dependency management to configuration 'pmd' in project 'ftgo-order-history-service'
Applying dependency management to configuration 'runtime' in project 'ftgo-order-history-service'
Applying dependency management to configuration 'runtimeClasspath' in project 'ftgo-order-history-service'
Applying dependency management to configuration 'runtimeElements' in project 'ftgo-order-history-service'
Applying dependency management to configuration 'runtimeOnly' in project 'ftgo-order-history-service'
Applying dependency management to configuration 'testAnnotationProcessor' in project 'ftgo-order-history-service'
Applying dependency management to configuration 'testCompile' in project 'ftgo-order-history-service'
Applying dependency management to configuration 'testCompileClasspath' in project 'ftgo-order-history-service'
Applying dependency management to configuration 'testCompileOnly' in project 'ftgo-order-history-service'
Applying dependency management to configuration 'testImplementation' in project 'ftgo-order-history-service'
Applying dependency management to configuration 'testRuntime' in project 'ftgo-order-history-service'
Applying dependency management to configuration 'testRuntimeClasspath' in project 'ftgo-order-history-service'
Applying dependency management to configuration 'testRuntimeOnly' in project 'ftgo-order-history-service'
Applying dependency management to configuration 'integrationTestCompile' in project 'ftgo-order-history-service'
Applying dependency management to configuration 'integrationTestImplementation' in project 'ftgo-order-history-service'
Applying dependency management to configuration 'integrationTestRuntime' in project 'ftgo-order-history-service'
Applying dependency management to configuration 'integrationTestCompileOnly' in project 'ftgo-order-history-service'
Applying dependency management to configuration 'integrationTestCompileClasspath' in project 'ftgo-order-history-service'
Applying dependency management to configuration 'integrationTestAnnotationProcessor' in project 'ftgo-order-history-service'
Applying dependency management to configuration 'integrationTestRuntimeOnly' in project 'ftgo-order-history-service'
Applying dependency management to configuration 'integrationTestRuntimeClasspath' in project 'ftgo-order-history-service'

Configure project :ftgo-order-service
Evaluating project ':ftgo-order-service' using build file 'C:\IdeaProjects\Microservices\ftgo-application\ftgo-order-service\build.gradle'.
Applying dependency management to configuration 'annotationProcessor' in project 'ftgo-order-service'
Applying dependency management to configuration 'apiElements' in project 'ftgo-order-service'
Applying dependency management to configuration 'archives' in project 'ftgo-order-service'
Applying dependency management to configuration 'bootArchives' in project 'ftgo-order-service'
Applying dependency management to configuration 'compile' in project 'ftgo-order-service'
Applying dependency management to configuration 'compileClasspath' in project 'ftgo-order-service'
Applying dependency management to configuration 'compileOnly' in project 'ftgo-order-service'
Applying dependency management to configuration 'default' in project 'ftgo-order-service'
Applying dependency management to configuration 'implementation' in project 'ftgo-order-service'
Applying dependency management to configuration 'pmd' in project 'ftgo-order-service'
Applying dependency management to configuration 'runtime' in project 'ftgo-order-service'
Applying dependency management to configuration 'runtimeClasspath' in project 'ftgo-order-service'
Applying dependency management to configuration 'runtimeElements' in project 'ftgo-order-service'
Applying dependency management to configuration 'runtimeOnly' in project 'ftgo-order-service'
Applying dependency management to configuration 'testAnnotationProcessor' in project 'ftgo-order-service'
Applying dependency management to configuration 'testCompile' in project 'ftgo-order-service'
Applying dependency management to configuration 'testCompileClasspath' in project 'ftgo-order-service'
Applying dependency management to configuration 'testCompileOnly' in project 'ftgo-order-service'
Applying dependency management to configuration 'testImplementation' in project 'ftgo-order-service'
Applying dependency management to configuration 'testRuntime' in project 'ftgo-order-service'
Applying dependency management to configuration 'testRuntimeClasspath' in project 'ftgo-order-service'
Applying dependency management to configuration 'testRuntimeOnly' in project 'ftgo-order-service'
Applying dependency management to configuration 'protobuf' in project 'ftgo-order-service'
Applying dependency management to configuration 'testProtobuf' in project 'ftgo-order-service'
Applying dependency management to configuration 'integrationTestCompile' in project 'ftgo-order-service'
Applying dependency management to configuration 'integrationTestImplementation' in project 'ftgo-order-service'
Applying dependency management to configuration 'integrationTestRuntime' in project 'ftgo-order-service'
Applying dependency management to configuration 'integrationTestCompileOnly' in project 'ftgo-order-service'
Applying dependency management to configuration 'integrationTestCompileClasspath' in project 'ftgo-order-service'
Applying dependency management to configuration 'integrationTestAnnotationProcessor' in project 'ftgo-order-service'
Applying dependency management to configuration 'integrationTestRuntimeOnly' in project 'ftgo-order-service'
Applying dependency management to configuration 'integrationTestRuntimeClasspath' in project 'ftgo-order-service'
Applying dependency management to configuration 'integrationTestProtobuf' in project 'ftgo-order-service'
Applying dependency management to configuration 'componentTestCompile' in project 'ftgo-order-service'
Applying dependency management to configuration 'componentTestImplementation' in project 'ftgo-order-service'
Applying dependency management to configuration 'componentTestRuntime' in project 'ftgo-order-service'
Applying dependency management to configuration 'componentTestCompileOnly' in project 'ftgo-order-service'
Applying dependency management to configuration 'componentTestCompileClasspath' in project 'ftgo-order-service'
Applying dependency management to configuration 'componentTestAnnotationProcessor' in project 'ftgo-order-service'
Applying dependency management to configuration 'componentTestRuntimeOnly' in project 'ftgo-order-service'
Applying dependency management to configuration 'componentTestRuntimeClasspath' in project 'ftgo-order-service'
Applying dependency management to configuration 'componentTestProtobuf' in project 'ftgo-order-service'
Applying dependency management to configuration 'protobufToolsLocator_protoc' in project 'ftgo-order-service'


Detecting the operating system and CPU architecture

os.detected.name=windows
os.detected.arch=x86_64
os.detected.classifier=windows-x86_64
Applying dependency management to configuration 'protobufToolsLocator_grpc' in project 'ftgo-order-service'

Configure project :ftgo-order-service-api
Evaluating project ':ftgo-order-service-api' using build file 'C:\IdeaProjects\Microservices\ftgo-application\ftgo-order-service-api\build.gradle'.

Configure project :ftgo-order-service-contracts
Evaluating project ':ftgo-order-service-contracts' using build file 'C:\IdeaProjects\Microservices\ftgo-application\ftgo-order-service-contracts\build.gradle'.

Configure project :ftgo-restaurant-service
Evaluating project ':ftgo-restaurant-service' using build file 'C:\IdeaProjects\Microservices\ftgo-application\ftgo-restaurant-service\build.gradle'.
Applying dependency management to configuration 'annotationProcessor' in project 'ftgo-restaurant-service'
Applying dependency management to configuration 'apiElements' in project 'ftgo-restaurant-service'
Applying dependency management to configuration 'archives' in project 'ftgo-restaurant-service'
Applying dependency management to configuration 'bootArchives' in project 'ftgo-restaurant-service'
Applying dependency management to configuration 'compile' in project 'ftgo-restaurant-service'
Applying dependency management to configuration 'compileClasspath' in project 'ftgo-restaurant-service'
Applying dependency management to configuration 'compileOnly' in project 'ftgo-restaurant-service'
Applying dependency management to configuration 'default' in project 'ftgo-restaurant-service'
Applying dependency management to configuration 'implementation' in project 'ftgo-restaurant-service'
Applying dependency management to configuration 'pmd' in project 'ftgo-restaurant-service'
Applying dependency management to configuration 'runtime' in project 'ftgo-restaurant-service'
Applying dependency management to configuration 'runtimeClasspath' in project 'ftgo-restaurant-service'
Applying dependency management to configuration 'runtimeElements' in project 'ftgo-restaurant-service'
Applying dependency management to configuration 'runtimeOnly' in project 'ftgo-restaurant-service'
Applying dependency management to configuration 'testAnnotationProcessor' in project 'ftgo-restaurant-service'
Applying dependency management to configuration 'testCompile' in project 'ftgo-restaurant-service'
Applying dependency management to configuration 'testCompileClasspath' in project 'ftgo-restaurant-service'
Applying dependency management to configuration 'testCompileOnly' in project 'ftgo-restaurant-service'
Applying dependency management to configuration 'testImplementation' in project 'ftgo-restaurant-service'
Applying dependency management to configuration 'testRuntime' in project 'ftgo-restaurant-service'
Applying dependency management to configuration 'testRuntimeClasspath' in project 'ftgo-restaurant-service'
Applying dependency management to configuration 'testRuntimeOnly' in project 'ftgo-restaurant-service'

Configure project :ftgo-restaurant-service-api
Evaluating project ':ftgo-restaurant-service-api' using build file 'C:\IdeaProjects\Microservices\ftgo-application\ftgo-restaurant-service-api\build.gradle'.

Configure project :ftgo-restaurant-service-aws-lambda
Evaluating project ':ftgo-restaurant-service-aws-lambda' using build file 'C:\IdeaProjects\Microservices\ftgo-application\ftgo-restaurant-service-aws-lambda\build.gradle'.

Configure project :ftgo-test-util
Evaluating project ':ftgo-test-util' using build file 'C:\IdeaProjects\Microservices\ftgo-application\ftgo-test-util\build.gradle'.
All projects evaluated.
Selected primary task ':ftgo-order-history-service:cleanTest' from project :ftgo-order-history-service
Selected primary task ':ftgo-order-history-service:integrationTest' from project :ftgo-order-history-service
Tasks to be executed: [task ':ftgo-order-history-service:cleanTest', task ':common-swagger:compileJava', task ':common-swagger:processResources', task ':common-swagger:classes', task ':common-swagger:jar', task ':ftgo-common:compileJava', task ':ftgo-common:processResources', task ':ftgo-common:classes', task ':ftgo-common:jar', task ':ftgo-order-service-api:compileJava', task ':ftgo-order-service-api:processResources', task ':ftgo-order-service-api:classes', task ':ftgo-order-service-api:jar', task ':ftgo-order-history-service:compileJava', task ':ftgo-order-history-service:compileGroovy', task ':ftgo-order-history-service:processResources', task ':ftgo-order-history-service:classes', task ':ftgo-order-history-service:copyContracts', task ':ftgo-order-history-service:generateContractTests', task ':ftgo-order-history-service:compileTestJava', task ':ftgo-order-history-service:compileTestGroovy', task ':ftgo-order-history-service:processTestResources', task ':ftgo-order-history-service:testClasses', task ':ftgo-order-history-service:compileIntegrationTestJava', task ':ftgo-order-history-service:compileIntegrationTestGroovy', task ':ftgo-order-history-service:processIntegrationTestResources', task ':ftgo-order-history-service:integrationTestClasses', task ':ftgo-order-history-service:integrationTestsComposeUp', task ':ftgo-order-history-service:integrationTest']
:ftgo-order-history-service:cleanTest (Thread[Task worker for ':' Thread 2,5,main]) started.

Task :ftgo-order-history-service:cleanTest UP-TO-DATE
Task ':ftgo-order-history-service:cleanTest' is not up-to-date because:
Task has not declared any outputs despite executing actions.
:ftgo-order-history-service:cleanTest (Thread[Task worker for ':' Thread 2,5,main]) completed. Took 0.013 secs.
:common-swagger:compileJava (Thread[Task worker for ':' Thread 2,5,main]) started.

Task :common-swagger:compileJava UP-TO-DATE
Skipping task ':common-swagger:compileJava' as it is up-to-date.
:common-swagger:compileJava (Thread[Task worker for ':' Thread 2,5,main]) completed. Took 2.708 secs.
:common-swagger:processResources (Thread[Task worker for ':' Thread 2,5,main]) started.

Task :common-swagger:processResources NO-SOURCE
file or directory 'C:\IdeaProjects\Microservices\ftgo-application\common-swagger\src\main\resources', not found
Skipping task ':common-swagger:processResources' as it has no source files and no previous output files.
:common-swagger:processResources (Thread[Task worker for ':' Thread 2,5,main]) completed. Took 0.001 secs.
:common-swagger:classes (Thread[Task worker for ':' Thread 2,5,main]) started.

Task :common-swagger:classes UP-TO-DATE
Skipping task ':common-swagger:classes' as it has no actions.
:common-swagger:classes (Thread[Task worker for ':' Thread 2,5,main]) completed. Took 0.0 secs.
:common-swagger:jar (Thread[Task worker for ':' Thread 2,5,main]) started.

Task :common-swagger:jar UP-TO-DATE
Skipping task ':common-swagger:jar' as it is up-to-date.
:common-swagger:jar (Thread[Task worker for ':' Thread 2,5,main]) completed. Took 0.009 secs.
:ftgo-common:compileJava (Thread[Task worker for ':' Thread 2,5,main]) started.

Task :ftgo-common:compileJava UP-TO-DATE
Skipping task ':ftgo-common:compileJava' as it is up-to-date.
:ftgo-common:compileJava (Thread[Task worker for ':' Thread 2,5,main]) completed. Took 0.088 secs.
:ftgo-common:processResources (Thread[Task worker for ':' Thread 2,5,main]) started.

Task :ftgo-common:processResources NO-SOURCE
file or directory 'C:\IdeaProjects\Microservices\ftgo-application\ftgo-common\src\main\resources', not found
Skipping task ':ftgo-common:processResources' as it has no source files and no previous output files.
:ftgo-common:processResources (Thread[Task worker for ':' Thread 2,5,main]) completed. Took 0.001 secs.
:ftgo-common:classes (Thread[Task worker for ':' Thread 2,5,main]) started.

Task :ftgo-common:classes UP-TO-DATE
Skipping task ':ftgo-common:classes' as it has no actions.
:ftgo-common:classes (Thread[Task worker for ':' Thread 2,5,main]) completed. Took 0.0 secs.
:ftgo-common:jar (Thread[Task worker for ':' Thread 2,5,main]) started.

Task :ftgo-common:jar UP-TO-DATE
Skipping task ':ftgo-common:jar' as it is up-to-date.
:ftgo-common:jar (Thread[Task worker for ':' Thread 2,5,main]) completed. Took 0.008 secs.
:ftgo-order-service-api:compileJava (Thread[Task worker for ':' Thread 2,5,main]) started.

Task :ftgo-order-service-api:compileJava UP-TO-DATE
Skipping task ':ftgo-order-service-api:compileJava' as it is up-to-date.
:ftgo-order-service-api:compileJava (Thread[Task worker for ':' Thread 2,5,main]) completed. Took 0.087 secs.
:ftgo-order-service-api:processResources (Thread[Task worker for ':' Thread 2,5,main]) started.

Task :ftgo-order-service-api:processResources NO-SOURCE
file or directory 'C:\IdeaProjects\Microservices\ftgo-application\ftgo-order-service-api\src\main\resources', not found
Skipping task ':ftgo-order-service-api:processResources' as it has no source files and no previous output files.
:ftgo-order-service-api:processResources (Thread[Task worker for ':' Thread 2,5,main]) completed. Took 0.006 secs.
:ftgo-order-service-api:classes (Thread[Task worker for ':' Thread 2,5,main]) started.

Task :ftgo-order-service-api:classes UP-TO-DATE
Skipping task ':ftgo-order-service-api:classes' as it has no actions.
:ftgo-order-service-api:classes (Thread[Task worker for ':' Thread 2,5,main]) completed. Took 0.0 secs.
:ftgo-order-service-api:jar (Thread[Task worker for ':' Thread 2,5,main]) started.

Task :ftgo-order-service-api:jar UP-TO-DATE
Skipping task ':ftgo-order-service-api:jar' as it is up-to-date.
:ftgo-order-service-api:jar (Thread[Task worker for ':' Thread 2,5,main]) completed. Took 0.008 secs.
:ftgo-order-history-service:compileJava (Thread[Task worker for ':' Thread 2,5,main]) started.

Task :ftgo-order-history-service:compileJava
Resolving global dependency management for project 'ftgo-order-history-service'
Excluding [org.apache.tomcat:tomcat-annotations-api]
Excluding []
Skipping task ':ftgo-order-history-service:compileJava' as it is up-to-date.

Task :ftgo-order-history-service:compileJava UP-TO-DATE
:ftgo-order-history-service:compileJava (Thread[Task worker for ':' Thread 2,5,main]) completed. Took 2.895 secs.
:ftgo-order-history-service:compileGroovy (Thread[Task worker for ':' Thread 2,5,main]) started.

Task :ftgo-order-history-service:compileGroovy NO-SOURCE
file or directory 'C:\IdeaProjects\Microservices\ftgo-application\ftgo-order-history-service\src\main\groovy', not found
Skipping task ':ftgo-order-history-service:compileGroovy' as it has no source files and no previous output files.
:ftgo-order-history-service:compileGroovy (Thread[Task worker for ':' Thread 2,5,main]) completed. Took 0.002 secs.
:ftgo-order-history-service:processResources (Thread[Task worker for ':' Thread 2,5,main]) started.

Task :ftgo-order-history-service:processResources UP-TO-DATE
Skipping task ':ftgo-order-history-service:processResources' as it is up-to-date.
:ftgo-order-history-service:processResources (Thread[Task worker for ':' Thread 2,5,main]) completed. Took 0.005 secs.
:ftgo-order-history-service:classes (Thread[Task worker for ':' Thread 2,5,main]) started.

Task :ftgo-order-history-service:classes UP-TO-DATE
Skipping task ':ftgo-order-history-service:classes' as it has no actions.
:ftgo-order-history-service:classes (Thread[Task worker for ':' Thread 2,5,main]) completed. Took 0.0 secs.
:ftgo-order-history-service:copyContracts (Thread[Task worker for ':' Thread 2,5,main]) started.

Task :ftgo-order-history-service:copyContracts
Task ':ftgo-order-history-service:copyContracts' is not up-to-date because:
Task has not declared any outputs despite executing actions.
Project has group id [net.chrisrichardson.ftgo], artifact id [ftgo-order-history-service]
For project [ftgo-order-history-service] will use contracts provided in the folder [C:\IdeaProjects\Microservices\ftgo-application\ftgo-order-history-service\src\test\resources\contracts]
Downloading and unpacking files from [C:\IdeaProjects\Microservices\ftgo-application\ftgo-order-history-service\src\test\resources\contracts] to [C:\IdeaProjects\Microservices\ftgo-application\ftgo-order-history-service\build\stubs\META-INF\net.chrisrichardson.ftgo\ftgo-order-history-service\unspecified\contracts]. The inclusion ant patterns are [/.] and [/.]
:ftgo-order-history-service:copyContracts (Thread[Task worker for ':' Thread 2,5,main]) completed. Took 0.028 secs.
:ftgo-order-history-service:generateContractTests (Thread[Task worker for ':' Thread 2,5,main]) started.

Task :ftgo-order-history-service:generateContractTests
Task ':ftgo-order-history-service:generateContractTests' is not up-to-date because:
Task has not declared any outputs despite executing actions.
Generated test sources dir [C:\IdeaProjects\Microservices\ftgo-application\ftgo-order-history-service\build\generated-test-sources\contracts]
Spring Cloud Contract Verifier Plugin: Invoking test sources generation
Contracts are unpacked to [C:\IdeaProjects\Microservices\ftgo-application\ftgo-order-history-service\build\stubs\META-INF\net.chrisrichardson.ftgo\ftgo-order-history-service\unspecified\contracts]
Included contracts are [.*]
Registering C:\IdeaProjects\Microservices\ftgo-application\ftgo-order-history-service\build\generated-test-sources\contracts as test source directory
Generated 0 test classes
:ftgo-order-history-service:generateContractTests (Thread[Task worker for ':' Thread 2,5,main]) completed. Took 0.121 secs.
:ftgo-order-history-service:compileTestJava (Thread[Task worker for ':' Thread 2,5,main]) started.

Task :ftgo-order-history-service:compileTestJava UP-TO-DATE
Excluding [org.apache.tomcat:tomcat-annotations-api]
Excluding []
Skipping task ':ftgo-order-history-service:compileTestJava' as it is up-to-date.
:ftgo-order-history-service:compileTestJava (Thread[Task worker for ':' Thread 2,5,main]) completed. Took 1.374 secs.
:ftgo-order-history-service:compileTestGroovy (Thread[Task worker for ':' Thread 2,5,main]) started.

Task :ftgo-order-history-service:compileTestGroovy NO-SOURCE
file or directory 'C:\IdeaProjects\Microservices\ftgo-application\ftgo-order-history-service\src\test\groovy', not found
Skipping task ':ftgo-order-history-service:compileTestGroovy' as it has no source files and no previous output files.
:ftgo-order-history-service:compileTestGroovy (Thread[Task worker for ':' Thread 2,5,main]) completed. Took 0.002 secs.
:ftgo-order-history-service:processTestResources (Thread[Task worker for ':' Thread 2,5,main]) started.

Task :ftgo-order-history-service:processTestResources UP-TO-DATE
Skipping task ':ftgo-order-history-service:processTestResources' as it is up-to-date.
:ftgo-order-history-service:processTestResources (Thread[Task worker for ':' Thread 2,5,main]) completed. Took 0.005 secs.
:ftgo-order-history-service:testClasses (Thread[Task worker for ':' Thread 2,5,main]) started.

Task :ftgo-order-history-service:testClasses UP-TO-DATE
Skipping task ':ftgo-order-history-service:testClasses' as it has no actions.
:ftgo-order-history-service:testClasses (Thread[Task worker for ':' Thread 2,5,main]) completed. Took 0.0 secs.
:ftgo-order-history-service:compileIntegrationTestJava (Thread[Task worker for ':' Thread 2,5,main]) started.

Task :ftgo-order-history-service:compileIntegrationTestJava UP-TO-DATE
file or directory 'C:\IdeaProjects\Microservices\ftgo-application\ftgo-order-history-service\src\integrationTest\java', not found
Excluding []
Excluding []
Skipping task ':ftgo-order-history-service:compileIntegrationTestJava' as it is up-to-date.
:ftgo-order-history-service:compileIntegrationTestJava (Thread[Task worker for ':' Thread 2,5,main]) completed. Took 0.155 secs.
:ftgo-order-history-service:compileIntegrationTestGroovy (Thread[Task worker for ':' Thread 2,5,main]) started.

Task :ftgo-order-history-service:compileIntegrationTestGroovy NO-SOURCE
file or directory 'C:\IdeaProjects\Microservices\ftgo-application\ftgo-order-history-service\src\integrationTest\groovy', not found
Skipping task ':ftgo-order-history-service:compileIntegrationTestGroovy' as it has no source files and no previous output files.
:ftgo-order-history-service:compileIntegrationTestGroovy (Thread[Task worker for ':' Thread 2,5,main]) completed. Took 0.001 secs.
:ftgo-order-history-service:processIntegrationTestResources (Thread[Task worker for ':' Thread 2,5,main]) started.

Task :ftgo-order-history-service:processIntegrationTestResources NO-SOURCE
file or directory 'C:\IdeaProjects\Microservices\ftgo-application\ftgo-order-history-service\src\integrationTest\resources', not found
file or directory 'C:\IdeaProjects\Microservices\ftgo-application\ftgo-order-history-service\src\integration-test\resources', not found
Skipping task ':ftgo-order-history-service:processIntegrationTestResources' as it has no source files and no previous output files.
:ftgo-order-history-service:processIntegrationTestResources (Thread[Task worker for ':' Thread 2,5,main]) completed. Took 0.001 secs.
:ftgo-order-history-service:integrationTestClasses (Thread[Task worker for ':' Thread 2,5,main]) started.

Task :ftgo-order-history-service:integrationTestClasses UP-TO-DATE
Skipping task ':ftgo-order-history-service:integrationTestClasses' as it has no actions.
:ftgo-order-history-service:integrationTestClasses (Thread[Task worker for ':' Thread 2,5,main]) completed. Took 0.0 secs.
:ftgo-order-history-service:integrationTestsComposeUp (Thread[Task worker for ':' Thread 2,5,main]) started.

Task :ftgo-order-history-service:integrationTestsComposeUp
Task ':ftgo-order-history-service:integrationTestsComposeUp' is not up-to-date because:
Task has not declared any outputs despite executing actions.
Starting process 'command 'docker-compose''. Working directory: C:\IdeaProjects\Microservices\ftgo-application\ftgo-order-history-service Command: docker-compose build dynamodblocal dynamodblocal-init
Successfully started process 'command 'docker-compose''
Starting process 'command 'docker-compose''. Working directory: C:\IdeaProjects\Microservices\ftgo-application\ftgo-order-history-service Command: docker-compose --version
Successfully started process 'command 'docker-compose''
Starting process 'command 'docker-compose''. Working directory: C:\IdeaProjects\Microservices\ftgo-application\ftgo-order-history-service Command: docker-compose --version
Successfully started process 'command 'docker-compose''
Starting process 'command 'docker-compose''. Working directory: C:\IdeaProjects\Microservices\ftgo-application\ftgo-order-history-service Command: docker-compose up -d dynamodblocal dynamodblocal-init
Successfully started process 'command 'docker-compose''
Starting process 'command 'docker-compose''. Working directory: C:\IdeaProjects\Microservices\ftgo-application\ftgo-order-history-service Command: docker-compose ps -q dynamodblocal
Successfully started process 'command 'docker-compose''
Container ID of service dynamodblocal is 2b678874f72f2d1639c8b9f87e4a770358938ed9fe7a441ba09a8a0ba2ac7ba9
Starting process 'command 'docker''. Working directory: C:\IdeaProjects\Microservices\ftgo-application\ftgo-order-history-service Command: docker inspect 2b678874f72f2d1639c8b9f87e4a770358938ed9fe7a441ba09a8a0ba2ac7ba9
Successfully started process 'command 'docker''
DOCKER_HOST environment variable detected - will be used as hostname of service dynamodblocal (192.168.99.103)'
Will use com.avast.gradle.dockercompose.ServiceHost(192.168.99.103, RemoteDockerHost) as host of service dynamodblocal
Exposed TCP port on service 'dynamodblocal:8000' will be available as 8000
Starting process 'command 'docker-compose''. Working directory: C:\IdeaProjects\Microservices\ftgo-application\ftgo-order-history-service Command: docker-compose ps -q dynamodblocal-init
Successfully started process 'command 'docker-compose''
Container ID of service dynamodblocal-init is 331ccd467b009912ea719769368b11b5461c6463d1d25d89ad1f08cf14b7d86b
Starting process 'command 'docker''. Working directory: C:\IdeaProjects\Microservices\ftgo-application\ftgo-order-history-service Command: docker inspect 331ccd467b009912ea719769368b11b5461c6463d1d25d89ad1f08cf14b7d86b
Successfully started process 'command 'docker''
DOCKER_HOST environment variable detected - will be used as hostname of service dynamodblocal-init (192.168.99.103)'
Will use com.avast.gradle.dockercompose.ServiceHost(192.168.99.103, RemoteDockerHost) as host of service dynamodblocal-init
Starting process 'command 'docker''. Working directory: C:\IdeaProjects\Microservices\ftgo-application\ftgo-order-history-service Command: docker inspect 2b678874f72f2d1639c8b9f87e4a770358938ed9fe7a441ba09a8a0ba2ac7ba9
Successfully started process 'command 'docker''
dynamodblocal_1 health state reported as 'healthy' - continuing...
Starting process 'command 'docker''. Working directory: C:\IdeaProjects\Microservices\ftgo-application\ftgo-order-history-service Command: docker inspect 331ccd467b009912ea719769368b11b5461c6463d1d25d89ad1f08cf14b7d86b
Successfully started process 'command 'docker''
Waiting for dynamodblocal-init_1 to become healthy (it's unhealthy)
Starting process 'command 'docker''. Working directory: C:\IdeaProjects\Microservices\ftgo-application\ftgo-order-history-service Command: docker inspect 331ccd467b009912ea719769368b11b5461c6463d1d25d89ad1f08cf14b7d86b
Successfully started process 'command 'docker''
Waiting for dynamodblocal-init_1 to become healthy (it's starting)
Starting process 'command 'docker''. Working directory: C:\IdeaProjects\Microservices\ftgo-application\ftgo-order-history-service Command: docker inspect 331ccd467b009912ea719769368b11b5461c6463d1d25d89ad1f08cf14b7d86b
Successfully started process 'command 'docker''
Waiting for dynamodblocal-init_1 to become healthy (it's unhealthy)
Starting process 'command 'docker''. Working directory: C:\IdeaProjects\Microservices\ftgo-application\ftgo-order-history-service Command: docker inspect 331ccd467b009912ea719769368b11b5461c6463d1d25d89ad1f08cf14b7d86b
Successfully started process 'command 'docker''
Waiting for dynamodblocal-init_1 to become healthy (it's unhealthy)
Starting process 'command 'docker''. Working directory: C:\IdeaProjects\Microservices\ftgo-application\ftgo-order-history-service Command: docker inspect 331ccd467b009912ea719769368b11b5461c6463d1d25d89ad1f08cf14b7d86b
Successfully started process 'command 'docker''
Waiting for dynamodblocal-init_1 to become healthy (it's unhealthy)
Starting process 'command 'docker''. Working directory: C:\IdeaProjects\Microservices\ftgo-application\ftgo-order-history-service Command: docker inspect 331ccd467b009912ea719769368b11b5461c6463d1d25d89ad1f08cf14b7d86b
Successfully started process 'command 'docker''
Waiting for dynamodblocal-init_1 to become healthy (it's starting)
Starting process 'command 'docker''. Working directory: C:\IdeaProjects\Microservices\ftgo-application\ftgo-order-history-service Command: docker inspect 331ccd467b009912ea719769368b11b5461c6463d1d25d89ad1f08cf14b7d86b
Successfully started process 'command 'docker''
Waiting for dynamodblocal-init_1 to become healthy (it's unhealthy)
Starting process 'command 'docker''. Working directory: C:\IdeaProjects\Microservices\ftgo-application\ftgo-order-history-service Command: docker inspect 331ccd467b009912ea719769368b11b5461c6463d1d25d89ad1f08cf14b7d86b
Successfully started process 'command 'docker''
Waiting for dynamodblocal-init_1 to become healthy (it's unhealthy)
Starting process 'command 'docker''. Working directory: C:\IdeaProjects\Microservices\ftgo-application\ftgo-order-history-service Command: docker inspect 331ccd467b009912ea719769368b11b5461c6463d1d25d89ad1f08cf14b7d86b
Successfully started process 'command 'docker''
Waiting for dynamodblocal-init_1 to become healthy (it's unhealthy)
Starting process 'command 'docker''. Working directory: C:\IdeaProjects\Microservices\ftgo-application\ftgo-order-history-service Command: docker inspect 331ccd467b009912ea719769368b11b5461c6463d1d25d89ad1f08cf14b7d86b
Successfully started process 'command 'docker''
Waiting for dynamodblocal-init_1 to become healthy (it's unhealthy)
Starting process 'command 'docker''. Working directory: C:\IdeaProjects\Microservices\ftgo-application\ftgo-order-history-service Command: docker inspect 331ccd467b009912ea719769368b11b5461c6463d1d25d89ad1f08cf14b7d86b
Successfully started process 'command 'docker''
Waiting for dynamodblocal-init_1 to become healthy (it's unhealthy)

FTGO web apps - present in the code or not?

Hello,

here is a citation from Chapter 8 page 258:

"For example, all of the FTGO application web applications— Consumer, Restaurant, and Admin—contain JavaScript that invokes the backend services. The Consumer web application, for instance, dynamically refreshes the Order Details page using JavaScript that invokes the service APIs."

Are these web apps present in FTGO-app-code?
I can see only web-packages in services that provide REST endpoints (REST inbound adapters) for services, as I understand.

Thanks,
Andrew

Gradle issue with current master

I pulled and tried to build the solution using the latest master branch but the build fails I believe because of the new FTGOGradlePlugin. The 1.0.0 release seems to work fine.

services api modules - information & explanation

Hi Chris and all,

sorry, probably I'm posting these questions to wrong location, but could you please advice on the following subject.
I'm exploring module structure of FTGO app and seeing that there are 5 "-api" modules:

-ftgo-accounting-service-api
-ftgo-consumer-service-api
-ftgo-kitchen-service-api
-ftgo-order-service-api
-ftgo-restaurant-service-api

Questions:

  1. Where in the book is a description of the logic of this module structure and api modules separation? (Chapter-3, Chapter-8 ...? Can't find it...)
  2. Why "api" modules are separated only for these services, why don't we need to make analogous api-modules for other services?

Is it described somewhere in the book? If not, then it would be nice to have this explanation in some Chapter in future editions or in the guide for FTGO application ( https://github.com/microservices-patterns/ftgo-application )

Thanks,
Andrew

replay channelMapping

hello,
I have a question:
replay subscribe channel can be from channelMapping, but send commands is a fixed value, this will result in two identical projects to interact with each other。
My opinion is subscribe and send both get from channelMapping, I don't know if it is feasible... and if not feasible, what is the reason why it is not feasible?
thanks for your answer.

RestaurantMenuRevised event - is not published anywhere and has no arg-constructor

Hi,

consider RestaurantMenuRevised event class (ftgo-restaurant-service-api).

It's consumed in event consumers (OrderEventConsumer, KitchenServiceEventConsumer) , but I can't see where it's published. It seems it's not published. Also it has no arg-constructor, so not clear, how it's "menu" property gets initialized.

Is it correct?

====

package net.chrisrichardson.ftgo.restaurantservice.events;

import io.eventuate.tram.events.common.DomainEvent;

public class RestaurantMenuRevised implements DomainEvent {

private RestaurantMenu menu;

public RestaurantMenu getRevisedMenu() {
return menu;
}
}

Event sourcing (chapter6) source code question

Hi Chris,
At first, thanks for your great book on Microservices.
As you mentioned, there is only "ftgo-accounting-services" for event sourcing, do you have any plan for implementing "ftgo-ordering-services" using event sourcing?

OrderHistoryDaoDynamoDbTest - should it be moved to "integration-test" module?

Hi,

I'm running "./gradlew build" command with services down and it fails on Order History tests (log is below). If I up services, then "./gradlew build" passes OK.

It seems that OrderHistoryDaoDynamoDbTest is not a Unit Test, but is an Integration Test, because it requires DB to be up.

In the case of Order Service such Integration Tests are moved to separate folder, so "./gradlew build" or "./gradlew test" should run only Unit Tests, as I understand.

Should OrderHistoryDaoDynamoDbTest be separated in the same way as Integration Tests for Order Service?


$ ./gradlew build

Task :ftgo-api-gateway:test
2019-12-22 23:53:01.805 INFO [-,,,] 2900 --- [ Thread-20] onfigReactiveWebServerApplicationContext : Closing org.springframework.boot.web.reactive.context.AnnotationConfigReactiveWebServerApplicationContext@67678560: startup date [Sun Dec 22 23:52:47 MSK 2019]; parent: org.springframework.cont
ext.annotation.AnnotationConfigApplicationContext@12b03cc3
2019-12-22 23:53:01.807 INFO [-,,,] 2900 --- [ Thread-20] o.s.c.support.DefaultLifecycleProcessor : Stopping beans in phase 0
2019-12-22 23:53:01.807 INFO [-,,,] 2900 --- [ Thread-20] o.s.i.endpoint.EventDrivenConsumer : Removing {logging-channel-adapter:_org.springframework.integration.errorLogger} as a subscriber to the 'errorChannel' channel
2019-12-22 23:53:01.807 INFO [-,,,] 2900 --- [ Thread-20] o.s.i.channel.PublishSubscribeChannel : Channel 'application-1.errorChannel' has 0 subscriber(s).
2019-12-22 23:53:01.807 INFO [-,,,] 2900 --- [ Thread-20] o.s.i.endpoint.EventDrivenConsumer : stopped _org.springframework.integration.errorLogger
2019-12-22 23:53:01.809 INFO [-,,,] 2900 --- [ Thread-20] o.s.s.c.ThreadPoolTaskScheduler : Shutting down ExecutorService 'taskScheduler'
2019-12-22 23:53:02.705 DEBUG [-,,,] 2900 --- [ender@411455cc}] o.s.c.s.z.s.ZipkinRestTemplateWrapper : Created POST request for "http://localhost:9411/api/v2/spans"
2019-12-22 23:53:02.706 DEBUG [-,,,] 2900 --- [ender@411455cc}] o.s.c.s.z.s.ZipkinRestTemplateWrapper : Setting request Accept header to [text/plain, application/json, application/*+json, /]
2019-12-22 23:53:02.707 DEBUG [-,,,] 2900 --- [ender@411455cc}] o.s.c.s.z.s.ZipkinRestTemplateWrapper : Writing [[B@3c7b17c] as "application/json" using [org.springframework.http.converter.ByteArrayHttpMessageConverter@7bb9b867]
2019-12-22 23:53:02.905 INFO [-,,,] 2900 --- [ Thread-20] r.ipc.netty.tcp.BlockingNettyContext : Stopped HttpServer on /0:0:0:0:0:0:0:0:58230

Task :ftgo-kitchen-service:compileTestGroovy
Note: C:\IdeaProjects\Microservices\ftgo-application-master-ORIG\ftgo-kitchen-service\build\generated-test-sources\contracts\org\springframework\cloud\contract\verifier\tests\ContractVerifierTest.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

Task :ftgo-kitchen-service:test
2019-12-22 23:53:41.190 INFO [-,,,] 5772 --- [ Thread-11] ConfigServletWebServerApplicationContext : Closing org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@42d534b6: startup date [Sun Dec 22 23:53:18 MSK 2019]; parent: org.springframework.contex
t.annotation.AnnotationConfigApplicationContext@3b4aea02
2019-12-22 23:53:41.190 INFO [-,,,] 5772 --- [ Thread-17] s.c.a.AnnotationConfigApplicationContext : Closing org.springframework.context.annotation.AnnotationConfigApplicationContext@7369979: startup date [Sun Dec 22 23:53:36 MSK 2019]; parent: org.springframework.context.annotation.Annotation
ConfigApplicationContext@227cf824
2019-12-22 23:53:41.193 INFO [-,,,] 5772 --- [ Thread-17] o.s.c.support.DefaultLifecycleProcessor : Stopping beans in phase 0
2019-12-22 23:53:41.194 INFO [-,,,] 5772 --- [ Thread-11] o.s.c.support.DefaultLifecycleProcessor : Stopping beans in phase 0
2019-12-22 23:53:41.194 INFO [-,,,] 5772 --- [ Thread-17] o.s.i.endpoint.EventDrivenConsumer : Removing {logging-channel-adapter:_org.springframework.integration.errorLogger} as a subscriber to the 'errorChannel' channel
2019-12-22 23:53:41.194 INFO [-,,,] 5772 --- [ Thread-11] o.s.i.endpoint.EventDrivenConsumer : Removing {logging-channel-adapter:_org.springframework.integration.errorLogger} as a subscriber to the 'errorChannel' channel
2019-12-22 23:53:41.194 INFO [-,,,] 5772 --- [ Thread-17] o.s.i.channel.PublishSubscribeChannel : Channel 'application-1.errorChannel' has 0 subscriber(s).
2019-12-22 23:53:41.195 INFO [-,,,] 5772 --- [ Thread-11] o.s.i.channel.PublishSubscribeChannel : Channel 'application-1.errorChannel' has 0 subscriber(s).
2019-12-22 23:53:41.195 INFO [-,,,] 5772 --- [ Thread-17] o.s.i.endpoint.EventDrivenConsumer : stopped _org.springframework.integration.errorLogger
2019-12-22 23:53:41.195 INFO [-,,,] 5772 --- [ Thread-11] o.s.i.endpoint.EventDrivenConsumer : stopped _org.springframework.integration.errorLogger
2019-12-22 23:53:41.196 INFO [-,,,] 5772 --- [ Thread-11] o.s.s.c.ThreadPoolTaskScheduler : Shutting down ExecutorService 'taskScheduler'
2019-12-22 23:53:41.196 INFO [-,,,] 5772 --- [ Thread-17] o.s.s.c.ThreadPoolTaskScheduler : Shutting down ExecutorService 'taskScheduler'
2019-12-22 23:53:41.200 INFO [-,,,] 5772 --- [ Thread-11] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default'
2019-12-22 23:53:41.200 INFO [-,,,] 5772 --- [ Thread-11] .SchemaDropperImpl$DelayedDropActionImpl : HHH000477: Starting delayed drop of schema as part of SessionFactory shut-down'
2019-12-22 23:53:41.201 DEBUG [-,,,] 5772 --- [ Thread-11] org.hibernate.SQL : drop table kitchen_service_restaurant_menu_items if exists
2019-12-22 23:53:41.202 DEBUG [-,,,] 5772 --- [ Thread-11] org.hibernate.SQL : drop table kitchen_service_restaurants if exists
2019-12-22 23:53:41.203 DEBUG [-,,,] 5772 --- [ Thread-11] org.hibernate.SQL : drop table ticket_line_items if exists
2019-12-22 23:53:41.203 DEBUG [-,,,] 5772 --- [ Thread-11] org.hibernate.SQL : drop table tickets if exists
2019-12-22 23:53:41.205 INFO [-,,,] 5772 --- [ Thread-11] o.s.j.d.e.EmbeddedDatabaseFactory : Shutting down embedded database: url='jdbc:h2:mem:testdb;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=false'
2019-12-22 23:53:42.202 INFO [-,,,] 5772 --- [ Thread-17] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default'
2019-12-22 23:53:42.202 INFO [-,,,] 5772 --- [ Thread-17] .SchemaDropperImpl$DelayedDropActionImpl : HHH000477: Starting delayed drop of schema as part of SessionFactory shut-down'
2019-12-22 23:53:42.202 DEBUG [-,,,] 5772 --- [ Thread-17] org.hibernate.SQL : drop table kitchen_service_restaurant_menu_items if exists
2019-12-22 23:53:42.204 DEBUG [-,,,] 5772 --- [ Thread-17] org.hibernate.SQL : drop table kitchen_service_restaurants if exists
2019-12-22 23:53:42.204 DEBUG [-,,,] 5772 --- [ Thread-17] org.hibernate.SQL : drop table ticket_line_items if exists
2019-12-22 23:53:42.205 DEBUG [-,,,] 5772 --- [ Thread-17] org.hibernate.SQL : drop table tickets if exists
2019-12-22 23:53:42.210 INFO [-,,,] 5772 --- [ Thread-17] o.s.j.d.e.EmbeddedDatabaseFactory : Shutting down embedded database: url='jdbc:h2:mem:testdb;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=false'

Task :ftgo-order-history-service:test

net.chrisrichardson.ftgo.cqrs.orderhistory.dynamodb.OrderHistoryDaoDynamoDbTest > shouldCancel FAILED
com.amazonaws.SdkClientException at OrderHistoryDaoDynamoDbTest.java:81
Caused by: org.apache.http.conn.HttpHostConnectException at OrderHistoryDaoDynamoDbTest.java:81
Caused by: java.net.ConnectException at OrderHistoryDaoDynamoDbTest.java:81

net.chrisrichardson.ftgo.cqrs.orderhistory.dynamodb.OrderHistoryDaoDynamoDbTest > shouldFindOrderByMenuItem FAILED
com.amazonaws.SdkClientException at OrderHistoryDaoDynamoDbTest.java:81
Caused by: org.apache.http.conn.HttpHostConnectException at OrderHistoryDaoDynamoDbTest.java:81
Caused by: java.net.ConnectException at OrderHistoryDaoDynamoDbTest.java:81

net.chrisrichardson.ftgo.cqrs.orderhistory.dynamodb.OrderHistoryDaoDynamoDbTest > shouldFindOrders FAILED
com.amazonaws.SdkClientException at OrderHistoryDaoDynamoDbTest.java:81
Caused by: org.apache.http.conn.HttpHostConnectException at OrderHistoryDaoDynamoDbTest.java:81
Caused by: java.net.ConnectException at OrderHistoryDaoDynamoDbTest.java:81

net.chrisrichardson.ftgo.cqrs.orderhistory.dynamodb.OrderHistoryDaoDynamoDbTest > shouldIgnoreDuplicateAdd FAILED
com.amazonaws.SdkClientException at OrderHistoryDaoDynamoDbTest.java:81
Caused by: org.apache.http.conn.HttpHostConnectException at OrderHistoryDaoDynamoDbTest.java:81
Caused by: java.net.ConnectException at OrderHistoryDaoDynamoDbTest.java:81

net.chrisrichardson.ftgo.cqrs.orderhistory.dynamodb.OrderHistoryDaoDynamoDbTest > shouldReturnOrdersSorted FAILED
com.amazonaws.SdkClientException at OrderHistoryDaoDynamoDbTest.java:81
Caused by: org.apache.http.conn.HttpHostConnectException at OrderHistoryDaoDynamoDbTest.java:81
Caused by: java.net.ConnectException at OrderHistoryDaoDynamoDbTest.java:81

net.chrisrichardson.ftgo.cqrs.orderhistory.dynamodb.OrderHistoryDaoDynamoDbTest > shouldFindOrder FAILED
com.amazonaws.SdkClientException at OrderHistoryDaoDynamoDbTest.java:81
Caused by: org.apache.http.conn.HttpHostConnectException at OrderHistoryDaoDynamoDbTest.java:81
Caused by: java.net.ConnectException at OrderHistoryDaoDynamoDbTest.java:81

net.chrisrichardson.ftgo.cqrs.orderhistory.dynamodb.OrderHistoryDaoDynamoDbTest > shouldFindOrdersWithCancelledStatus FAILED
com.amazonaws.SdkClientException at OrderHistoryDaoDynamoDbTest.java:81
Caused by: org.apache.http.conn.HttpHostConnectException at OrderHistoryDaoDynamoDbTest.java:81
Caused by: java.net.ConnectException at OrderHistoryDaoDynamoDbTest.java:81

net.chrisrichardson.ftgo.cqrs.orderhistory.dynamodb.OrderHistoryDaoDynamoDbTest > shouldHandleCancel FAILED
com.amazonaws.SdkClientException at OrderHistoryDaoDynamoDbTest.java:81
Caused by: org.apache.http.conn.HttpHostConnectException at OrderHistoryDaoDynamoDbTest.java:81
Caused by: java.net.ConnectException at OrderHistoryDaoDynamoDbTest.java:81

net.chrisrichardson.ftgo.cqrs.orderhistory.dynamodb.OrderHistoryDaoDynamoDbTest > shouldPaginateResults FAILED
com.amazonaws.SdkClientException at OrderHistoryDaoDynamoDbTest.java:81
Caused by: org.apache.http.conn.HttpHostConnectException at OrderHistoryDaoDynamoDbTest.java:81
Caused by: java.net.ConnectException at OrderHistoryDaoDynamoDbTest.java:81

net.chrisrichardson.ftgo.cqrs.orderhistory.dynamodb.OrderHistoryDaoDynamoDbTest > shouldFindOrdersWithStatus FAILED
com.amazonaws.SdkClientException at OrderHistoryDaoDynamoDbTest.java:81
Caused by: org.apache.http.conn.HttpHostConnectException at OrderHistoryDaoDynamoDbTest.java:81
Caused by: java.net.ConnectException at OrderHistoryDaoDynamoDbTest.java:81
2019-12-22 23:58:15.401 INFO [-,,,] 4728 --- [ Thread-10] o.s.w.c.s.GenericWebApplicationContext : Closing org.springframework.web.context.support.GenericWebApplicationContext@306dd654: startup date [Sun Dec 22 23:53:51 MSK 2019]; parent: org.springframework.context.annotation.AnnotationConf
igApplicationContext@76bf928b
2019-12-22 23:58:15.405 INFO [-,,,] 4728 --- [ Thread-10] o.s.c.support.DefaultLifecycleProcessor : Stopping beans in phase 0
2019-12-22 23:58:15.408 INFO [-,,,] 4728 --- [ Thread-10] o.s.i.endpoint.EventDrivenConsumer : Removing {logging-channel-adapter:_org.springframework.integration.errorLogger} as a subscriber to the 'errorChannel' channel
2019-12-22 23:58:15.409 INFO [-,,,] 4728 --- [ Thread-10] o.s.i.channel.PublishSubscribeChannel : Channel 'application-1.errorChannel' has 0 subscriber(s).
2019-12-22 23:58:15.409 INFO [-,,,] 4728 --- [ Thread-10] o.s.i.endpoint.EventDrivenConsumer : stopped _org.springframework.integration.errorLogger
2019-12-22 23:58:15.409 INFO [-,,,] 4728 --- [ Thread-10] o.s.s.c.ThreadPoolTaskScheduler : Shutting down ExecutorService 'taskScheduler'
2019-12-22 23:58:15.412 INFO [-,,,] 4728 --- [ Thread-10] o.s.j.d.e.EmbeddedDatabaseFactory : Shutting down embedded database: url='jdbc:h2:mem:testdb;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=false'

12 tests completed, 10 failed

Task :ftgo-order-history-service:test FAILED

FAILURE: Build failed with an exception.

  • What went wrong:
    Execution failed for task ':ftgo-order-history-service:test'.

There were failing tests. See the report at: file:///C:/IdeaProjects/Microservices/ftgo-application-master-ORIG/ftgo-order-history-service/build/reports/tests/test/index.html

  • Try:
    Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

  • Get more help at https://help.gradle.org

Deprecated Gradle features were used in this build, making it incompatible with Gradle 5.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/4.10.2/userguide/command_line_interface.html#sec:command_line_warnings

BUILD FAILED in 5m 43s
97 actionable tasks: 26 executed, 71 up-to-date

Proposal - use Lombok for FTGO app code

Hello,

I propose to use Lombok Project (https://projectlombok.org) for FTGO app.
Huge amout of boilerplate code will be hidden and the code will be much more readable.

Here is Lombok-version of ValidateOrderByConsumer сommand:

@DaTa
@NoArgsConstructor(access = AccessLevel.PRIVATE)
@AllArgsConstructor
public class ValidateOrderByConsumer implements Command {
private long consumerId;
private long orderId;
private Money orderTotal;
}

And below is original version of ValidateOrderByConsumer сommand:

public class ValidateOrderByConsumer implements Command {

private long consumerId;
private long orderId;
private Money orderTotal;

private ValidateOrderByConsumer() {
}

@OverRide
public boolean equals(Object o) {
return EqualsBuilder.reflectionEquals(this, o);
}

@OverRide
public int hashCode() {
return HashCodeBuilder.reflectionHashCode(this);
}

@OverRide
public String toString() {
return ToStringBuilder.reflectionToString(this);
}

public ValidateOrderByConsumer(long consumerId, long orderId, Money orderTotal) {
this.consumerId = consumerId;
this.orderId = orderId;
this.orderTotal = orderTotal;
}

public Long getOrderId() {
return orderId;
}

public long getConsumerId() {
return consumerId;
}

public void setConsumerId(long consumerId) {
this.consumerId = consumerId;
}

public void setOrderId(long orderId) {
this.orderId = orderId;
}

public Money getOrderTotal() {
return orderTotal;
}

public void setOrderTotal(Money orderTotal) {
this.orderTotal = orderTotal;
}
}

=======================================

Lombok could be added to the project by adding next lines into build.gradle in the root FTGO folder (below 'apply plugin: "java"'-line):

apply plugin: "java"
dependencies {
compileOnly 'org.projectlombok:lombok:1.18.10'
annotationProcessor 'org.projectlombok:lombok:1.18.10'
}

Best regards,
Andrew

OrderHistory gives order status as "APPROVAL_PENDING", but in Order Service it has "CANCELLED" status

Hi,
I'm running End-to-end test (two times), it creates two orders, I see that they have "CANCELLED" status in Order Service table:
https://imgur.com/a/i9HSxEZ
Then I retrieve data from Order History service with AWS CLI
( aws --region ignored --endpoint-url http://$DOCKER_HOST_IP:8000 dynamodb scan --table-name ftgo-order-history )
and see that order statuses are "APPROVAL_PENDING". I repeated retrieve from DynamoDB some time later, it still gives "APPROVAL_PENDING" statuses.

Is this behavior correct?
Expectations for Order History service are, probably, that it's data should contain a chain of order states (history of changes that End-to-end test did with these orders) and final status should be the same as in Order Service.


{
"Items": [
{
"creationDate": {
"N": "1577020036013"
},
"keywords": {
"SS": [
"Chicken",
"My",
"Restaurant",
"Vindaloo"
]
},
"events.net.chrisrichardson.ftgo.orderservice.domain.Order1": {
"S": "0000016f2db8120e-0242ac12000b0000"
},
"orderStatus": {
"S": "APPROVAL_PENDING"
},
"lineItems": {
"L": [
{
"M": {
"menuItemName": {
"S": "Chicken Vindaloo"
},
"menuItemId": {
"S": "1"
},
"quantity": {
"N": "5"
},
"price": {
"S": "12.34"
}
}
}
]
},
"restaurantName": {
"S": "My Restaurant"
},
"restaurantId": {
"N": "1"
},
"orderId": {
"S": "1"
},
"consumerId": {
"S": "1"
}
},
{
"creationDate": {
"N": "1577036096341"
},
"keywords": {
"SS": [
"Chicken",
"My",
"Restaurant",
"Vindaloo"
]
},
"events.net.chrisrichardson.ftgo.orderservice.domain.Order2": {
"S": "0000016f2ead2316-0242ac12000b0000"
},
"orderStatus": {
"S": "APPROVAL_PENDING"
},
"lineItems": {
"L": [
{
"M": {
"menuItemName": {
"S": "Chicken Vindaloo"
},
"menuItemId": {
"S": "1"
},
"quantity": {
"N": "5"
},
"price": {
"S": "12.34"
}
}
}
]
},
"restaurantName": {
"S": "My Restaurant"
},
"restaurantId": {
"N": "2"
},
"orderId": {
"S": "2"
},
"consumerId": {
"S": "2"
}
}
],
"Count": 2,
"ScannedCount": 2,
"ConsumedCapacity": null
}

ComponentTest for Order Service fails and subsequently created orders are broken (created in APPROVAL_PENDING status)

Hi,

consider running of ComponentTest for Order Service - OrderServiceComponentTest (all services are up, running the test from IDE):

  1. Run OrderServiceComponentTest
  • See that it fails on second scenario "Order rejected due to expired credit car"
  • In DB second order was created in APPROVED_PENDING status (not in REJECTED), see screenshot: https://imgur.com/a/JcnPcqp
  • the log of Order Service is below (NoSuchElementException was thrown)
  1. After that order creation process is broken. F.e., if I run EndToEndTest with only createOrder()-block in test-method, it will create order in APPROVAL_PENDING status and the test itself fails.

  2. To restore normal order creation, full system restart is needed (docker-compose down & up).

====

ftgo-order-service_1 | 2020-01-01T12:04:50.649512809Z 2020-01-01 12:04:50.648 DEBUG [ftgo-order-service,,,] 1 --- [erServiceEvents] i.e.m.k.b.c.EventuateKafkaConsumer : Got orderServiceEvents 1 records
ftgo-order-service_1 | 2020-01-01T12:04:50.650795193Z 2020-01-01 12:04:50.650 DEBUG [ftgo-order-service,,,] 1 --- [erServiceEvents] i.e.m.k.b.c.EventuateKafkaConsumer : processing record orderServiceEvents 0 {"payload":"{"name":"Ajanta","menu":{"menuItems":[{"id":"1","nam
e":"Chicken Vindaloo","price":"12.34"}]}}","headers":{"PARTITION_ID":"1","event-aggregate-type":"net.chrisrichardson.ftgo.restaurantservice.domain.Restaurant","DATE":"Wed, 1 Jan 2020 12:04:45 GMT","event-aggregate-id":"1","X-B3-SpanId":"efe31874ce01f8d7","event-type":"net.chrisrichardson.ftgo
.restaurantservice.events.RestaurantCreated","DESTINATION":"net.chrisrichardson.ftgo.restaurantservice.domain.Restaurant","X-B3-Sampled":"1","X-B3-TraceId":"efe31874ce01f8d7","ID":"0000016f60fe72a7-14dae921faa80000"}}
ftgo-order-service_1 | 2020-01-01T12:04:50.651632662Z 2020-01-01 12:04:50.651 DEBUG [ftgo-order-service,,,] 1 --- [erServiceEvents] i.e.m.k.b.c.EventuateKafkaConsumer : EventuateKafkaAggregateSubscriptions subscriber = orderServiceEvents, offset = 0, key = 1, value = {"payload":"{"na
me":"Ajanta","menu":{"menuItems":[{"id":"1","name":"Chicken Vindaloo","price":"12.34"}]}}","headers":{"PARTITION_ID":"1","event-aggregate-type":"net.chrisrichardson.ftgo.restaurantservice.domain.Restaurant","DATE":"Wed, 1 Jan 2020 12:04:45 GMT","event-aggregate-id":"1","X-B3-SpanI
d":"efe31874ce01f8d7","event-type":"net.chrisrichardson.ftgo.restaurantservice.events.RestaurantCreated","DESTINATION":"net.chrisrichardson.ftgo.restaurantservice.domain.Restaurant","X-B3-Sampled":"1","X-B3-TraceId":"efe31874ce01f8d7","ID":"0000016f60fe72a7-14dae921faa80000"}}
ftgo-order-service_1 | 2020-01-01T12:04:50.664245365Z 2020-01-01 12:04:50.663 DEBUG [ftgo-order-service,,,] 1 --- [erServiceEvents] i.e.m.k.b.c.EventuateKafkaConsumer : Processed orderServiceEvents 1 records
ftgo-order-service_1 | 2020-01-01T12:04:50.701460064Z 2020-01-01 12:04:50.664 DEBUG [ftgo-order-service,,,] 1 --- [erServiceEvents] i.e.m.k.b.c.EventuateKafkaConsumer : To commit orderServiceEvents io.eventuate.messaging.kafka.basic.consumer.OffsetTracker@2248a26f[state={net.chrisrich
ardson.ftgo.restaurantservice.domain.Restaurant-1=io.eventuate.messaging.kafka.basic.consumer.TopicPartitionOffsets@7b3fdaca[unprocessed=[0],processed=[]]}]
ftgo-order-service_1 | 2020-01-01T12:04:50.861748379Z 2020-01-01 12:04:50.861 TRACE [ftgo-order-service,efe31874ce01f8d7,5ce83468dcb9abe9,true] 1 --- [pool-5-thread-1] i.e.t.c.c.DecoratedMessageHandlerFactory : Invoking handler orderServiceEvents 0000016f60fe72a7-14dae921faa80000
ftgo-order-service_1 | 2020-01-01T12:04:51.000709484Z 2020-01-01 12:04:50.998 DEBUG [ftgo-order-service,efe31874ce01f8d7,5ce83468dcb9abe9,true] 1 --- [pool-5-thread-1] org.hibernate.SQL : select restaurant0_.id as id1_2_0_, restaurant0_.name as name2_2_0_ from order_s
ervice_restaurants restaurant0_ where restaurant0_.id=?
ftgo-order-service_1 | 2020-01-01T12:04:51.046888070Z 2020-01-01 12:04:51.046 TRACE [ftgo-order-service,efe31874ce01f8d7,5ce83468dcb9abe9,true] 1 --- [pool-5-thread-1] i.e.t.c.c.DecoratedMessageHandlerFactory : handled message orderServiceEvents 0000016f60fe72a7-14dae921faa80000
ftgo-order-service_1 | 2020-01-01T12:04:51.091850889Z 2020-01-01 12:04:51.091 DEBUG [ftgo-order-service,,,] 1 --- [pool-5-thread-1] org.hibernate.SQL : insert into order_service_restaurants (name, id) values (?, ?)
ftgo-order-service_1 | 2020-01-01T12:04:51.112033279Z 2020-01-01 12:04:51.111 DEBUG [ftgo-order-service,,,] 1 --- [pool-5-thread-1] org.hibernate.SQL : insert into order_service_restaurant_menu_items (restaurant_id, id, name, amount) values (?, ?, ?, ?)
ftgo-order-service_1 | 2020-01-01T12:04:51.137100360Z 2020-01-01 12:04:51.136 DEBUG [ftgo-order-service,,,] 1 --- [pool-5-thread-1] i.e.m.k.b.c.KafkaMessageProcessor : Adding processed record to queue orderServiceEvents 0
ftgo-order-service_1 | 2020-01-01T12:04:51.210928190Z 2020-01-01 12:04:51.210 DEBUG [ftgo-order-service,,,] 1 --- [erServiceEvents] i.e.m.k.b.c.EventuateKafkaConsumer : Committing offsets orderServiceEvents {net.chrisrichardson.ftgo.restaurantservice.domain.Restaurant-1=OffsetAndMetad
ata{offset=1, metadata=''}}
ftgo-order-service_1 | 2020-01-01T12:04:51.219510911Z 2020-01-01 12:04:51.219 DEBUG [ftgo-order-service,,,] 1 --- [erServiceEvents] i.e.m.k.b.c.EventuateKafkaConsumer : Committed offsets orderServiceEvents
ftgo-order-service_1 | 2020-01-01T12:04:53.924716020Z 2020-01-01 12:04:53.922 DEBUG [ftgo-order-service,571383ec71cf5e1b,571383ec71cf5e1b,true] 1 --- [nio-8080-exec-3] org.hibernate.SQL : select restaurant0_.id as id1_2_0_, restaurant0_.name as name2_2_0_ from order_s
ervice_restaurants restaurant0_ where restaurant0_.id=?
ftgo-order-service_1 | 2020-01-01T12:04:54.008710556Z 2020-01-01 12:04:54.007 DEBUG [ftgo-order-service,571383ec71cf5e1b,571383ec71cf5e1b,true] 1 --- [nio-8080-exec-3] org.hibernate.SQL : select menuitems0_.restaurant_id as restaura1_1_0_, menuitems0_.id as id2_1_0_,
menuitems0_.name as name3_1_0_, menuitems0_.amount as amount4_1_0_ from order_service_restaurant_menu_items menuitems0_ where menuitems0_.restaurant_id=?
ftgo-order-service_1 | 2020-01-01T12:04:54.113915798Z 2020-01-01 12:04:54.113 DEBUG [ftgo-order-service,571383ec71cf5e1b,571383ec71cf5e1b,true] 1 --- [nio-8080-exec-3] org.hibernate.SQL : select next_val as id_val from hibernate_sequence for update
ftgo-order-service_1 | 2020-01-01T12:04:54.118054321Z 2020-01-01 12:04:54.117 DEBUG [ftgo-order-service,571383ec71cf5e1b,571383ec71cf5e1b,true] 1 --- [nio-8080-exec-3] org.hibernate.SQL : update hibernate_sequence set next_val= ? where next_val=?
ftgo-order-service_1 | 2020-01-01T12:04:54.182487835Z 2020-01-01 12:04:54.180 INFO [ftgo-order-service,571383ec71cf5e1b,571383ec71cf5e1b,true] 1 --- [nio-8080-exec-3] i.e.t.s.o.SagaInstanceRepositoryJdbc : Saving net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga 0
000016f60fe9323-0242ac13000b0000
ftgo-order-service_1 | 2020-01-01T12:04:54.196534343Z 2020-01-01 12:04:54.196 DEBUG [ftgo-order-service,571383ec71cf5e1b,571383ec71cf5e1b,true] 1 --- [nio-8080-exec-3] i.e.t.sagas.common.SagaLockManagerImpl : Saga net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga 000
0016f60fe9323-0242ac13000b0000 has locked net.chrisrichardson.ftgo.orderservice.domain.Order/1
ftgo-order-service_1 | 2020-01-01T12:04:54.218111644Z 2020-01-01 12:04:54.217 INFO [ftgo-order-service,571383ec71cf5e1b,571383ec71cf5e1b,true] 1 --- [nio-8080-exec-3] i.e.t.s.o.SagaInstanceRepositoryJdbc : Updating net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga
0000016f60fe9323-0242ac13000b0000
ftgo-order-service_1 | 2020-01-01T12:04:54.227249164Z 2020-01-01 12:04:54.226 DEBUG [ftgo-order-service,571383ec71cf5e1b,571383ec71cf5e1b,true] 1 --- [nio-8080-exec-3] org.hibernate.SQL : insert into orders (consumer_id, city, delivery_state, street1, street2, zip, de
livery_time, amount, payment_token, restaurant_id, state, version, id) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
ftgo-order-service_1 | 2020-01-01T12:04:54.236274853Z 2020-01-01 12:04:54.235 DEBUG [ftgo-order-service,571383ec71cf5e1b,571383ec71cf5e1b,true] 1 --- [nio-8080-exec-3] org.hibernate.SQL : insert into order_line_items (order_id, menu_item_id, name, price, quantity) val
ues (?, ?, ?, ?, ?)
ftgo-order-service_1 | 2020-01-01T12:04:54.508040043Z 2020-01-01 12:04:54.507 DEBUG [ftgo-order-service,,,] 1 --- [erSaga-consumer] i.e.m.k.b.c.EventuateKafkaConsumer : Got net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-consumer 1 records
ftgo-order-service_1 | 2020-01-01T12:04:54.508109842Z 2020-01-01 12:04:54.507 DEBUG [ftgo-order-service,,,] 1 --- [erSaga-consumer] i.e.m.k.b.c.EventuateKafkaConsumer : processing record net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-consumer 0 {"payload":"{}"
,"headers":{"reply_outcome-type":"SUCCESS","commandreply_type":"net.chrisrichardson.ftgo.consumerservice.api.ValidateOrderByConsumer","commandreply_saga_type":"net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga","X-B3-ParentSpanId":"589a58f36d1050fd","reply_type":"io.eventuate.t
ram.commands.common.Success","reply_to_message_id":"0000016f60fe9344-0242ac13000b0000","commandreply_saga_id":"0000016f60fe9323-0242ac13000b0000","DATE":"Wed, 1 Jan 2020 12:04:51 GMT","commandreply__destination":"consumerService","commandreply_reply_to":"net.chrisrichardson.ftgo.orderservice.sagas.c
reateorder.CreateOrderSaga-reply","X-B3-SpanId":"06429063ce64af8d","DESTINATION":"net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-reply","X-B3-Sampled":"1","X-B3-TraceId":"571383ec71cf5e1b","ID":"0000016f60fe87b9-14dae921faa80000"}}
ftgo-order-service_1 | 2020-01-01T12:04:54.508811277Z 2020-01-01 12:04:54.508 DEBUG [ftgo-order-service,,,] 1 --- [erSaga-consumer] i.e.m.k.b.c.EventuateKafkaConsumer : EventuateKafkaAggregateSubscriptions subscriber = net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrde
rSaga-consumer, offset = 0, key = 0000016f60fe87b9-14dae921faa80000, value = {"payload":"{}","headers":{"reply_outcome-type":"SUCCESS","commandreply_type":"net.chrisrichardson.ftgo.consumerservice.api.ValidateOrderByConsumer","commandreply_saga_type":"net.chrisrichardson.ftgo.orderservice.sagas.crea
teorder.CreateOrderSaga","X-B3-ParentSpanId":"589a58f36d1050fd","reply_type":"io.eventuate.tram.commands.common.Success","reply_to_message_id":"0000016f60fe9344-0242ac13000b0000","commandreply_saga_id":"0000016f60fe9323-0242ac13000b0000","DATE":"Wed, 1 Jan 2020 12:04:51 GMT","commandreply__destinati
on":"consumerService","commandreply_reply_to":"net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-reply","X-B3-SpanId":"06429063ce64af8d","DESTINATION":"net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-reply","X-B3-Sampled":"1","X-B3-TraceId":"571383ec71cf
5e1b","ID":"0000016f60fe87b9-14dae921faa80000"}}
ftgo-order-service_1 | 2020-01-01T12:04:54.509599712Z 2020-01-01 12:04:54.509 DEBUG [ftgo-order-service,,,] 1 --- [erSaga-consumer] i.e.m.k.b.c.EventuateKafkaConsumer : Processed net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-consumer 1 records
ftgo-order-service_1 | 2020-01-01T12:04:54.510352190Z 2020-01-01 12:04:54.509 DEBUG [ftgo-order-service,,,] 1 --- [erSaga-consumer] i.e.m.k.b.c.EventuateKafkaConsumer : To commit net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-consumer io.eventuate.messaging.ka
fka.basic.consumer.OffsetTracker@ce87c5a[state={net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-reply-0=io.eventuate.messaging.kafka.basic.consumer.TopicPartitionOffsets@1599fd9a[unprocessed=[0],processed=[]]}]
ftgo-order-service_1 | 2020-01-01T12:04:54.518602560Z 2020-01-01 12:04:54.517 TRACE [ftgo-order-service,571383ec71cf5e1b,b27a1e201aaca0c8,true] 1 --- [pool-1-thread-1] i.e.t.c.c.DecoratedMessageHandlerFactory : Invoking handler net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateO
rderSaga-consumer 0000016f60fe87b9-14dae921faa80000
ftgo-order-service_1 | 2020-01-01T12:04:54.527444665Z 2020-01-01 12:04:54.522 DEBUG [ftgo-order-service,571383ec71cf5e1b,b27a1e201aaca0c8,true] 1 --- [pool-1-thread-1] i.e.t.s.orchestration.SagaManagerImpl : handle message invoked io.eventuate.tram.messaging.common.MessageImpl@27e01452[p
ayload={},headers={reply_outcome-type=SUCCESS, commandreply_type=net.chrisrichardson.ftgo.consumerservice.api.ValidateOrderByConsumer, commandreply_saga_type=net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga, reply_type=io.eventuate.tram.commands.common.Success, reply_to_messag
e_id=0000016f60fe9344-0242ac13000b0000, commandreply_saga_id=0000016f60fe9323-0242ac13000b0000, DATE=Wed, 1 Jan 2020 12:04:51 GMT, commandreply__destination=consumerService, commandreply_reply_to=net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-reply, DESTINATION=net.chrisrich
ardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-reply, ID=0000016f60fe87b9-14dae921faa80000, X-B3-TraceId=571383ec71cf5e1b, X-B3-SpanId=b27a1e201aaca0c8, X-B3-ParentSpanId=06429063ce64af8d, X-B3-Sampled=1}]
ftgo-order-service_1 | 2020-01-01T12:04:54.537230367Z 2020-01-01 12:04:54.536 DEBUG [ftgo-order-service,571383ec71cf5e1b,b27a1e201aaca0c8,true] 1 --- [pool-1-thread-1] i.e.t.s.orchestration.SagaManagerImpl : Handle reply: io.eventuate.tram.messaging.common.MessageImpl@27e01452[payload={}
,headers={reply_outcome-type=SUCCESS, commandreply_type=net.chrisrichardson.ftgo.consumerservice.api.ValidateOrderByConsumer, commandreply_saga_type=net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga, reply_type=io.eventuate.tram.commands.common.Success, reply_to_message_id=0000
016f60fe9344-0242ac13000b0000, commandreply_saga_id=0000016f60fe9323-0242ac13000b0000, DATE=Wed, 1 Jan 2020 12:04:51 GMT, commandreply__destination=consumerService, commandreply_reply_to=net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-reply, DESTINATION=net.chrisrichardson.ft
go.orderservice.sagas.createorder.CreateOrderSaga-reply, ID=0000016f60fe87b9-14dae921faa80000, X-B3-TraceId=571383ec71cf5e1b, X-B3-SpanId=b27a1e201aaca0c8, X-B3-ParentSpanId=06429063ce64af8d, X-B3-Sampled=1}]
ftgo-order-service_1 | 2020-01-01T12:04:54.542337994Z 2020-01-01 12:04:54.537 INFO [ftgo-order-service,571383ec71cf5e1b,b27a1e201aaca0c8,true] 1 --- [pool-1-thread-1] i.e.t.s.o.SagaInstanceRepositoryJdbc : finding net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga
0000016f60fe9323-0242ac13000b0000
ftgo-order-service_1 | 2020-01-01T12:04:54.611420438Z 2020-01-01 12:04:54.610 INFO [ftgo-order-service,571383ec71cf5e1b,b27a1e201aaca0c8,true] 1 --- [pool-1-thread-1] i.e.t.s.orchestration.SagaManagerImpl : Current state={"currentlyExecuting":1,"compensating":false,"endState":false}
ftgo-order-service_1 | 2020-01-01T12:04:54.638332732Z 2020-01-01 12:04:54.637 INFO [ftgo-order-service,571383ec71cf5e1b,b27a1e201aaca0c8,true] 1 --- [pool-1-thread-1] i.e.t.s.orchestration.SagaManagerImpl : Handled reply. Sending commands [io.eventuate.tram.commands.consumer.CommandWith
Destination@c25baee[destinationChannel=kitchenService,resource=,command=net.chrisrichardson.ftgo.kitchenservice.api.CreateTicket@1643501c[orderId=1,ticketDetails=net.chrisrichardson.ftgo.kitchenservice.api.TicketDetails@647f51cd[lineItems=[net.chrisrichardson.ftgo.kitchenservice.api.TicketLine
Item@2d0d885]],restaurantId=1]]]
ftgo-order-service_1 | 2020-01-01T12:04:54.659623604Z 2020-01-01 12:04:54.659 INFO [ftgo-order-service,571383ec71cf5e1b,b27a1e201aaca0c8,true] 1 --- [pool-1-thread-1] i.e.t.s.o.SagaInstanceRepositoryJdbc : Updating net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga
0000016f60fe9323-0242ac13000b0000
ftgo-order-service_1 | 2020-01-01T12:04:54.662632119Z 2020-01-01 12:04:54.661 TRACE [ftgo-order-service,571383ec71cf5e1b,b27a1e201aaca0c8,true] 1 --- [pool-1-thread-1] i.e.t.c.c.DecoratedMessageHandlerFactory : handled message net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOr
derSaga-consumer 0000016f60fe87b9-14dae921faa80000
ftgo-order-service_1 | 2020-01-01T12:04:54.680712863Z 2020-01-01 12:04:54.680 DEBUG [ftgo-order-service,,,] 1 --- [pool-1-thread-1] i.e.m.k.b.c.KafkaMessageProcessor : Adding processed record to queue net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-consumer 0
ftgo-order-service_1 | 2020-01-01T12:04:54.714331159Z 2020-01-01 12:04:54.713 DEBUG [ftgo-order-service,,,] 1 --- [erSaga-consumer] i.e.m.k.b.c.EventuateKafkaConsumer : Committing offsets net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-consumer {net.chrisrichar
dson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-reply-0=OffsetAndMetadata{offset=1, metadata=''}}
ftgo-order-service_1 | 2020-01-01T12:04:54.750000157Z 2020-01-01 12:04:54.746 DEBUG [ftgo-order-service,,,] 1 --- [erSaga-consumer] i.e.m.k.b.c.EventuateKafkaConsumer : Committed offsets net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-consumer
ftgo-order-service_1 | 2020-01-01T12:04:54.801229180Z 2020-01-01 12:04:54.800 DEBUG [ftgo-order-service,,,] 1 --- [erSaga-consumer] i.e.m.k.b.c.EventuateKafkaConsumer : Got net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-consumer 1 records
ftgo-order-service_1 | 2020-01-01T12:04:54.802626060Z 2020-01-01 12:04:54.801 DEBUG [ftgo-order-service,,,] 1 --- [erSaga-consumer] i.e.m.k.b.c.EventuateKafkaConsumer : processing record net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-consumer 0 {"payload":"{"
ticketId":1}","headers":{"reply_outcome-type":"SUCCESS","commandreply_type":"net.chrisrichardson.ftgo.kitchenservice.api.CreateTicket","commandreply_saga_type":"net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga","X-B3-ParentSpanId":"6dea07981ad02773","reply_type":"net.chrisric
hardson.ftgo.kitchenservice.api.CreateTicketReply","reply_to_message_id":"0000016f60fe94fe-0242ac13000b0000","commandreply_saga_id":"0000016f60fe9323-0242ac13000b0000","DATE":"Wed, 1 Jan 2020 12:04:51 GMT","commandreply__destination":"kitchenService","commandreply_reply_to":"net.chrisrichardson.ftgo
.orderservice.sagas.createorder.CreateOrderSaga-reply","X-B3-SpanId":"786af267295f3ee1","DESTINATION":"net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-reply","X-B3-Sampled":"1","X-B3-TraceId":"571383ec71cf5e1b","ID":"0000016f60fe88d4-14dae921faa80000"}}
ftgo-order-service_1 | 2020-01-01T12:04:54.805790784Z 2020-01-01 12:04:54.805 DEBUG [ftgo-order-service,,,] 1 --- [erSaga-consumer] i.e.m.k.b.c.EventuateKafkaConsumer : EventuateKafkaAggregateSubscriptions subscriber = net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrde
rSaga-consumer, offset = 0, key = 0000016f60fe88d4-14dae921faa80000, value = {"payload":"{"ticketId":1}","headers":{"reply_outcome-type":"SUCCESS","commandreply_type":"net.chrisrichardson.ftgo.kitchenservice.api.CreateTicket","commandreply_saga_type":"net.chrisrichardson.ftgo.orderservice.sagas.cr
eateorder.CreateOrderSaga","X-B3-ParentSpanId":"6dea07981ad02773","reply_type":"net.chrisrichardson.ftgo.kitchenservice.api.CreateTicketReply","reply_to_message_id":"0000016f60fe94fe-0242ac13000b0000","commandreply_saga_id":"0000016f60fe9323-0242ac13000b0000","DATE":"Wed, 1 Jan 2020 12:04:51 GMT","c
ommandreply__destination":"kitchenService","commandreply_reply_to":"net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-reply","X-B3-SpanId":"786af267295f3ee1","DESTINATION":"net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-reply","X-B3-Sampled":"1","X-B3-T
raceId":"571383ec71cf5e1b","ID":"0000016f60fe88d4-14dae921faa80000"}}
ftgo-order-service_1 | 2020-01-01T12:04:54.807731078Z 2020-01-01 12:04:54.807 DEBUG [ftgo-order-service,,,] 1 --- [erSaga-consumer] i.e.m.k.b.c.EventuateKafkaConsumer : Processed net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-consumer 1 records
ftgo-order-service_1 | 2020-01-01T12:04:54.812740701Z 2020-01-01 12:04:54.807 DEBUG [ftgo-order-service,,,] 1 --- [erSaga-consumer] i.e.m.k.b.c.EventuateKafkaConsumer : To commit net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-consumer io.eventuate.messaging.ka
fka.basic.consumer.OffsetTracker@ce87c5a[state={net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-reply-0=io.eventuate.messaging.kafka.basic.consumer.TopicPartitionOffsets@1599fd9a[unprocessed=[],processed=[]], net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrder
Saga-reply-1=io.eventuate.messaging.kafka.basic.consumer.TopicPartitionOffsets@1fece3c3[unprocessed=[0],processed=[]]}]
ftgo-order-service_1 | 2020-01-01T12:04:54.821870440Z 2020-01-01 12:04:54.821 TRACE [ftgo-order-service,571383ec71cf5e1b,d69e05f3d80db0a9,true] 1 --- [pool-1-thread-1] i.e.t.c.c.DecoratedMessageHandlerFactory : Invoking handler net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateO
rderSaga-consumer 0000016f60fe88d4-14dae921faa80000
ftgo-order-service_1 | 2020-01-01T12:04:54.838217041Z 2020-01-01 12:04:54.835 DEBUG [ftgo-order-service,571383ec71cf5e1b,d69e05f3d80db0a9,true] 1 --- [pool-1-thread-1] i.e.t.s.orchestration.SagaManagerImpl : handle message invoked io.eventuate.tram.messaging.common.MessageImpl@297c2bde[p
ayload={"ticketId":1},headers={reply_outcome-type=SUCCESS, commandreply_type=net.chrisrichardson.ftgo.kitchenservice.api.CreateTicket, commandreply_saga_type=net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga, reply_type=net.chrisrichardson.ftgo.kitchenservice.api.CreateTicketRe
ply, reply_to_message_id=0000016f60fe94fe-0242ac13000b0000, commandreply_saga_id=0000016f60fe9323-0242ac13000b0000, DATE=Wed, 1 Jan 2020 12:04:51 GMT, commandreply__destination=kitchenService, commandreply_reply_to=net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-reply, DESTIN
ATION=net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-reply, ID=0000016f60fe88d4-14dae921faa80000, X-B3-TraceId=571383ec71cf5e1b, X-B3-SpanId=d69e05f3d80db0a9, X-B3-ParentSpanId=786af267295f3ee1, X-B3-Sampled=1}]
ftgo-order-service_1 | 2020-01-01T12:04:54.840836612Z 2020-01-01 12:04:54.838 DEBUG [ftgo-order-service,571383ec71cf5e1b,d69e05f3d80db0a9,true] 1 --- [pool-1-thread-1] i.e.t.s.orchestration.SagaManagerImpl : Handle reply: io.eventuate.tram.messaging.common.MessageImpl@297c2bde[payload={"
ticketId":1},headers={reply_outcome-type=SUCCESS, commandreply_type=net.chrisrichardson.ftgo.kitchenservice.api.CreateTicket, commandreply_saga_type=net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga, reply_type=net.chrisrichardson.ftgo.kitchenservice.api.CreateTicketReply, repl
y_to_message_id=0000016f60fe94fe-0242ac13000b0000, commandreply_saga_id=0000016f60fe9323-0242ac13000b0000, DATE=Wed, 1 Jan 2020 12:04:51 GMT, commandreply__destination=kitchenService, commandreply_reply_to=net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-reply, DESTINATION=net
.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-reply, ID=0000016f60fe88d4-14dae921faa80000, X-B3-TraceId=571383ec71cf5e1b, X-B3-SpanId=d69e05f3d80db0a9, X-B3-ParentSpanId=786af267295f3ee1, X-B3-Sampled=1}]
ftgo-order-service_1 | 2020-01-01T12:04:54.842584443Z 2020-01-01 12:04:54.841 INFO [ftgo-order-service,571383ec71cf5e1b,d69e05f3d80db0a9,true] 1 --- [pool-1-thread-1] i.e.t.s.o.SagaInstanceRepositoryJdbc : finding net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga
0000016f60fe9323-0242ac13000b0000
ftgo-order-service_1 | 2020-01-01T12:04:54.874653491Z 2020-01-01 12:04:54.869 INFO [ftgo-order-service,571383ec71cf5e1b,d69e05f3d80db0a9,true] 1 --- [pool-1-thread-1] i.e.t.s.orchestration.SagaManagerImpl : Current state={"currentlyExecuting":2,"compensating":false,"endState":false}
ftgo-order-service_1 | 2020-01-01T12:04:54.886809347Z 2020-01-01 12:04:54.886 DEBUG [ftgo-order-service,571383ec71cf5e1b,d69e05f3d80db0a9,true] 1 --- [pool-1-thread-1] n.c.f.o.s.c.CreateOrderSagaState : getTicketId 1
ftgo-order-service_1 | 2020-01-01T12:04:54.925576295Z 2020-01-01 12:04:54.896 INFO [ftgo-order-service,571383ec71cf5e1b,d69e05f3d80db0a9,true] 1 --- [pool-1-thread-1] i.e.t.s.orchestration.SagaManagerImpl : Handled reply. Sending commands [io.eventuate.tram.commands.consumer.CommandWith
Destination@5517cfa4[destinationChannel=accountingService,resource=,command=net.chrisrichardson.ftgo.accountservice.api.AuthorizeCommand@1d7d2c03]]
ftgo-order-service_1 | 2020-01-01T12:04:54.987595108Z 2020-01-01 12:04:54.986 INFO [ftgo-order-service,571383ec71cf5e1b,d69e05f3d80db0a9,true] 1 --- [pool-1-thread-1] i.e.t.s.o.SagaInstanceRepositoryJdbc : Updating net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga
0000016f60fe9323-0242ac13000b0000
ftgo-order-service_1 | 2020-01-01T12:04:55.021395856Z 2020-01-01 12:04:55.013 TRACE [ftgo-order-service,571383ec71cf5e1b,d69e05f3d80db0a9,true] 1 --- [pool-1-thread-1] i.e.t.c.c.DecoratedMessageHandlerFactory : handled message net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOr
derSaga-consumer 0000016f60fe88d4-14dae921faa80000
ftgo-order-service_1 | 2020-01-01T12:04:55.048742650Z 2020-01-01 12:04:55.043 DEBUG [ftgo-order-service,,,] 1 --- [pool-1-thread-1] i.e.m.k.b.c.KafkaMessageProcessor : Adding processed record to queue net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-consumer 0
ftgo-order-service_1 | 2020-01-01T12:04:55.143267619Z 2020-01-01 12:04:55.142 DEBUG [ftgo-order-service,,,] 1 --- [erSaga-consumer] i.e.m.k.b.c.EventuateKafkaConsumer : Committing offsets net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-consumer {net.chrisrichar
dson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-reply-1=OffsetAndMetadata{offset=1, metadata=''}}
ftgo-order-service_1 | 2020-01-01T12:04:55.152835328Z 2020-01-01 12:04:55.152 DEBUG [ftgo-order-service,,,] 1 --- [erSaga-consumer] i.e.m.k.b.c.EventuateKafkaConsumer : Committed offsets net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-consumer
ftgo-order-service_1 | 2020-01-01T12:04:55.162473897Z 2020-01-01 12:04:55.160 DEBUG [ftgo-order-service,,,] 1 --- [erSaga-consumer] i.e.m.k.b.c.EventuateKafkaConsumer : Got net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-consumer 1 records
ftgo-order-service_1 | 2020-01-01T12:04:55.163512806Z 2020-01-01 12:04:55.162 DEBUG [ftgo-order-service,,,] 1 --- [erSaga-consumer] i.e.m.k.b.c.EventuateKafkaConsumer : processing record net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-consumer 1 {"payload":"{}"
,"headers":{"reply_outcome-type":"SUCCESS","commandreply_type":"net.chrisrichardson.ftgo.accountservice.api.AuthorizeCommand","commandreply_saga_type":"net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga","X-B3-ParentSpanId":"f314ff599a25151f","reply_type":"io.eventuate.tram.comm
ands.common.Success","reply_to_message_id":"0000016f60fe9628-0242ac13000b0000","commandreply_saga_id":"0000016f60fe9323-0242ac13000b0000","DATE":"Wed, 1 Jan 2020 12:04:51 GMT","commandreply__destination":"accountingService","commandreply_reply_to":"net.chrisrichardson.ftgo.orderservice.sagas.createo
rder.CreateOrderSaga-reply","X-B3-SpanId":"a6ad9788926b70fa","DESTINATION":"net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-reply","X-B3-Sampled":"1","X-B3-TraceId":"571383ec71cf5e1b","ID":"0000016f60fe8a3e-14dae921faa80000"}}
ftgo-order-service_1 | 2020-01-01T12:04:55.169581421Z 2020-01-01 12:04:55.163 DEBUG [ftgo-order-service,,,] 1 --- [erSaga-consumer] i.e.m.k.b.c.EventuateKafkaConsumer : EventuateKafkaAggregateSubscriptions subscriber = net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrde
rSaga-consumer, offset = 1, key = 0000016f60fe8a3e-14dae921faa80000, value = {"payload":"{}","headers":{"reply_outcome-type":"SUCCESS","commandreply_type":"net.chrisrichardson.ftgo.accountservice.api.AuthorizeCommand","commandreply_saga_type":"net.chrisrichardson.ftgo.orderservice.sagas.createorder.
CreateOrderSaga","X-B3-ParentSpanId":"f314ff599a25151f","reply_type":"io.eventuate.tram.commands.common.Success","reply_to_message_id":"0000016f60fe9628-0242ac13000b0000","commandreply_saga_id":"0000016f60fe9323-0242ac13000b0000","DATE":"Wed, 1 Jan 2020 12:04:51 GMT","commandreply__destination":"acc
ountingService","commandreply_reply_to":"net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-reply","X-B3-SpanId":"a6ad9788926b70fa","DESTINATION":"net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-reply","X-B3-Sampled":"1","X-B3-TraceId":"571383ec71cf5e1b",
"ID":"0000016f60fe8a3e-14dae921faa80000"}}
ftgo-order-service_1 | 2020-01-01T12:04:55.170030747Z 2020-01-01 12:04:55.169 DEBUG [ftgo-order-service,,,] 1 --- [erSaga-consumer] i.e.m.k.b.c.EventuateKafkaConsumer : Processed net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-consumer 1 records
ftgo-order-service_1 | 2020-01-01T12:04:55.170864961Z 2020-01-01 12:04:55.170 DEBUG [ftgo-order-service,,,] 1 --- [erSaga-consumer] i.e.m.k.b.c.EventuateKafkaConsumer : To commit net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-consumer io.eventuate.messaging.ka
fka.basic.consumer.OffsetTracker@ce87c5a[state={net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-reply-0=io.eventuate.messaging.kafka.basic.consumer.TopicPartitionOffsets@1599fd9a[unprocessed=[1],processed=[]], net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrde
rSaga-reply-1=io.eventuate.messaging.kafka.basic.consumer.TopicPartitionOffsets@1fece3c3[unprocessed=[],processed=[]]}]
ftgo-order-service_1 | 2020-01-01T12:04:55.174011158Z 2020-01-01 12:04:55.173 TRACE [ftgo-order-service,571383ec71cf5e1b,4b8907f9f9ae3fc2,true] 1 --- [pool-1-thread-1] i.e.t.c.c.DecoratedMessageHandlerFactory : Invoking handler net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateO
rderSaga-consumer 0000016f60fe8a3e-14dae921faa80000
ftgo-order-service_1 | 2020-01-01T12:04:55.179062472Z 2020-01-01 12:04:55.178 DEBUG [ftgo-order-service,571383ec71cf5e1b,4b8907f9f9ae3fc2,true] 1 --- [pool-1-thread-1] i.e.t.s.orchestration.SagaManagerImpl : handle message invoked io.eventuate.tram.messaging.common.MessageImpl@44a6f747[p
ayload={},headers={reply_outcome-type=SUCCESS, commandreply_type=net.chrisrichardson.ftgo.accountservice.api.AuthorizeCommand, commandreply_saga_type=net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga, reply_type=io.eventuate.tram.commands.common.Success, reply_to_message_id=000
0016f60fe9628-0242ac13000b0000, commandreply_saga_id=0000016f60fe9323-0242ac13000b0000, DATE=Wed, 1 Jan 2020 12:04:51 GMT, commandreply__destination=accountingService, commandreply_reply_to=net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-reply, DESTINATION=net.chrisrichardson
.ftgo.orderservice.sagas.createorder.CreateOrderSaga-reply, ID=0000016f60fe8a3e-14dae921faa80000, X-B3-TraceId=571383ec71cf5e1b, X-B3-SpanId=4b8907f9f9ae3fc2, X-B3-ParentSpanId=a6ad9788926b70fa, X-B3-Sampled=1}]
ftgo-order-service_1 | 2020-01-01T12:04:55.180561939Z 2020-01-01 12:04:55.179 DEBUG [ftgo-order-service,571383ec71cf5e1b,4b8907f9f9ae3fc2,true] 1 --- [pool-1-thread-1] i.e.t.s.orchestration.SagaManagerImpl : Handle reply: io.eventuate.tram.messaging.common.MessageImpl@44a6f747[payload={}
,headers={reply_outcome-type=SUCCESS, commandreply_type=net.chrisrichardson.ftgo.accountservice.api.AuthorizeCommand, commandreply_saga_type=net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga, reply_type=io.eventuate.tram.commands.common.Success, reply_to_message_id=0000016f60fe
9628-0242ac13000b0000, commandreply_saga_id=0000016f60fe9323-0242ac13000b0000, DATE=Wed, 1 Jan 2020 12:04:51 GMT, commandreply__destination=accountingService, commandreply_reply_to=net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-reply, DESTINATION=net.chrisrichardson.ftgo.ord
erservice.sagas.createorder.CreateOrderSaga-reply, ID=0000016f60fe8a3e-14dae921faa80000, X-B3-TraceId=571383ec71cf5e1b, X-B3-SpanId=4b8907f9f9ae3fc2, X-B3-ParentSpanId=a6ad9788926b70fa, X-B3-Sampled=1}]
ftgo-order-service_1 | 2020-01-01T12:04:55.188888868Z 2020-01-01 12:04:55.180 INFO [ftgo-order-service,571383ec71cf5e1b,4b8907f9f9ae3fc2,true] 1 --- [pool-1-thread-1] i.e.t.s.o.SagaInstanceRepositoryJdbc : finding net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga
0000016f60fe9323-0242ac13000b0000
ftgo-order-service_1 | 2020-01-01T12:04:55.192991201Z 2020-01-01 12:04:55.192 INFO [ftgo-order-service,571383ec71cf5e1b,4b8907f9f9ae3fc2,true] 1 --- [pool-1-thread-1] i.e.t.s.orchestration.SagaManagerImpl : Current state={"currentlyExecuting":3,"compensating":false,"endState":false}
ftgo-order-service_1 | 2020-01-01T12:04:55.206997397Z 2020-01-01 12:04:55.206 INFO [ftgo-order-service,571383ec71cf5e1b,4b8907f9f9ae3fc2,true] 1 --- [pool-1-thread-1] i.e.t.s.orchestration.SagaManagerImpl : Handled reply. Sending commands [io.eventuate.tram.commands.consumer.CommandWith
Destination@3fa47d82[destinationChannel=kitchenService,resource=,command=net.chrisrichardson.ftgo.kitchenservice.api.ConfirmCreateTicket@4c4bb9fe]]
ftgo-order-service_1 | 2020-01-01T12:04:55.229533992Z 2020-01-01 12:04:55.229 INFO [ftgo-order-service,571383ec71cf5e1b,4b8907f9f9ae3fc2,true] 1 --- [pool-1-thread-1] i.e.t.s.o.SagaInstanceRepositoryJdbc : Updating net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga
0000016f60fe9323-0242ac13000b0000
ftgo-order-service_1 | 2020-01-01T12:04:55.246853414Z 2020-01-01 12:04:55.246 TRACE [ftgo-order-service,571383ec71cf5e1b,4b8907f9f9ae3fc2,true] 1 --- [pool-1-thread-1] i.e.t.c.c.DecoratedMessageHandlerFactory : handled message net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOr
derSaga-consumer 0000016f60fe8a3e-14dae921faa80000
ftgo-order-service_1 | 2020-01-01T12:04:55.264720770Z 2020-01-01 12:04:55.264 DEBUG [ftgo-order-service,,,] 1 --- [pool-1-thread-1] i.e.m.k.b.c.KafkaMessageProcessor : Adding processed record to queue net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-consumer 1
ftgo-order-service_1 | 2020-01-01T12:04:55.272048623Z 2020-01-01 12:04:55.271 DEBUG [ftgo-order-service,,,] 1 --- [erSaga-consumer] i.e.m.k.b.c.EventuateKafkaConsumer : Committing offsets net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-consumer {net.chrisrichar
dson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-reply-0=OffsetAndMetadata{offset=2, metadata=''}}
ftgo-order-service_1 | 2020-01-01T12:04:55.276696050Z 2020-01-01 12:04:55.275 DEBUG [ftgo-order-service,,,] 1 --- [erSaga-consumer] i.e.m.k.b.c.EventuateKafkaConsumer : Committed offsets net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-consumer
ftgo-order-service_1 | 2020-01-01T12:04:55.310395835Z 2020-01-01 12:04:55.309 DEBUG [ftgo-order-service,,,] 1 --- [erSaga-consumer] i.e.m.k.b.c.EventuateKafkaConsumer : Got net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-consumer 1 records
ftgo-order-service_1 | 2020-01-01T12:04:55.323863675Z 2020-01-01 12:04:55.310 DEBUG [ftgo-order-service,,,] 1 --- [erSaga-consumer] i.e.m.k.b.c.EventuateKafkaConsumer : processing record net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-consumer 1 {"payload":"{"
ticketId":1}","headers":{"reply_outcome-type":"SUCCESS","commandreply_type":"net.chrisrichardson.ftgo.kitchenservice.api.CreateTicket","commandreply_saga_type":"net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga","X-B3-ParentSpanId":"56faa08a2668d806","reply_type":"net.chrisric
hardson.ftgo.kitchenservice.api.CreateTicketReply","reply_to_message_id":"0000016f60fe94fe-0242ac13000b0000","commandreply_saga_id":"0000016f60fe9323-0242ac13000b0000","DATE":"Wed, 1 Jan 2020 12:04:55 GMT","commandreply__destination":"kitchenService","commandreply_reply_to":"net.chrisrichardson.ftgo
.orderservice.sagas.createorder.CreateOrderSaga-reply","X-B3-SpanId":"f92d50afd7594f79","DESTINATION":"net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-reply","X-B3-Sampled":"1","X-B3-TraceId":"571383ec71cf5e1b","ID":"0000016f60fe96c7-0242ac13000c0000","saga-locked-target":"ne
t.chrisrichardson.ftgo.kitchenservice.domain.Ticket/1"}}
ftgo-order-service_1 | 2020-01-01T12:04:55.323961237Z 2020-01-01 12:04:55.318 DEBUG [ftgo-order-service,,,] 1 --- [erSaga-consumer] i.e.m.k.b.c.EventuateKafkaConsumer : EventuateKafkaAggregateSubscriptions subscriber = net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrde
rSaga-consumer, offset = 1, key = 0000016f60fe96c7-0242ac13000c0000, value = {"payload":"{"ticketId":1}","headers":{"reply_outcome-type":"SUCCESS","commandreply_type":"net.chrisrichardson.ftgo.kitchenservice.api.CreateTicket","commandreply_saga_type":"net.chrisrichardson.ftgo.orderservice.sagas.cr
eateorder.CreateOrderSaga","X-B3-ParentSpanId":"56faa08a2668d806","reply_type":"net.chrisrichardson.ftgo.kitchenservice.api.CreateTicketReply","reply_to_message_id":"0000016f60fe94fe-0242ac13000b0000","commandreply_saga_id":"0000016f60fe9323-0242ac13000b0000","DATE":"Wed, 1 Jan 2020 12:04:55 GMT","c
ommandreply__destination":"kitchenService","commandreply_reply_to":"net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-reply","X-B3-SpanId":"f92d50afd7594f79","DESTINATION":"net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-reply","X-B3-Sampled":"1","X-B3-T
raceId":"571383ec71cf5e1b","ID":"0000016f60fe96c7-0242ac13000c0000","saga-locked-target":"net.chrisrichardson.ftgo.kitchenservice.domain.Ticket/1"}}
ftgo-order-service_1 | 2020-01-01T12:04:55.323990257Z 2020-01-01 12:04:55.318 DEBUG [ftgo-order-service,,,] 1 --- [erSaga-consumer] i.e.m.k.b.c.EventuateKafkaConsumer : Processed net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-consumer 1 records
ftgo-order-service_1 | 2020-01-01T12:04:55.324005555Z 2020-01-01 12:04:55.318 DEBUG [ftgo-order-service,,,] 1 --- [erSaga-consumer] i.e.m.k.b.c.EventuateKafkaConsumer : To commit net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-consumer io.eventuate.messaging.ka
fka.basic.consumer.OffsetTracker@ce87c5a[state={net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-reply-0=io.eventuate.messaging.kafka.basic.consumer.TopicPartitionOffsets@1599fd9a[unprocessed=[],processed=[]], net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrder
Saga-reply-1=io.eventuate.messaging.kafka.basic.consumer.TopicPartitionOffsets@1fece3c3[unprocessed=[1],processed=[]]}]
ftgo-order-service_1 | 2020-01-01T12:04:55.393858614Z 2020-01-01 12:04:55.345 TRACE [ftgo-order-service,571383ec71cf5e1b,da889d1e70951b1b,true] 1 --- [pool-1-thread-1] i.e.t.c.c.DecoratedMessageHandlerFactory : Invoking handler net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateO
rderSaga-consumer 0000016f60fe96c7-0242ac13000c0000
ftgo-order-service_1 | 2020-01-01T12:04:55.425161324Z 2020-01-01 12:04:55.408 DEBUG [ftgo-order-service,571383ec71cf5e1b,da889d1e70951b1b,true] 1 --- [pool-1-thread-1] i.e.t.s.orchestration.SagaManagerImpl : handle message invoked io.eventuate.tram.messaging.common.MessageImpl@25ed4ab8[p
ayload={"ticketId":1},headers={reply_outcome-type=SUCCESS, commandreply_type=net.chrisrichardson.ftgo.kitchenservice.api.CreateTicket, commandreply_saga_type=net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga, reply_type=net.chrisrichardson.ftgo.kitchenservice.api.CreateTicketRe
ply, reply_to_message_id=0000016f60fe94fe-0242ac13000b0000, commandreply_saga_id=0000016f60fe9323-0242ac13000b0000, DATE=Wed, 1 Jan 2020 12:04:55 GMT, commandreply__destination=kitchenService, commandreply_reply_to=net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-reply, DESTIN
ATION=net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-reply, ID=0000016f60fe96c7-0242ac13000c0000, saga-locked-target=net.chrisrichardson.ftgo.kitchenservice.domain.Ticket/1, X-B3-TraceId=571383ec71cf5e1b, X-B3-SpanId=da889d1e70951b1b, X-B3-ParentSpanId=f92d50afd7594f79, X-B3
-Sampled=1}]
ftgo-order-service_1 | 2020-01-01T12:04:55.439280860Z 2020-01-01 12:04:55.434 DEBUG [ftgo-order-service,571383ec71cf5e1b,da889d1e70951b1b,true] 1 --- [pool-1-thread-1] i.e.t.s.orchestration.SagaManagerImpl : Handle reply: io.eventuate.tram.messaging.common.MessageImpl@25ed4ab8[payload={"
ticketId":1},headers={reply_outcome-type=SUCCESS, commandreply_type=net.chrisrichardson.ftgo.kitchenservice.api.CreateTicket, commandreply_saga_type=net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga, reply_type=net.chrisrichardson.ftgo.kitchenservice.api.CreateTicketReply, repl
y_to_message_id=0000016f60fe94fe-0242ac13000b0000, commandreply_saga_id=0000016f60fe9323-0242ac13000b0000, DATE=Wed, 1 Jan 2020 12:04:55 GMT, commandreply__destination=kitchenService, commandreply_reply_to=net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-reply, DESTINATION=net
.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-reply, ID=0000016f60fe96c7-0242ac13000c0000, saga-locked-target=net.chrisrichardson.ftgo.kitchenservice.domain.Ticket/1, X-B3-TraceId=571383ec71cf5e1b, X-B3-SpanId=da889d1e70951b1b, X-B3-ParentSpanId=f92d50afd7594f79, X-B3-Sampled=
1}]
ftgo-order-service_1 | 2020-01-01T12:04:55.441900737Z 2020-01-01 12:04:55.441 INFO [ftgo-order-service,571383ec71cf5e1b,da889d1e70951b1b,true] 1 --- [pool-1-thread-1] i.e.t.s.o.SagaInstanceRepositoryJdbc : finding net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga
0000016f60fe9323-0242ac13000b0000
ftgo-order-service_1 | 2020-01-01T12:04:55.466342093Z 2020-01-01 12:04:55.465 DEBUG [ftgo-order-service,,,] 1 --- [erSaga-consumer] i.e.m.k.b.c.EventuateKafkaConsumer : Got net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-consumer 1 records
ftgo-order-service_1 | 2020-01-01T12:04:55.472339804Z 2020-01-01 12:04:55.471 DEBUG [ftgo-order-service,,,] 1 --- [erSaga-consumer] i.e.m.k.b.c.EventuateKafkaConsumer : processing record net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-consumer 2 {"payload":"{}"
,"headers":{"reply_outcome-type":"SUCCESS","commandreply_type":"net.chrisrichardson.ftgo.kitchenservice.api.ConfirmCreateTicket","commandreply_saga_type":"net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga","X-B3-ParentSpanId":"cff9ac4e0d937abb","reply_type":"io.eventuate.tram.c
ommands.common.Success","reply_to_message_id":"0000016f60fe9734-0242ac13000b0000","commandreply_saga_id":"0000016f60fe9323-0242ac13000b0000","DATE":"Wed, 1 Jan 2020 12:04:52 GMT","commandreply__destination":"kitchenService","commandreply_reply_to":"net.chrisrichardson.ftgo.orderservice.sagas.createo
rder.CreateOrderSaga-reply","X-B3-SpanId":"b8c2424e38afc706","DESTINATION":"net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-reply","X-B3-Sampled":"1","X-B3-TraceId":"571383ec71cf5e1b","ID":"0000016f60fe8b5a-14dae921faa80000"}}
ftgo-order-service_1 | 2020-01-01T12:04:55.482660652Z 2020-01-01 12:04:55.474 DEBUG [ftgo-order-service,,,] 1 --- [erSaga-consumer] i.e.m.k.b.c.EventuateKafkaConsumer : EventuateKafkaAggregateSubscriptions subscriber = net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrde
rSaga-consumer, offset = 2, key = 0000016f60fe8b5a-14dae921faa80000, value = {"payload":"{}","headers":{"reply_outcome-type":"SUCCESS","commandreply_type":"net.chrisrichardson.ftgo.kitchenservice.api.ConfirmCreateTicket","commandreply_saga_type":"net.chrisrichardson.ftgo.orderservice.sagas.createord
er.CreateOrderSaga","X-B3-ParentSpanId":"cff9ac4e0d937abb","reply_type":"io.eventuate.tram.commands.common.Success","reply_to_message_id":"0000016f60fe9734-0242ac13000b0000","commandreply_saga_id":"0000016f60fe9323-0242ac13000b0000","DATE":"Wed, 1 Jan 2020 12:04:52 GMT","commandreply__destination":"
kitchenService","commandreply_reply_to":"net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-reply","X-B3-SpanId":"b8c2424e38afc706","DESTINATION":"net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-reply","X-B3-Sampled":"1","X-B3-TraceId":"571383ec71cf5e1b",
"ID":"0000016f60fe8b5a-14dae921faa80000"}}
ftgo-order-service_1 | 2020-01-01T12:04:55.482779695Z 2020-01-01 12:04:55.478 DEBUG [ftgo-order-service,,,] 1 --- [erSaga-consumer] i.e.m.k.b.c.EventuateKafkaConsumer : Processed net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-consumer 1 records
ftgo-order-service_1 | 2020-01-01T12:04:55.482802762Z 2020-01-01 12:04:55.478 DEBUG [ftgo-order-service,,,] 1 --- [erSaga-consumer] i.e.m.k.b.c.EventuateKafkaConsumer : To commit net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-consumer io.eventuate.messaging.ka
fka.basic.consumer.OffsetTracker@ce87c5a[state={net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-reply-0=io.eventuate.messaging.kafka.basic.consumer.TopicPartitionOffsets@1599fd9a[unprocessed=[],processed=[]], net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrder
Saga-reply-1=io.eventuate.messaging.kafka.basic.consumer.TopicPartitionOffsets@1fece3c3[unprocessed=[1, 2],processed=[]]}]
ftgo-order-service_1 | 2020-01-01T12:04:55.603265288Z 2020-01-01 12:04:55.602 INFO [ftgo-order-service,571383ec71cf5e1b,da889d1e70951b1b,true] 1 --- [pool-1-thread-1] i.e.t.s.orchestration.SagaManagerImpl : Current state={"currentlyExecuting":4,"compensating":false,"endState":false}
ftgo-order-service_1 | 2020-01-01T12:04:55.607804840Z 2020-01-01 12:04:55.607 INFO [ftgo-order-service,571383ec71cf5e1b,da889d1e70951b1b,true] 1 --- [pool-1-thread-1] i.e.t.s.orchestration.SagaManagerImpl : Handled reply. Sending commands [io.eventuate.tram.commands.consumer.CommandWith
Destination@14502752[destinationChannel=orderService,resource=,command=net.chrisrichardson.ftgo.orderservice.sagaparticipants.ApproveOrderCommand@5ba707ea]]
ftgo-order-service_1 | 2020-01-01T12:04:55.616919090Z 2020-01-01 12:04:55.616 DEBUG [ftgo-order-service,ab07217b2139aef1,ab07217b2139aef1,true] 1 --- [nio-8080-exec-4] org.hibernate.SQL : select order0_.id as id1_3_0_, order0_.consumer_id as consumer2_3_0_, order0_.ci
ty as city3_3_0_, order0_.delivery_state as delivery4_3_0_, order0_.street1 as street5_3_0_, order0_.street2 as street6_3_0_, order0_.zip as zip7_3_0_, order0_.delivery_time as delivery8_3_0_, order0_.amount as amount9_3_0_, order0_.payment_token as payment10_3_0_, order0_.restaurant_id as restaur11
3_0, order0_.state as state12_3_0_, order0_.version as version13_3_0_ from orders order0_ where order0_.id=?
ftgo-order-service_1 | 2020-01-01T12:04:55.644392009Z 2020-01-01 12:04:55.643 INFO [ftgo-order-service,571383ec71cf5e1b,da889d1e70951b1b,true] 1 --- [pool-1-thread-1] i.e.t.s.o.SagaInstanceRepositoryJdbc : Updating net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga
0000016f60fe9323-0242ac13000b0000
ftgo-order-service_1 | 2020-01-01T12:04:55.662562918Z 2020-01-01 12:04:55.662 TRACE [ftgo-order-service,571383ec71cf5e1b,da889d1e70951b1b,true] 1 --- [pool-1-thread-1] i.e.t.c.c.DecoratedMessageHandlerFactory : handled message net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOr
derSaga-consumer 0000016f60fe96c7-0242ac13000c0000
ftgo-order-service_1 | 2020-01-01T12:04:55.670991523Z 2020-01-01 12:04:55.667 DEBUG [ftgo-order-service,ab07217b2139aef1,ab07217b2139aef1,true] 1 --- [nio-8080-exec-4] org.hibernate.SQL : select lineitems0_.order_id as order_id1_0_0_, lineitems0_.menu_item_id as menu_
ite2_0_0_, lineitems0_.name as name3_0_0_, lineitems0_.price as price4_0_0_, lineitems0_.quantity as quantity5_0_0_ from order_line_items lineitems0_ where lineitems0_.order_id=?
ftgo-order-service_1 | 2020-01-01T12:04:55.673082111Z 2020-01-01 12:04:55.672 DEBUG [ftgo-order-service,,,] 1 --- [pool-1-thread-1] i.e.m.k.b.c.KafkaMessageProcessor : Adding processed record to queue net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-consumer 1
ftgo-order-service_1 | 2020-01-01T12:04:55.703753200Z 2020-01-01 12:04:55.703 DEBUG [ftgo-order-service,,,] 1 --- [erSaga-consumer] i.e.m.k.b.c.EventuateKafkaConsumer : Committing offsets net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-consumer {net.chrisrichar
dson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-reply-1=OffsetAndMetadata{offset=2, metadata=''}}
ftgo-order-service_1 | 2020-01-01T12:04:55.709014033Z 2020-01-01 12:04:55.708 DEBUG [ftgo-order-service,,,] 1 --- [erSaga-consumer] i.e.m.k.b.c.EventuateKafkaConsumer : Committed offsets net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-consumer
ftgo-order-service_1 | 2020-01-01T12:04:55.710564424Z 2020-01-01 12:04:55.685 DEBUG [ftgo-order-service,,,] 1 --- [er-orderService] i.e.m.k.b.c.EventuateKafkaConsumer : Got orderService 1 records
ftgo-order-service_1 | 2020-01-01T12:04:55.720059784Z 2020-01-01 12:04:55.711 DEBUG [ftgo-order-service,,,] 1 --- [er-orderService] i.e.m.k.b.c.EventuateKafkaConsumer : processing record orderService 0 {"payload":"{"orderId":1}","headers":{"command_saga_id":"0000016f60fe9323-0242ac1
3000b0000","DATE":"Wed, 1 Jan 2020 12:04:55 GMT","command_type":"net.chrisrichardson.ftgo.orderservice.sagaparticipants.ApproveOrderCommand","X-B3-SpanId":"a3c7e871d648b351","command_reply_to":"net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-reply","DESTINATION":"orderService
","command_saga_type":"net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga","X-B3-ParentSpanId":"da889d1e70951b1b","X-B3-Sampled":"1","X-B3-TraceId":"571383ec71cf5e1b","command__destination":"orderService","ID":"0000016f60fe98bc-0242ac13000b0000"}}
ftgo-order-service_1 | 2020-01-01T12:04:55.728375846Z 2020-01-01 12:04:55.728 DEBUG [ftgo-order-service,,,] 1 --- [er-orderService] i.e.m.k.b.c.EventuateKafkaConsumer : EventuateKafkaAggregateSubscriptions subscriber = orderService, offset = 0, key = 0000016f60fe98bc-0242ac13000b0000,
value = {"payload":"{"orderId":1}","headers":{"command_saga_id":"0000016f60fe9323-0242ac13000b0000","DATE":"Wed, 1 Jan 2020 12:04:55 GMT","command_type":"net.chrisrichardson.ftgo.orderservice.sagaparticipants.ApproveOrderCommand","X-B3-SpanId":"a3c7e871d648b351","command_reply_to":"net.chrisricha
rdson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-reply","DESTINATION":"orderService","command_saga_type":"net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga","X-B3-ParentSpanId":"da889d1e70951b1b","X-B3-Sampled":"1","X-B3-TraceId":"571383ec71cf5e1b","command__destinatio
n":"orderService","ID":"0000016f60fe98bc-0242ac13000b0000"}}
ftgo-order-service_1 | 2020-01-01T12:04:55.738973831Z 2020-01-01 12:04:55.738 DEBUG [ftgo-order-service,,,] 1 --- [er-orderService] i.e.m.k.b.c.EventuateKafkaConsumer : Processed orderService 1 records
ftgo-order-service_1 | 2020-01-01T12:04:55.739742929Z 2020-01-01 12:04:55.738 DEBUG [ftgo-order-service,,,] 1 --- [er-orderService] i.e.m.k.b.c.EventuateKafkaConsumer : To commit orderService io.eventuate.messaging.kafka.basic.consumer.OffsetTracker@2841af58[state={orderService-1=io.e
ventuate.messaging.kafka.basic.consumer.TopicPartitionOffsets@7fbeb1c[unprocessed=[0],processed=[]]}]
ftgo-order-service_1 | 2020-01-01T12:04:55.761337063Z 2020-01-01 12:04:55.760 TRACE [ftgo-order-service,571383ec71cf5e1b,01a3f398574b3e7d,true] 1 --- [pool-1-thread-1] i.e.t.c.c.DecoratedMessageHandlerFactory : Invoking handler net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateO
rderSaga-consumer 0000016f60fe8b5a-14dae921faa80000
ftgo-order-service_1 | 2020-01-01T12:04:55.761507960Z 2020-01-01 12:04:55.761 TRACE [ftgo-order-service,571383ec71cf5e1b,555cf6fce511002e,true] 1 --- [pool-4-thread-1] i.e.t.c.c.DecoratedMessageHandlerFactory : Invoking handler orderService 0000016f60fe98bc-0242ac13000b0000
ftgo-order-service_1 | 2020-01-01T12:04:55.765770306Z 2020-01-01 12:04:55.761 DEBUG [ftgo-order-service,571383ec71cf5e1b,01a3f398574b3e7d,true] 1 --- [pool-1-thread-1] i.e.t.s.orchestration.SagaManagerImpl : handle message invoked io.eventuate.tram.messaging.common.MessageImpl@754cf7eb[p
ayload={},headers={reply_outcome-type=SUCCESS, commandreply_type=net.chrisrichardson.ftgo.kitchenservice.api.ConfirmCreateTicket, commandreply_saga_type=net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga, reply_type=io.eventuate.tram.commands.common.Success, reply_to_message_id=
0000016f60fe9734-0242ac13000b0000, commandreply_saga_id=0000016f60fe9323-0242ac13000b0000, DATE=Wed, 1 Jan 2020 12:04:52 GMT, commandreply__destination=kitchenService, commandreply_reply_to=net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-reply, DESTINATION=net.chrisrichardson
.ftgo.orderservice.sagas.createorder.CreateOrderSaga-reply, ID=0000016f60fe8b5a-14dae921faa80000, X-B3-TraceId=571383ec71cf5e1b, X-B3-SpanId=01a3f398574b3e7d, X-B3-ParentSpanId=b8c2424e38afc706, X-B3-Sampled=1}]
ftgo-order-service_1 | 2020-01-01T12:04:55.767964218Z 2020-01-01 12:04:55.765 DEBUG [ftgo-order-service,571383ec71cf5e1b,01a3f398574b3e7d,true] 1 --- [pool-1-thread-1] i.e.t.s.orchestration.SagaManagerImpl : Handle reply: io.eventuate.tram.messaging.common.MessageImpl@754cf7eb[payload={}
,headers={reply_outcome-type=SUCCESS, commandreply_type=net.chrisrichardson.ftgo.kitchenservice.api.ConfirmCreateTicket, commandreply_saga_type=net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga, reply_type=io.eventuate.tram.commands.common.Success, reply_to_message_id=0000016f6
0fe9734-0242ac13000b0000, commandreply_saga_id=0000016f60fe9323-0242ac13000b0000, DATE=Wed, 1 Jan 2020 12:04:52 GMT, commandreply__destination=kitchenService, commandreply_reply_to=net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-reply, DESTINATION=net.chrisrichardson.ftgo.ord
erservice.sagas.createorder.CreateOrderSaga-reply, ID=0000016f60fe8b5a-14dae921faa80000, X-B3-TraceId=571383ec71cf5e1b, X-B3-SpanId=01a3f398574b3e7d, X-B3-ParentSpanId=b8c2424e38afc706, X-B3-Sampled=1}]
ftgo-order-service_1 | 2020-01-01T12:04:55.770297014Z 2020-01-01 12:04:55.768 INFO [ftgo-order-service,571383ec71cf5e1b,01a3f398574b3e7d,true] 1 --- [pool-1-thread-1] i.e.t.s.o.SagaInstanceRepositoryJdbc : finding net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga
0000016f60fe9323-0242ac13000b0000
ftgo-order-service_1 | 2020-01-01T12:04:55.793291102Z 2020-01-01 12:04:55.792 TRACE [ftgo-order-service,571383ec71cf5e1b,555cf6fce511002e,true] 1 --- [pool-4-thread-1] i.e.t.s.p.SagaCommandDispatcher : Received message orderService io.eventuate.tram.messaging.common.MessageImpl@7c2
0a926[payload={"orderId":1},headers={command_saga_id=0000016f60fe9323-0242ac13000b0000, DATE=Wed, 1 Jan 2020 12:04:55 GMT, command_type=net.chrisrichardson.ftgo.orderservice.sagaparticipants.ApproveOrderCommand, command_reply_to=net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga
-reply, DESTINATION=orderService, command_saga_type=net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga, command__destination=orderService, ID=0000016f60fe98bc-0242ac13000b0000, X-B3-TraceId=571383ec71cf5e1b, X-B3-SpanId=555cf6fce511002e, X-B3-ParentSpanId=a3c7e871d648b351, X-B3-
Sampled=1}]
ftgo-order-service_1 | 2020-01-01T12:04:55.805169295Z 2020-01-01 12:04:55.801 INFO [ftgo-order-service,571383ec71cf5e1b,01a3f398574b3e7d,true] 1 --- [pool-1-thread-1] i.e.t.s.orchestration.SagaManagerImpl : Current state={"currentlyExecuting":5,"compensating":false,"endState":false}
ftgo-order-service_1 | 2020-01-01T12:04:55.805236272Z 2020-01-01 12:04:55.804 INFO [ftgo-order-service,571383ec71cf5e1b,01a3f398574b3e7d,true] 1 --- [pool-1-thread-1] i.e.t.s.orchestration.SagaManagerImpl : Handled reply. Sending commands []
ftgo-order-service_1 | 2020-01-01T12:04:55.835647749Z 2020-01-01 12:04:55.834 INFO [ftgo-order-service,571383ec71cf5e1b,01a3f398574b3e7d,true] 1 --- [pool-1-thread-1] i.e.t.s.o.SagaInstanceRepositoryJdbc : Updating net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga
0000016f60fe9323-0242ac13000b0000
ftgo-order-service_1 | 2020-01-01T12:04:55.853333763Z 2020-01-01 12:04:55.850 DEBUG [ftgo-order-service,571383ec71cf5e1b,555cf6fce511002e,true] 1 --- [pool-4-thread-1] org.hibernate.SQL : select order0_.id as id1_3_0_, order0_.consumer_id as consumer2_3_0_, order0_.ci
ty as city3_3_0_, order0_.delivery_state as delivery4_3_0_, order0_.street1 as street5_3_0_, order0_.street2 as street6_3_0_, order0_.zip as zip7_3_0_, order0_.delivery_time as delivery8_3_0_, order0_.amount as amount9_3_0_, order0_.payment_token as payment10_3_0_, order0_.restaurant_id as restaur11
3_0, order0_.state as state12_3_0_, order0_.version as version13_3_0_ from orders order0_ where order0_.id=?
ftgo-order-service_1 | 2020-01-01T12:04:55.950154954Z 2020-01-01 12:04:55.949 TRACE [ftgo-order-service,571383ec71cf5e1b,555cf6fce511002e,true] 1 --- [pool-4-thread-1] i.e.t.s.p.SagaCommandDispatcher : Generated replies orderService io.eventuate.tram.messaging.common.MessageImpl@7c
20a926[payload={"orderId":1},headers={command_saga_id=0000016f60fe9323-0242ac13000b0000, DATE=Wed, 1 Jan 2020 12:04:55 GMT, command_type=net.chrisrichardson.ftgo.orderservice.sagaparticipants.ApproveOrderCommand, command_reply_to=net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSag
a-reply, DESTINATION=orderService, command_saga_type=net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga, command__destination=orderService, ID=0000016f60fe98bc-0242ac13000b0000, X-B3-TraceId=571383ec71cf5e1b, X-B3-SpanId=555cf6fce511002e, X-B3-ParentSpanId=a3c7e871d648b351, X-B3
-Sampled=1}] [io.eventuate.tram.messaging.common.MessageImpl@5de57486[payload={},headers={reply_outcome-type=SUCCESS, reply_type=io.eventuate.tram.commands.common.Success}]]
ftgo-order-service_1 | 2020-01-01T12:04:55.998610984Z 2020-01-01 12:04:55.998 TRACE [ftgo-order-service,571383ec71cf5e1b,555cf6fce511002e,true] 1 --- [pool-4-thread-1] i.e.t.c.c.DecoratedMessageHandlerFactory : handled message orderService 0000016f60fe98bc-0242ac13000b0000
ftgo-order-service_1 | 2020-01-01T12:04:55.999637249Z 2020-01-01 12:04:55.999 DEBUG [ftgo-order-service,,,] 1 --- [pool-4-thread-1] org.hibernate.SQL : update orders set consumer_id=?, city=?, delivery_state=?, street1=?, street2=?, zip=?, delivery_time=?, amount=?, p
ayment_token=?, restaurant_id=?, state=?, version=? where id=? and version=?
ftgo-order-service_1 | 2020-01-01T12:04:56.028164804Z 2020-01-01 12:04:56.027 DEBUG [ftgo-order-service,,,] 1 --- [pool-4-thread-1] i.e.m.k.b.c.KafkaMessageProcessor : Adding processed record to queue orderService 0
ftgo-order-service_1 | 2020-01-01T12:04:56.056984043Z 2020-01-01 12:04:56.056 DEBUG [ftgo-order-service,,,] 1 --- [er-orderService] i.e.m.k.b.c.EventuateKafkaConsumer : Committing offsets orderService {orderService-1=OffsetAndMetadata{offset=1, metadata=''}}
ftgo-order-service_1 | 2020-01-01T12:04:56.069442458Z 2020-01-01 12:04:56.068 INFO [ftgo-order-service,571383ec71cf5e1b,01a3f398574b3e7d,true] 1 --- [pool-1-thread-1] o.s.b.f.xml.XmlBeanDefinitionReader : Loading XML bean definitions from class path resource [org/springframework/jdbc/
support/sql-error-codes.xml]
ftgo-order-service_1 | 2020-01-01T12:04:56.099497920Z 2020-01-01 12:04:56.098 DEBUG [ftgo-order-service,,,] 1 --- [er-orderService] i.e.m.k.b.c.EventuateKafkaConsumer : Committed offsets orderService
ftgo-order-service_1 | 2020-01-01T12:04:56.269657032Z 2020-01-01 12:04:56.268 DEBUG [ftgo-order-service,,,] 1 --- [erSaga-consumer] i.e.m.k.b.c.EventuateKafkaConsumer : Got net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-consumer 1 records
ftgo-order-service_1 | 2020-01-01T12:04:56.270715544Z 2020-01-01 12:04:56.269 DEBUG [ftgo-order-service,,,] 1 --- [erSaga-consumer] i.e.m.k.b.c.EventuateKafkaConsumer : processing record net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-consumer 2 {"payload":"{}"
,"headers":{"reply_outcome-type":"SUCCESS","commandreply_type":"net.chrisrichardson.ftgo.kitchenservice.api.ConfirmCreateTicket","commandreply_saga_type":"net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga","X-B3-ParentSpanId":"4592fff4a79e80d7","reply_type":"io.eventuate.tram.c
ommands.common.Success","reply_to_message_id":"0000016f60fe9734-0242ac13000b0000","commandreply_saga_id":"0000016f60fe9323-0242ac13000b0000","DATE":"Wed, 1 Jan 2020 12:04:55 GMT","commandreply__destination":"kitchenService","commandreply_reply_to":"net.chrisrichardson.ftgo.orderservice.sagas.createo
rder.CreateOrderSaga-reply","X-B3-SpanId":"00340a3717107135","DESTINATION":"net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-reply","X-B3-Sampled":"1","X-B3-TraceId":"571383ec71cf5e1b","ID":"0000016f60fe996d-0242ac13000c0000"}}
ftgo-order-service_1 | 2020-01-01T12:04:56.270817266Z 2020-01-01 12:04:56.270 DEBUG [ftgo-order-service,,,] 1 --- [erSaga-consumer] i.e.m.k.b.c.EventuateKafkaConsumer : EventuateKafkaAggregateSubscriptions subscriber = net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrde
rSaga-consumer, offset = 2, key = 0000016f60fe996d-0242ac13000c0000, value = {"payload":"{}","headers":{"reply_outcome-type":"SUCCESS","commandreply_type":"net.chrisrichardson.ftgo.kitchenservice.api.ConfirmCreateTicket","commandreply_saga_type":"net.chrisrichardson.ftgo.orderservice.sagas.createord
er.CreateOrderSaga","X-B3-ParentSpanId":"4592fff4a79e80d7","reply_type":"io.eventuate.tram.commands.common.Success","reply_to_message_id":"0000016f60fe9734-0242ac13000b0000","commandreply_saga_id":"0000016f60fe9323-0242ac13000b0000","DATE":"Wed, 1 Jan 2020 12:04:55 GMT","commandreply__destination":"
kitchenService","commandreply_reply_to":"net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-reply","X-B3-SpanId":"00340a3717107135","DESTINATION":"net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-reply","X-B3-Sampled":"1","X-B3-TraceId":"571383ec71cf5e1b",
"ID":"0000016f60fe996d-0242ac13000c0000"}}
ftgo-order-service_1 | 2020-01-01T12:04:56.288209049Z 2020-01-01 12:04:56.287 DEBUG [ftgo-order-service,,,] 1 --- [erSaga-consumer] i.e.m.k.b.c.EventuateKafkaConsumer : Processed net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-consumer 1 records
ftgo-order-service_1 | 2020-01-01T12:04:56.301506913Z 2020-01-01 12:04:56.301 TRACE [ftgo-order-service,571383ec71cf5e1b,5fe90e8d4aa20856,true] 1 --- [pool-1-thread-2] i.e.t.c.c.DecoratedMessageHandlerFactory : Invoking handler net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateO
rderSaga-consumer 0000016f60fe996d-0242ac13000c0000
ftgo-order-service_1 | 2020-01-01T12:04:56.302546150Z 2020-01-01 12:04:56.302 DEBUG [ftgo-order-service,571383ec71cf5e1b,5fe90e8d4aa20856,true] 1 --- [pool-1-thread-2] i.e.t.s.orchestration.SagaManagerImpl : handle message invoked io.eventuate.tram.messaging.common.MessageImpl@74ccab85[p
ayload={},headers={reply_outcome-type=SUCCESS, commandreply_type=net.chrisrichardson.ftgo.kitchenservice.api.ConfirmCreateTicket, commandreply_saga_type=net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga, reply_type=io.eventuate.tram.commands.common.Success, reply_to_message_id=
0000016f60fe9734-0242ac13000b0000, commandreply_saga_id=0000016f60fe9323-0242ac13000b0000, DATE=Wed, 1 Jan 2020 12:04:55 GMT, commandreply__destination=kitchenService, commandreply_reply_to=net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-reply, DESTINATION=net.chrisrichardson
.ftgo.orderservice.sagas.createorder.CreateOrderSaga-reply, ID=0000016f60fe996d-0242ac13000c0000, X-B3-TraceId=571383ec71cf5e1b, X-B3-SpanId=5fe90e8d4aa20856, X-B3-ParentSpanId=00340a3717107135, X-B3-Sampled=1}]
ftgo-order-service_1 | 2020-01-01T12:04:56.302903410Z 2020-01-01 12:04:56.302 DEBUG [ftgo-order-service,571383ec71cf5e1b,5fe90e8d4aa20856,true] 1 --- [pool-1-thread-2] i.e.t.s.orchestration.SagaManagerImpl : Handle reply: io.eventuate.tram.messaging.common.MessageImpl@74ccab85[payload={}
,headers={reply_outcome-type=SUCCESS, commandreply_type=net.chrisrichardson.ftgo.kitchenservice.api.ConfirmCreateTicket, commandreply_saga_type=net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga, reply_type=io.eventuate.tram.commands.common.Success, reply_to_message_id=0000016f6
0fe9734-0242ac13000b0000, commandreply_saga_id=0000016f60fe9323-0242ac13000b0000, DATE=Wed, 1 Jan 2020 12:04:55 GMT, commandreply__destination=kitchenService, commandreply_reply_to=net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-reply, DESTINATION=net.chrisrichardson.ftgo.ord
erservice.sagas.createorder.CreateOrderSaga-reply, ID=0000016f60fe996d-0242ac13000c0000, X-B3-TraceId=571383ec71cf5e1b, X-B3-SpanId=5fe90e8d4aa20856, X-B3-ParentSpanId=00340a3717107135, X-B3-Sampled=1}]
ftgo-order-service_1 | 2020-01-01T12:04:56.304164300Z 2020-01-01 12:04:56.303 INFO [ftgo-order-service,571383ec71cf5e1b,5fe90e8d4aa20856,true] 1 --- [pool-1-thread-2] i.e.t.s.o.SagaInstanceRepositoryJdbc : finding net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga
0000016f60fe9323-0242ac13000b0000
ftgo-order-service_1 | 2020-01-01T12:04:56.307031937Z 2020-01-01 12:04:56.306 DEBUG [ftgo-order-service,,,] 1 --- [erSaga-consumer] i.e.m.k.b.c.EventuateKafkaConsumer : To commit net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-consumer io.eventuate.messaging.ka
fka.basic.consumer.OffsetTracker@ce87c5a[state={net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-reply-0=io.eventuate.messaging.kafka.basic.consumer.TopicPartitionOffsets@1599fd9a[unprocessed=[2],processed=[]], net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrde
rSaga-reply-1=io.eventuate.messaging.kafka.basic.consumer.TopicPartitionOffsets@1fece3c3[unprocessed=[2],processed=[]]}]
ftgo-order-service_1 | 2020-01-01T12:04:56.381932402Z 2020-01-01 12:04:56.380 DEBUG [ftgo-order-service,,,] 1 --- [erSaga-consumer] i.e.m.k.b.c.EventuateKafkaConsumer : Got net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-consumer 1 records
ftgo-order-service_1 | 2020-01-01T12:04:56.409026683Z 2020-01-01 12:04:56.408 DEBUG [ftgo-order-service,,,] 1 --- [erSaga-consumer] i.e.m.k.b.c.EventuateKafkaConsumer : processing record net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-consumer 3 {"payload":"{}"
,"headers":{"reply_outcome-type":"SUCCESS","commandreply_type":"net.chrisrichardson.ftgo.orderservice.sagaparticipants.ApproveOrderCommand","commandreply_saga_type":"net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga","X-B3-ParentSpanId":"555cf6fce511002e","reply_type":"io.event
uate.tram.commands.common.Success","reply_to_message_id":"0000016f60fe98bc-0242ac13000b0000","commandreply_saga_id":"0000016f60fe9323-0242ac13000b0000","DATE":"Wed, 1 Jan 2020 12:04:55 GMT","commandreply__destination":"orderService","commandreply_reply_to":"net.chrisrichardson.ftgo.orderservice.saga
s.createorder.CreateOrderSaga-reply","X-B3-SpanId":"2797728bcfed0b91","DESTINATION":"net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-reply","X-B3-Sampled":"1","X-B3-TraceId":"571383ec71cf5e1b","ID":"0000016f60fe9a1e-0242ac13000b0000"}}
ftgo-order-service_1 | 2020-01-01T12:04:56.409338769Z 2020-01-01 12:04:56.409 DEBUG [ftgo-order-service,,,] 1 --- [erSaga-consumer] i.e.m.k.b.c.EventuateKafkaConsumer : EventuateKafkaAggregateSubscriptions subscriber = net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrde
rSaga-consumer, offset = 3, key = 0000016f60fe9a1e-0242ac13000b0000, value = {"payload":"{}","headers":{"reply_outcome-type":"SUCCESS","commandreply_type":"net.chrisrichardson.ftgo.orderservice.sagaparticipants.ApproveOrderCommand","commandreply_saga_type":"net.chrisrichardson.ftgo.orderservice.saga
s.createorder.CreateOrderSaga","X-B3-ParentSpanId":"555cf6fce511002e","reply_type":"io.eventuate.tram.commands.common.Success","reply_to_message_id":"0000016f60fe98bc-0242ac13000b0000","commandreply_saga_id":"0000016f60fe9323-0242ac13000b0000","DATE":"Wed, 1 Jan 2020 12:04:55 GMT","commandreply__des
tination":"orderService","commandreply_reply_to":"net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-reply","X-B3-SpanId":"2797728bcfed0b91","DESTINATION":"net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-reply","X-B3-Sampled":"1","X-B3-TraceId":"571383ec7
1cf5e1b","ID":"0000016f60fe9a1e-0242ac13000b0000"}}
ftgo-order-service_1 | 2020-01-01T12:04:56.409700927Z 2020-01-01 12:04:56.409 DEBUG [ftgo-order-service,,,] 1 --- [erSaga-consumer] i.e.m.k.b.c.EventuateKafkaConsumer : Processed net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-consumer 1 records
ftgo-order-service_1 | 2020-01-01T12:04:56.410654298Z 2020-01-01 12:04:56.409 DEBUG [ftgo-order-service,,,] 1 --- [erSaga-consumer] i.e.m.k.b.c.EventuateKafkaConsumer : To commit net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-consumer io.eventuate.messaging.ka
fka.basic.consumer.OffsetTracker@ce87c5a[state={net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-reply-0=io.eventuate.messaging.kafka.basic.consumer.TopicPartitionOffsets@1599fd9a[unprocessed=[2],processed=[]], net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrde
rSaga-reply-1=io.eventuate.messaging.kafka.basic.consumer.TopicPartitionOffsets@1fece3c3[unprocessed=[2, 3],processed=[]]}]
ftgo-order-service_1 | 2020-01-01T12:04:56.444341731Z 2020-01-01 12:04:56.440 INFO [ftgo-order-service,571383ec71cf5e1b,5fe90e8d4aa20856,true] 1 --- [pool-1-thread-2] i.e.t.s.orchestration.SagaManagerImpl : Current state={"currentlyExecuting":5,"compensating":false,"endState":false}
ftgo-order-service_1 | 2020-01-01T12:04:56.444432458Z 2020-01-01 12:04:56.441 INFO [ftgo-order-service,571383ec71cf5e1b,5fe90e8d4aa20856,true] 1 --- [pool-1-thread-2] i.e.t.s.orchestration.SagaManagerImpl : Handled reply. Sending commands []
ftgo-order-service_1 | 2020-01-01T12:04:56.447360294Z 2020-01-01 12:04:56.446 INFO [ftgo-order-service,571383ec71cf5e1b,5fe90e8d4aa20856,true] 1 --- [pool-1-thread-2] i.e.t.s.o.SagaInstanceRepositoryJdbc : Updating net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga
0000016f60fe9323-0242ac13000b0000
ftgo-order-service_1 | 2020-01-01T12:04:56.520370180Z 2020-01-01 12:04:56.520 DEBUG [ftgo-order-service,87c7ff006d3bb80e,87c7ff006d3bb80e,true] 1 --- [nio-8080-exec-5] org.hibernate.SQL : select order0_.id as id1_3_0_, order0_.consumer_id as consumer2_3_0_, order0_.ci
ty as city3_3_0_, order0_.delivery_state as delivery4_3_0_, order0_.street1 as street5_3_0_, order0_.street2 as street6_3_0_, order0_.zip as zip7_3_0_, order0_.delivery_time as delivery8_3_0_, order0_.amount as amount9_3_0_, order0_.payment_token as payment10_3_0_, order0_.restaurant_id as restaur11
3_0, order0_.state as state12_3_0_, order0_.version as version13_3_0_ from orders order0_ where order0_.id=?
ftgo-order-service_1 | 2020-01-01T12:04:56.536861102Z 2020-01-01 12:04:56.536 DEBUG [ftgo-order-service,87c7ff006d3bb80e,87c7ff006d3bb80e,true] 1 --- [nio-8080-exec-5] org.hibernate.SQL : select lineitems0_.order_id as order_id1_0_0_, lineitems0_.menu_item_id as menu_
ite2_0_0_, lineitems0_.name as name3_0_0_, lineitems0_.price as price4_0_0_, lineitems0_.quantity as quantity5_0_0_ from order_line_items lineitems0_ where lineitems0_.order_id=?
ftgo-order-service_1 | 2020-01-01T12:04:56.744848458Z 2020-01-01 12:04:56.706 DEBUG [ftgo-order-service,6049136193c61eb1,6049136193c61eb1,true] 1 --- [nio-8080-exec-7] org.hibernate.SQL : select restaurant0_.id as id1_2_0_, restaurant0_.name as name2_2_0_ from order_s
ervice_restaurants restaurant0_ where restaurant0_.id=?
ftgo-order-service_1 | 2020-01-01T12:04:56.754685633Z 2020-01-01 12:04:56.754 DEBUG [ftgo-order-service,6049136193c61eb1,6049136193c61eb1,true] 1 --- [nio-8080-exec-7] org.hibernate.SQL : select menuitems0_.restaurant_id as restaura1_1_0_, menuitems0_.id as id2_1_0_,
menuitems0_.name as name3_1_0_, menuitems0_.amount as amount4_1_0_ from order_service_restaurant_menu_items menuitems0_ where menuitems0_.restaurant_id=?
ftgo-order-service_1 | 2020-01-01T12:04:56.909710639Z 2020-01-01 12:04:56.909 DEBUG [ftgo-order-service,6049136193c61eb1,6049136193c61eb1,true] 1 --- [nio-8080-exec-7] org.hibernate.SQL : select next_val as id_val from hibernate_sequence for update
ftgo-order-service_1 | 2020-01-01T12:04:56.911845389Z 2020-01-01 12:04:56.911 DEBUG [ftgo-order-service,6049136193c61eb1,6049136193c61eb1,true] 1 --- [nio-8080-exec-7] org.hibernate.SQL : update hibernate_sequence set next_val= ? where next_val=?
ftgo-order-service_1 | 2020-01-01T12:04:56.923267294Z 2020-01-01 12:04:56.922 INFO [ftgo-order-service,6049136193c61eb1,6049136193c61eb1,true] 1 --- [nio-8080-exec-7] i.e.t.s.o.SagaInstanceRepositoryJdbc : Saving net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga 0
000016f60fe9dda-0242ac13000b0000
ftgo-order-service_1 | 2020-01-01T12:04:56.932809656Z 2020-01-01 12:04:56.932 DEBUG [ftgo-order-service,6049136193c61eb1,6049136193c61eb1,true] 1 --- [nio-8080-exec-7] i.e.t.sagas.common.SagaLockManagerImpl : Saga net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga 000
0016f60fe9dda-0242ac13000b0000 has locked net.chrisrichardson.ftgo.orderservice.domain.Order/2
ftgo-order-service_1 | 2020-01-01T12:04:56.947051882Z 2020-01-01 12:04:56.946 INFO [ftgo-order-service,6049136193c61eb1,6049136193c61eb1,true] 1 --- [nio-8080-exec-7] i.e.t.s.o.SagaInstanceRepositoryJdbc : Updating net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga
0000016f60fe9dda-0242ac13000b0000
ftgo-order-service_1 | 2020-01-01T12:04:56.950686985Z 2020-01-01 12:04:56.950 DEBUG [ftgo-order-service,6049136193c61eb1,6049136193c61eb1,true] 1 --- [nio-8080-exec-7] org.hibernate.SQL : insert into orders (consumer_id, city, delivery_state, street1, street2, zip, de
livery_time, amount, payment_token, restaurant_id, state, version, id) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
ftgo-order-service_1 | 2020-01-01T12:04:56.954849403Z 2020-01-01 12:04:56.954 DEBUG [ftgo-order-service,6049136193c61eb1,6049136193c61eb1,true] 1 --- [nio-8080-exec-7] org.hibernate.SQL : insert into order_line_items (order_id, menu_item_id, name, price, quantity) val
ues (?, ?, ?, ?, ?)
ftgo-order-service_1 | 2020-01-01T12:04:57.053415598Z 2020-01-01 12:04:57.052 DEBUG [ftgo-order-service,,,] 1 --- [erSaga-consumer] i.e.m.k.b.c.EventuateKafkaConsumer : Got net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-consumer 1 records
ftgo-order-service_1 | 2020-01-01T12:04:57.053546312Z 2020-01-01 12:04:57.053 DEBUG [ftgo-order-service,,,] 1 --- [erSaga-consumer] i.e.m.k.b.c.EventuateKafkaConsumer : processing record net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-consumer 4 {"payload":"{}"
,"headers":{"reply_outcome-type":"SUCCESS","commandreply_type":"net.chrisrichardson.ftgo.consumerservice.api.ValidateOrderByConsumer","commandreply_saga_type":"net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga","X-B3-ParentSpanId":"480092d576bd3f0b","reply_type":"io.eventuate.t
ram.commands.common.Success","reply_to_message_id":"0000016f60fe9de4-0242ac13000b0000","commandreply_saga_id":"0000016f60fe9dda-0242ac13000b0000","DATE":"Wed, 1 Jan 2020 12:04:53 GMT","commandreply__destination":"consumerService","commandreply_reply_to":"net.chrisrichardson.ftgo.orderservice.sagas.c
reateorder.CreateOrderSaga-reply","X-B3-SpanId":"bb0b7f10509ce21e","DESTINATION":"net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-reply","X-B3-Sampled":"1","X-B3-TraceId":"6049136193c61eb1","ID":"0000016f60fe91b8-14dae921faa80000"}}
ftgo-order-service_1 | 2020-01-01T12:04:57.053667241Z 2020-01-01 12:04:57.053 DEBUG [ftgo-order-service,,,] 1 --- [erSaga-consumer] i.e.m.k.b.c.EventuateKafkaConsumer : EventuateKafkaAggregateSubscriptions subscriber = net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrde
rSaga-consumer, offset = 4, key = 0000016f60fe91b8-14dae921faa80000, value = {"payload":"{}","headers":{"reply_outcome-type":"SUCCESS","commandreply_type":"net.chrisrichardson.ftgo.consumerservice.api.ValidateOrderByConsumer","commandreply_saga_type":"net.chrisrichardson.ftgo.orderservice.sagas.crea
teorder.CreateOrderSaga","X-B3-ParentSpanId":"480092d576bd3f0b","reply_type":"io.eventuate.tram.commands.common.Success","reply_to_message_id":"0000016f60fe9de4-0242ac13000b0000","commandreply_saga_id":"0000016f60fe9dda-0242ac13000b0000","DATE":"Wed, 1 Jan 2020 12:04:53 GMT","commandreply__destinati
on":"consumerService","commandreply_reply_to":"net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-reply","X-B3-SpanId":"bb0b7f10509ce21e","DESTINATION":"net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-reply","X-B3-Sampled":"1","X-B3-TraceId":"6049136193c6
1eb1","ID":"0000016f60fe91b8-14dae921faa80000"}}
ftgo-order-service_1 | 2020-01-01T12:04:57.053931666Z 2020-01-01 12:04:57.053 DEBUG [ftgo-order-service,,,] 1 --- [erSaga-consumer] i.e.m.k.b.c.EventuateKafkaConsumer : Processed net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-consumer 1 records
ftgo-order-service_1 | 2020-01-01T12:04:57.055680756Z 2020-01-01 12:04:57.053 DEBUG [ftgo-order-service,,,] 1 --- [erSaga-consumer] i.e.m.k.b.c.EventuateKafkaConsumer : To commit net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-consumer io.eventuate.messaging.ka
fka.basic.consumer.OffsetTracker@ce87c5a[state={net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-reply-0=io.eventuate.messaging.kafka.basic.consumer.TopicPartitionOffsets@1599fd9a[unprocessed=[2],processed=[]], net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrde
rSaga-reply-1=io.eventuate.messaging.kafka.basic.consumer.TopicPartitionOffsets@1fece3c3[unprocessed=[2, 3, 4],processed=[]]}]
ftgo-order-service_1 | 2020-01-01T12:04:57.076355352Z 2020-01-01 12:04:57.075 INFO [ftgo-order-service,571383ec71cf5e1b,01a3f398574b3e7d,true] 1 --- [pool-1-thread-1] o.s.jdbc.support.SQLErrorCodesFactory : SQLErrorCodes loaded: [DB2, Derby, H2, HDB, HSQL, Informix, MS-SQL, MySQL, Oracl
e, PostgreSQL, Sybase]
ftgo-order-service_1 | 2020-01-01T12:04:57.095613539Z 2020-01-01 12:04:57.090 TRACE [ftgo-order-service,571383ec71cf5e1b,01a3f398574b3e7d,true] 1 --- [pool-1-thread-1] i.e.t.c.c.DecoratedMessageHandlerFactory : handled message net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOr
derSaga-consumer 0000016f60fe8b5a-14dae921faa80000
ftgo-order-service_1 | 2020-01-01T12:04:57.101950946Z 2020-01-01 12:04:57.101 DEBUG [ftgo-order-service,,,] 1 --- [pool-1-thread-1] i.e.m.k.b.c.KafkaMessageProcessor : Adding processed record to queue net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-consumer 2
ftgo-order-service_1 | 2020-01-01T12:04:57.121869241Z 2020-01-01 12:04:57.120 TRACE [ftgo-order-service,571383ec71cf5e1b,5dfbb3dddc4b13cb,true] 1 --- [pool-1-thread-1] i.e.t.c.c.DecoratedMessageHandlerFactory : Invoking handler net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateO
rderSaga-consumer 0000016f60fe9a1e-0242ac13000b0000
ftgo-order-service_1 | 2020-01-01T12:04:57.121892510Z 2020-01-01 12:04:57.120 DEBUG [ftgo-order-service,571383ec71cf5e1b,5dfbb3dddc4b13cb,true] 1 --- [pool-1-thread-1] i.e.t.s.orchestration.SagaManagerImpl : handle message invoked io.eventuate.tram.messaging.common.MessageImpl@7262e9f[pa
yload={},headers={reply_outcome-type=SUCCESS, commandreply_type=net.chrisrichardson.ftgo.orderservice.sagaparticipants.ApproveOrderCommand, commandreply_saga_type=net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga, reply_type=io.eventuate.tram.commands.common.Success, reply_to_m
essage_id=0000016f60fe98bc-0242ac13000b0000, commandreply_saga_id=0000016f60fe9323-0242ac13000b0000, DATE=Wed, 1 Jan 2020 12:04:55 GMT, commandreply__destination=orderService, commandreply_reply_to=net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-reply, DESTINATION=net.chrisri
chardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-reply, ID=0000016f60fe9a1e-0242ac13000b0000, X-B3-TraceId=571383ec71cf5e1b, X-B3-SpanId=5dfbb3dddc4b13cb, X-B3-ParentSpanId=2797728bcfed0b91, X-B3-Sampled=1}]
ftgo-order-service_1 | 2020-01-01T12:04:57.131306102Z 2020-01-01 12:04:57.127 DEBUG [ftgo-order-service,571383ec71cf5e1b,5dfbb3dddc4b13cb,true] 1 --- [pool-1-thread-1] i.e.t.s.orchestration.SagaManagerImpl : Handle reply: io.eventuate.tram.messaging.common.MessageImpl@7262e9f[payload={},
headers={reply_outcome-type=SUCCESS, commandreply_type=net.chrisrichardson.ftgo.orderservice.sagaparticipants.ApproveOrderCommand, commandreply_saga_type=net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga, reply_type=io.eventuate.tram.commands.common.Success, reply_to_message_id
=0000016f60fe98bc-0242ac13000b0000, commandreply_saga_id=0000016f60fe9323-0242ac13000b0000, DATE=Wed, 1 Jan 2020 12:04:55 GMT, commandreply__destination=orderService, commandreply_reply_to=net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-reply, DESTINATION=net.chrisrichardson.
ftgo.orderservice.sagas.createorder.CreateOrderSaga-reply, ID=0000016f60fe9a1e-0242ac13000b0000, X-B3-TraceId=571383ec71cf5e1b, X-B3-SpanId=5dfbb3dddc4b13cb, X-B3-ParentSpanId=2797728bcfed0b91, X-B3-Sampled=1}]
ftgo-order-service_1 | 2020-01-01T12:04:57.131351654Z 2020-01-01 12:04:57.127 INFO [ftgo-order-service,571383ec71cf5e1b,5dfbb3dddc4b13cb,true] 1 --- [pool-1-thread-1] i.e.t.s.o.SagaInstanceRepositoryJdbc : finding net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga
0000016f60fe9323-0242ac13000b0000
ftgo-order-service_1 | 2020-01-01T12:04:57.140293313Z 2020-01-01 12:04:57.139 TRACE [ftgo-order-service,571383ec71cf5e1b,5fe90e8d4aa20856,true] 1 --- [pool-1-thread-2] i.e.t.c.c.DecoratedMessageHandlerFactory : handled message net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOr
derSaga-consumer 0000016f60fe996d-0242ac13000c0000
ftgo-order-service_1 | 2020-01-01T12:04:57.143824680Z 2020-01-01 12:04:57.142 INFO [ftgo-order-service,571383ec71cf5e1b,5dfbb3dddc4b13cb,true] 1 --- [pool-1-thread-1] i.e.t.s.orchestration.SagaManagerImpl : Current state={"currentlyExecuting":0,"compensating":false,"endState":true}
ftgo-order-service_1 | 2020-01-01T12:04:57.144624755Z 2020-01-01 12:04:57.144 TRACE [ftgo-order-service,571383ec71cf5e1b,5dfbb3dddc4b13cb,true] 1 --- [pool-1-thread-1] i.e.t.c.c.DecoratedMessageHandlerFactory : Got exception net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrde
rSaga-consumer 0000016f60fe9a1e-0242ac13000b0000
ftgo-order-service_1 | 2020-01-01T12:04:57.169052863Z 2020-01-01 12:04:57.165 DEBUG [ftgo-order-service,,,] 1 --- [erSaga-consumer] i.e.m.k.b.c.EventuateKafkaConsumer : Committing offsets net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-consumer {net.chrisrichar
dson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-reply-1=OffsetAndMetadata{offset=3, metadata=''}}
ftgo-order-service_1 | 2020-01-01T12:04:57.177613532Z 2020-01-01 12:04:57.174 DEBUG [ftgo-order-service,,,] 1 --- [pool-1-thread-2] i.e.m.k.b.c.KafkaMessageProcessor : Adding processed record to queue net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-consumer 2
ftgo-order-service_1 | 2020-01-01T12:04:57.186685909Z 2020-01-01 12:04:57.182 TRACE [ftgo-order-service,571383ec71cf5e1b,5dfbb3dddc4b13cb,true] 1 --- [pool-1-thread-1] i.e.t.c.c.DecoratedMessageHandlerFactory : Got exception
ftgo-order-service_1 | 2020-01-01T12:04:57.186767113Z
ftgo-order-service_1 | 2020-01-01T12:04:57.186786262Z java.util.NoSuchElementException: No value present
ftgo-order-service_1 | 2020-01-01T12:04:57.186802504Z at java.util.Optional.get(Optional.java:135) ~[na:1.8.0_171]
ftgo-order-service_1 | 2020-01-01T12:04:57.186816443Z at io.eventuate.tram.sagas.simpledsl.ParticipantInvocationStep.isSuccessfulReply(ParticipantInvocationStep.java:46) ~[eventuate-tram-sagas-simple-dsl-0.12.0.RC5.jar!/:na]
ftgo-order-service_1 | 2020-01-01T12:04:57.186829185Z at io.eventuate.tram.sagas.simpledsl.SimpleSagaDefinition.handleReply(SimpleSagaDefinition.java:43) ~[eventuate-tram-sagas-simple-dsl-0.12.0.RC5.jar!/:na]
ftgo-order-service_1 | 2020-01-01T12:04:57.186843158Z at io.eventuate.tram.sagas.orchestration.SagaManagerImpl.handleReply(SagaManagerImpl.java:197) ~[eventuate-tram-sagas-orchestration-0.12.0.RC5.jar!/:na]
ftgo-order-service_1 | 2020-01-01T12:04:57.186857536Z at io.eventuate.tram.sagas.orchestration.SagaManagerImpl.handleMessage(SagaManagerImpl.java:167) ~[eventuate-tram-sagas-orchestration-0.12.0.RC5.jar!/:na]
ftgo-order-service_1 | 2020-01-01T12:04:57.186894219Z at io.eventuate.tram.consumer.common.DecoratedMessageHandlerFactory.lambda$decorate$0(DecoratedMessageHandlerFactory.java:33) ~[eventuate-tram-consumer-common-0.22.0.RC5.jar!/:na]
ftgo-order-service_1 | 2020-01-01T12:04:57.186910767Z at io.eventuate.tram.consumer.common.PrePostHandlerMessageHandlerDecorator.accept(PrePostHandlerMessageHandlerDecorator.java:26) ~[eventuate-tram-consumer-common-0.22.0.RC5.jar!/:na]
ftgo-order-service_1 | 2020-01-01T12:04:57.186925637Z at io.eventuate.tram.consumer.common.PrePostHandlerMessageHandlerDecorator.accept(PrePostHandlerMessageHandlerDecorator.java:11) ~[eventuate-tram-consumer-common-0.22.0.RC5.jar!/:na]
ftgo-order-service_1 | 2020-01-01T12:04:57.186940378Z at io.eventuate.tram.consumer.common.MessageHandlerDecoratorChainBuilder.lambda$buildChain$0(MessageHandlerDecoratorChainBuilder.java:38) ~[eventuate-tram-consumer-common-0.22.0.RC5.jar!/:na]
ftgo-order-service_1 | 2020-01-01T12:04:57.186952693Z at io.eventuate.tram.consumer.common.DuplicateDetectingMessageHandlerDecorator.lambda$accept$0(DuplicateDetectingMessageHandlerDecorator.java:15) ~[eventuate-tram-consumer-common-0.22.0.RC5.jar!/:na]
ftgo-order-service_1 | 2020-01-01T12:04:57.186980751Z at io.eventuate.tram.consumer.jdbc.SqlTableBasedDuplicateMessageDetector.lambda$doWithMessage$0(SqlTableBasedDuplicateMessageDetector.java:53) ~[eventuate-tram-consumer-jdbc-0.22.0.RC5.jar!/:na]
ftgo-order-service_1 | 2020-01-01T12:04:57.187015438Z at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140) ~[spring-tx-5.0.7.RELEASE.jar!/:5.0.7.RELEASE]
ftgo-order-service_1 | 2020-01-01T12:04:57.187033318Z at io.eventuate.tram.consumer.jdbc.SqlTableBasedDuplicateMessageDetector.doWithMessage(SqlTableBasedDuplicateMessageDetector.java:50) ~[eventuate-tram-consumer-jdbc-0.22.0.RC5.jar!/:na]
ftgo-order-service_1 | 2020-01-01T12:04:57.187047895Z at io.eventuate.tram.consumer.common.DuplicateDetectingMessageHandlerDecorator.accept(DuplicateDetectingMessageHandlerDecorator.java:15) ~[eventuate-tram-consumer-common-0.22.0.RC5.jar!/:na]
ftgo-order-service_1 | 2020-01-01T12:04:57.187061775Z at io.eventuate.tram.consumer.common.DuplicateDetectingMessageHandlerDecorator.accept(DuplicateDetectingMessageHandlerDecorator.java:5) ~[eventuate-tram-consumer-common-0.22.0.RC5.jar!/:na]
ftgo-order-service_1 | 2020-01-01T12:04:57.187075679Z at io.eventuate.tram.consumer.common.MessageHandlerDecoratorChainBuilder.lambda$buildChain$0(MessageHandlerDecoratorChainBuilder.java:38) ~[eventuate-tram-consumer-common-0.22.0.RC5.jar!/:na]
ftgo-order-service_1 | 2020-01-01T12:04:57.187088409Z at io.eventuate.tram.consumer.common.PrePostReceiveMessageHandlerDecorator.accept(PrePostReceiveMessageHandlerDecorator.java:25) ~[eventuate-tram-consumer-common-0.22.0.RC5.jar!/:na]
ftgo-order-service_1 | 2020-01-01T12:04:57.187102378Z at io.eventuate.tram.consumer.common.PrePostReceiveMessageHandlerDecorator.accept(PrePostReceiveMessageHandlerDecorator.java:11) ~[eventuate-tram-consumer-common-0.22.0.RC5.jar!/:na]
ftgo-order-service_1 | 2020-01-01T12:04:57.187115779Z at io.eventuate.tram.consumer.common.MessageHandlerDecoratorChainBuilder.lambda$buildChain$0(MessageHandlerDecoratorChainBuilder.java:38) ~[eventuate-tram-consumer-common-0.22.0.RC5.jar!/:na]
ftgo-order-service_1 | 2020-01-01T12:04:57.187200995Z at io.eventuate.tram.consumer.common.MessageConsumerImpl.lambda$subscribe$0(MessageConsumerImpl.java:34) ~[eventuate-tram-consumer-common-0.22.0.RC5.jar!/:na]
ftgo-order-service_1 | 2020-01-01T12:04:57.187220289Z at io.eventuate.tram.consumer.kafka.EventuateTramKafkaMessageConsumer.lambda$subscribe$0(EventuateTramKafkaMessageConsumer.java:24) ~[eventuate-tram-consumer-kafka-0.22.0.RC5.jar!/:na]
ftgo-order-service_1 | 2020-01-01T12:04:57.187235277Z at io.eventuate.messaging.kafka.consumer.MessageConsumerKafkaImpl.handle(MessageConsumerKafkaImpl.java:60) ~[eventuate-messaging-kafka-consumer-0.3.0.RELEASE.jar!/:na]
ftgo-order-service_1 | 2020-01-01T12:04:57.187250353Z at io.eventuate.messaging.kafka.consumer.MessageConsumerKafkaImpl.lambda$null$0(MessageConsumerKafkaImpl.java:40) ~[eventuate-messaging-kafka-consumer-0.3.0.RELEASE.jar!/:na]
ftgo-order-service_1 | 2020-01-01T12:04:57.187264904Z at io.eventuate.messaging.kafka.consumer.SwimlaneDispatcher.processQueuedMessage(SwimlaneDispatcher.java:72) ~[eventuate-messaging-kafka-consumer-0.3.0.RELEASE.jar!/:na]
ftgo-order-service_1 | 2020-01-01T12:04:57.187278454Z at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[na:1.8.0_171]
ftgo-order-service_1 | 2020-01-01T12:04:57.187290951Z at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[na:1.8.0_171]
ftgo-order-service_1 | 2020-01-01T12:04:57.187303575Z at java.lang.Thread.run(Thread.java:748) ~[na:1.8.0_171]
ftgo-order-service_1 | 2020-01-01T12:04:57.187316393Z
ftgo-order-service_1 | 2020-01-01T12:04:57.198724579Z 2020-01-01 12:04:57.197 ERROR [ftgo-order-service,,,] 1 --- [pool-1-thread-1] i.e.m.k.b.c.KafkaMessageProcessor : Got exception:
ftgo-order-service_1 | 2020-01-01T12:04:57.198805520Z
ftgo-order-service_1 | 2020-01-01T12:04:57.198823565Z java.util.NoSuchElementException: No value present
ftgo-order-service_1 | 2020-01-01T12:04:57.198832917Z at java.util.Optional.get(Optional.java:135) ~[na:1.8.0_171]
ftgo-order-service_1 | 2020-01-01T12:04:57.198841835Z at io.eventuate.tram.sagas.simpledsl.ParticipantInvocationStep.isSuccessfulReply(ParticipantInvocationStep.java:46) ~[eventuate-tram-sagas-simple-dsl-0.12.0.RC5.jar!/:na]
ftgo-order-service_1 | 2020-01-01T12:04:57.198850888Z at io.eventuate.tram.sagas.simpledsl.SimpleSagaDefinition.handleReply(SimpleSagaDefinition.java:43) ~[eventuate-tram-sagas-simple-dsl-0.12.0.RC5.jar!/:na]
ftgo-order-service_1 | 2020-01-01T12:04:57.198860046Z at io.eventuate.tram.sagas.orchestration.SagaManagerImpl.handleReply(SagaManagerImpl.java:197) ~[eventuate-tram-sagas-orchestration-0.12.0.RC5.jar!/:na]
ftgo-order-service_1 | 2020-01-01T12:04:57.198872461Z at io.eventuate.tram.sagas.orchestration.SagaManagerImpl.handleMessage(SagaManagerImpl.java:167) ~[eventuate-tram-sagas-orchestration-0.12.0.RC5.jar!/:na]
ftgo-order-service_1 | 2020-01-01T12:04:57.198903711Z at io.eventuate.tram.consumer.common.DecoratedMessageHandlerFactory.lambda$decorate$0(DecoratedMessageHandlerFactory.java:33) ~[eventuate-tram-consumer-common-0.22.0.RC5.jar!/:na]
ftgo-order-service_1 | 2020-01-01T12:04:57.198918526Z at io.eventuate.tram.consumer.common.PrePostHandlerMessageHandlerDecorator.accept(PrePostHandlerMessageHandlerDecorator.java:26) ~[eventuate-tram-consumer-common-0.22.0.RC5.jar!/:na]
ftgo-order-service_1 | 2020-01-01T12:04:57.198931886Z at io.eventuate.tram.consumer.common.PrePostHandlerMessageHandlerDecorator.accept(PrePostHandlerMessageHandlerDecorator.java:11) ~[eventuate-tram-consumer-common-0.22.0.RC5.jar!/:na]
ftgo-order-service_1 | 2020-01-01T12:04:57.198978943Z at io.eventuate.tram.consumer.common.MessageHandlerDecoratorChainBuilder.lambda$buildChain$0(MessageHandlerDecoratorChainBuilder.java:38) ~[eventuate-tram-consumer-common-0.22.0.RC5.jar!/:na]
ftgo-order-service_1 | 2020-01-01T12:04:57.199018988Z at io.eventuate.tram.consumer.common.DuplicateDetectingMessageHandlerDecorator.lambda$accept$0(DuplicateDetectingMessageHandlerDecorator.java:15) ~[eventuate-tram-consumer-common-0.22.0.RC5.jar!/:na]
ftgo-order-service_1 | 2020-01-01T12:04:57.199037582Z at io.eventuate.tram.consumer.jdbc.SqlTableBasedDuplicateMessageDetector.lambda$doWithMessage$0(SqlTableBasedDuplicateMessageDetector.java:53) ~[eventuate-tram-consumer-jdbc-0.22.0.RC5.jar!/:na]
ftgo-order-service_1 | 2020-01-01T12:04:57.199054285Z at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140) ~[spring-tx-5.0.7.RELEASE.jar!/:5.0.7.RELEASE]
ftgo-order-service_1 | 2020-01-01T12:04:57.199068699Z at io.eventuate.tram.consumer.jdbc.SqlTableBasedDuplicateMessageDetector.doWithMessage(SqlTableBasedDuplicateMessageDetector.java:50) ~[eventuate-tram-consumer-jdbc-0.22.0.RC5.jar!/:na]
ftgo-order-service_1 | 2020-01-01T12:04:57.199080792Z at io.eventuate.tram.consumer.common.DuplicateDetectingMessageHandlerDecorator.accept(DuplicateDetectingMessageHandlerDecorator.java:15) ~[eventuate-tram-consumer-common-0.22.0.RC5.jar!/:na]
ftgo-order-service_1 | 2020-01-01T12:04:57.199092906Z at io.eventuate.tram.consumer.common.DuplicateDetectingMessageHandlerDecorator.accept(DuplicateDetectingMessageHandlerDecorator.java:5) ~[eventuate-tram-consumer-common-0.22.0.RC5.jar!/:na]
ftgo-order-service_1 | 2020-01-01T12:04:57.199119355Z at io.eventuate.tram.consumer.common.MessageHandlerDecoratorChainBuilder.lambda$buildChain$0(MessageHandlerDecoratorChainBuilder.java:38) ~[eventuate-tram-consumer-common-0.22.0.RC5.jar!/:na]
ftgo-order-service_1 | 2020-01-01T12:04:57.199133742Z at io.eventuate.tram.consumer.common.PrePostReceiveMessageHandlerDecorator.accept(PrePostReceiveMessageHandlerDecorator.java:25) ~[eventuate-tram-consumer-common-0.22.0.RC5.jar!/:na]
ftgo-order-service_1 | 2020-01-01T12:04:57.199146109Z at io.eventuate.tram.consumer.common.PrePostReceiveMessageHandlerDecorator.accept(PrePostReceiveMessageHandlerDecorator.java:11) ~[eventuate-tram-consumer-common-0.22.0.RC5.jar!/:na]
ftgo-order-service_1 | 2020-01-01T12:04:57.199159610Z at io.eventuate.tram.consumer.common.MessageHandlerDecoratorChainBuilder.lambda$buildChain$0(MessageHandlerDecoratorChainBuilder.java:38) ~[eventuate-tram-consumer-common-0.22.0.RC5.jar!/:na]
ftgo-order-service_1 | 2020-01-01T12:04:57.199171657Z at io.eventuate.tram.consumer.common.MessageConsumerImpl.lambda$subscribe$0(MessageConsumerImpl.java:34) ~[eventuate-tram-consumer-common-0.22.0.RC5.jar!/:na]
ftgo-order-service_1 | 2020-01-01T12:04:57.199184745Z at io.eventuate.tram.consumer.kafka.EventuateTramKafkaMessageConsumer.lambda$subscribe$0(EventuateTramKafkaMessageConsumer.java:24) ~[eventuate-tram-consumer-kafka-0.22.0.RC5.jar!/:na]
ftgo-order-service_1 | 2020-01-01T12:04:57.199197989Z at io.eventuate.messaging.kafka.consumer.MessageConsumerKafkaImpl.handle(MessageConsumerKafkaImpl.java:60) [eventuate-messaging-kafka-consumer-0.3.0.RELEASE.jar!/:na]
ftgo-order-service_1 | 2020-01-01T12:04:57.199213281Z at io.eventuate.messaging.kafka.consumer.MessageConsumerKafkaImpl.lambda$null$0(MessageConsumerKafkaImpl.java:40) [eventuate-messaging-kafka-consumer-0.3.0.RELEASE.jar!/:na]
ftgo-order-service_1 | 2020-01-01T12:04:57.199227221Z at io.eventuate.messaging.kafka.consumer.SwimlaneDispatcher.processQueuedMessage(SwimlaneDispatcher.java:72) ~[eventuate-messaging-kafka-consumer-0.3.0.RELEASE.jar!/:na]
ftgo-order-service_1 | 2020-01-01T12:04:57.199242033Z at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[na:1.8.0_171]
ftgo-order-service_1 | 2020-01-01T12:04:57.199256510Z at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[na:1.8.0_171]
ftgo-order-service_1 | 2020-01-01T12:04:57.199270062Z at java.lang.Thread.run(Thread.java:748) ~[na:1.8.0_171]
ftgo-order-service_1 | 2020-01-01T12:04:57.199282064Z
ftgo-order-service_1 | 2020-01-01T12:04:57.203190241Z 2020-01-01 12:04:57.202 ERROR [ftgo-order-service,,,] 1 --- [pool-1-thread-1] i.e.m.kafka.consumer.SwimlaneDispatcher : Exception handling message - terminating
ftgo-order-service_1 | 2020-01-01T12:04:57.203229010Z
ftgo-order-service_1 | 2020-01-01T12:04:57.203239526Z java.util.NoSuchElementException: No value present
ftgo-order-service_1 | 2020-01-01T12:04:57.203248428Z at java.util.Optional.get(Optional.java:135) ~[na:1.8.0_171]
ftgo-order-service_1 | 2020-01-01T12:04:57.203257491Z at io.eventuate.tram.sagas.simpledsl.ParticipantInvocationStep.isSuccessfulReply(ParticipantInvocationStep.java:46) ~[eventuate-tram-sagas-simple-dsl-0.12.0.RC5.jar!/:na]
ftgo-order-service_1 | 2020-01-01T12:04:57.203266655Z at io.eventuate.tram.sagas.simpledsl.SimpleSagaDefinition.handleReply(SimpleSagaDefinition.java:43) ~[eventuate-tram-sagas-simple-dsl-0.12.0.RC5.jar!/:na]
ftgo-order-service_1 | 2020-01-01T12:04:57.203276464Z at io.eventuate.tram.sagas.orchestration.SagaManagerImpl.handleReply(SagaManagerImpl.java:197) ~[eventuate-tram-sagas-orchestration-0.12.0.RC5.jar!/:na]
ftgo-order-service_1 | 2020-01-01T12:04:57.203297838Z at io.eventuate.tram.sagas.orchestration.SagaManagerImpl.handleMessage(SagaManagerImpl.java:167) ~[eventuate-tram-sagas-orchestration-0.12.0.RC5.jar!/:na]
ftgo-order-service_1 | 2020-01-01T12:04:57.203307625Z at io.eventuate.tram.consumer.common.DecoratedMessageHandlerFactory.lambda$decorate$0(DecoratedMessageHandlerFactory.java:33) ~[eventuate-tram-consumer-common-0.22.0.RC5.jar!/:na]
ftgo-order-service_1 | 2020-01-01T12:04:57.203317062Z at io.eventuate.tram.consumer.common.PrePostHandlerMessageHandlerDecorator.accept(PrePostHandlerMessageHandlerDecorator.java:26) ~[eventuate-tram-consumer-common-0.22.0.RC5.jar!/:na]
ftgo-order-service_1 | 2020-01-01T12:04:57.203326297Z at io.eventuate.tram.consumer.common.PrePostHandlerMessageHandlerDecorator.accept(PrePostHandlerMessageHandlerDecorator.java:11) ~[eventuate-tram-consumer-common-0.22.0.RC5.jar!/:na]
ftgo-order-service_1 | 2020-01-01T12:04:57.203335597Z at io.eventuate.tram.consumer.common.MessageHandlerDecoratorChainBuilder.lambda$buildChain$0(MessageHandlerDecoratorChainBuilder.java:38) ~[eventuate-tram-consumer-common-0.22.0.RC5.jar!/:na]
ftgo-order-service_1 | 2020-01-01T12:04:57.203344854Z at io.eventuate.tram.consumer.common.DuplicateDetectingMessageHandlerDecorator.lambda$accept$0(DuplicateDetectingMessageHandlerDecorator.java:15) ~[eventuate-tram-consumer-common-0.22.0.RC5.jar!/:na]
ftgo-order-service_1 | 2020-01-01T12:04:57.203355585Z at io.eventuate.tram.consumer.jdbc.SqlTableBasedDuplicateMessageDetector.lambda$doWithMessage$0(SqlTableBasedDuplicateMessageDetector.java:53) ~[eventuate-tram-consumer-jdbc-0.22.0.RC5.jar!/:na]
ftgo-order-service_1 | 2020-01-01T12:04:57.203365328Z at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140) ~[spring-tx-5.0.7.RELEASE.jar!/:5.0.7.RELEASE]
ftgo-order-service_1 | 2020-01-01T12:04:57.203374479Z at io.eventuate.tram.consumer.jdbc.SqlTableBasedDuplicateMessageDetector.doWithMessage(SqlTableBasedDuplicateMessageDetector.java:50) ~[eventuate-tram-consumer-jdbc-0.22.0.RC5.jar!/:na]
ftgo-order-service_1 | 2020-01-01T12:04:57.203383709Z at io.eventuate.tram.consumer.common.DuplicateDetectingMessageHandlerDecorator.accept(DuplicateDetectingMessageHandlerDecorator.java:15) ~[eventuate-tram-consumer-common-0.22.0.RC5.jar!/:na]
ftgo-order-service_1 | 2020-01-01T12:04:57.203392988Z at io.eventuate.tram.consumer.common.DuplicateDetectingMessageHandlerDecorator.accept(DuplicateDetectingMessageHandlerDecorator.java:5) ~[eventuate-tram-consumer-common-0.22.0.RC5.jar!/:na]
ftgo-order-service_1 | 2020-01-01T12:04:57.203402234Z at io.eventuate.tram.consumer.common.MessageHandlerDecoratorChainBuilder.lambda$buildChain$0(MessageHandlerDecoratorChainBuilder.java:38) ~[eventuate-tram-consumer-common-0.22.0.RC5.jar!/:na]
ftgo-order-service_1 | 2020-01-01T12:04:57.203411433Z at io.eventuate.tram.consumer.common.PrePostReceiveMessageHandlerDecorator.accept(PrePostReceiveMessageHandlerDecorator.java:25) ~[eventuate-tram-consumer-common-0.22.0.RC5.jar!/:na]
ftgo-order-service_1 | 2020-01-01T12:04:57.203420589Z at io.eventuate.tram.consumer.common.PrePostReceiveMessageHandlerDecorator.accept(PrePostReceiveMessageHandlerDecorator.java:11) ~[eventuate-tram-consumer-common-0.22.0.RC5.jar!/:na]
ftgo-order-service_1 | 2020-01-01T12:04:57.203430311Z at io.eventuate.tram.consumer.common.MessageHandlerDecoratorChainBuilder.lambda$buildChain$0(MessageHandlerDecoratorChainBuilder.java:38) ~[eventuate-tram-consumer-common-0.22.0.RC5.jar!/:na]
ftgo-order-service_1 | 2020-01-01T12:04:57.203442976Z at io.eventuate.tram.consumer.common.MessageConsumerImpl.lambda$subscribe$0(MessageConsumerImpl.java:34) ~[eventuate-tram-consumer-common-0.22.0.RC5.jar!/:na]
ftgo-order-service_1 | 2020-01-01T12:04:57.203462898Z at io.eventuate.tram.consumer.kafka.EventuateTramKafkaMessageConsumer.lambda$subscribe$0(EventuateTramKafkaMessageConsumer.java:24) ~[eventuate-tram-consumer-kafka-0.22.0.RC5.jar!/:na]
ftgo-order-service_1 | 2020-01-01T12:04:57.203478759Z at io.eventuate.messaging.kafka.consumer.MessageConsumerKafkaImpl.handle(MessageConsumerKafkaImpl.java:60) ~[eventuate-messaging-kafka-consumer-0.3.0.RELEASE.jar!/:na]
ftgo-order-service_1 | 2020-01-01T12:04:57.203494822Z at io.eventuate.messaging.kafka.consumer.MessageConsumerKafkaImpl.lambda$null$0(MessageConsumerKafkaImpl.java:40) ~[eventuate-messaging-kafka-consumer-0.3.0.RELEASE.jar!/:na]
ftgo-order-service_1 | 2020-01-01T12:04:57.203582301Z at io.eventuate.messaging.kafka.consumer.SwimlaneDispatcher.processQueuedMessage(SwimlaneDispatcher.java:72) ~[eventuate-messaging-kafka-consumer-0.3.0.RELEASE.jar!/:na]
ftgo-order-service_1 | 2020-01-01T12:04:57.203600237Z at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[na:1.8.0_171]
ftgo-order-service_1 | 2020-01-01T12:04:57.203609590Z at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[na:1.8.0_171]
ftgo-order-service_1 | 2020-01-01T12:04:57.203618607Z at java.lang.Thread.run(Thread.java:748) ~[na:1.8.0_171]
ftgo-order-service_1 | 2020-01-01T12:04:57.203627345Z
ftgo-order-service_1 | 2020-01-01T12:04:57.249695792Z 2020-01-01 12:04:57.249 DEBUG [ftgo-order-service,,,] 1 --- [erSaga-consumer] i.e.m.k.b.c.EventuateKafkaConsumer : Committed offsets net.chrisrichardson.ftgo.orderservice.sagas.createorder.CreateOrderSaga-consumer
ftgo-order-service_1 | 2020-01-01T12:04:57.291872245Z 2020-01-01 12:04:57.290 DEBUG [ftgo-order-service,3de60b52a809ade7,3de60b52a809ade7,true] 1 --- [io-8080-exec-10] org.hibernate.SQL : select order0_.id as id1_3_0_, order0_.consumer_id as consumer2_3_0_, order0_.ci
ty as city3_3_0_, order0_.delivery_state as delivery4_3_0_, order0_.street1 as street5_3_0_, order0_.street2 as street6_3_0_, order0_.zip as zip7_3_0_, order0_.delivery_time as delivery8_3_0_, order0_.amount as amount9_3_0_, order0_.payment_token as payment10_3_0_, order0_.restaurant_id as restaur11
3_0, order0_.state as state12_3_0_, order0_.version as version13_3_0_ from orders order0_ where order0_.id=?
ftgo-order-service_1 | 2020-01-01T12:04:57.305166936Z 2020-01-01 12:04:57.304 DEBUG [ftgo-order-service,3de60b52a809ade7,3de60b52a809ade7,true] 1 --- [io-8080-exec-10] org.hibernate.SQL : select lineitems0_.order_id as order_id1_0_0_, lineitems0_.menu_item_id as menu_
ite2_0_0_, lineitems0_.name as name3_0_0_, lineitems0_.price as price4_0_0_, lineitems0_.quantity as quantity5_0_0_ from order_line_items lineitems0_ where lineitems0_.order_id=?
ftgo-order-service_1 | 2020-01-01T12:04:57.872727441Z 2020-01-01 12:04:57.872 DEBUG [ftgo-order-service,9ce16b9f4ce99bc2,9ce16b9f4ce99bc2,true] 1 --- [nio-8080-exec-9] org.hibernate.SQL : select order0_.id as id1_3_0_, order0_.consumer_id as consumer2_3_0_, order0_.ci
ty as city3_3_0_, order0_.delivery_state as delivery4_3_0_, order0_.street1 as street5_3_0_, order0_.street2 as street6_3_0_, order0_.zip as zip7_3_0_, order0_.delivery_time as delivery8_3_0_, order0_.amount as amount9_3_0_, order0_.payment_token as payment10_3_0_, order0_.restaurant_id as restaur11
3_0, order0_.state as state12_3_0_, order0_.version as version13_3_0_ from orders order0_ where order0_.id=?
ftgo-order-service_1 | 2020-01-01T12:04:57.878209001Z 2020-01-01 12:04:57.877 DEBUG [ftgo-order-service,9ce16b9f4ce99bc2,9ce16b9f4ce99bc2,true] 1 --- [nio-8080-exec-9] org.hibernate.SQL : select lineitems0_.order_id as order_id1_0_0_, lineitems0_.menu_item_id as menu_
ite2_0_0_, lineitems0_.name as name3_0_0_, lineitems0_.price as price4_0_0_, lineitems0_.quantity as quantity5_0_0_ from order_line_items lineitems0_ where lineitems0_.order_id=?
ftgo-order-service_1 | 2020-01-01T12:04:58.440744384Z 2020-01-01 12:04:58.440 DEBUG [ftgo-order-service,7d2b5e5f8cc507af,7d2b5e5f8cc507af,true] 1 --- [nio-8080-exec-1] org.hibernate.SQL : select order0_.id as id1_3_0_, order0_.consumer_id as consumer2_3_0_, order0_.ci
ty as city3_3_0_, order0_.delivery_state as delivery4_3_0_, order0_.street1 as street5_3_0_, order0_.street2 as street6_3_0_, order0_.zip as zip7_3_0_, order0_.delivery_time as delivery8_3_0_, order0_.amount as amount9_3_0_, order0_.payment_token as payment10_3_0_, order0_.restaurant_id as restaur11
3_0, order0_.state as state12_3_0_, order0_.version as version13_3_0_ from orders order0_ where order0_.id=?
ftgo-order-service_1 | 2020-01-01T12:04:58.444762194Z 2020-01-01 12:04:58.444 DEBUG [ftgo-order-service,7d2b5e5f8cc507af,7d2b5e5f8cc507af,true] 1 --- [nio-8080-exec-1] org.hibernate.SQL : select lineitems0_.order_id as order_id1_0_0_, lineitems0_.menu_item_id as menu_
ite2_0_0_, lineitems0_.name as name3_0_0_, lineitems0_.price as price4_0_0_, lineitems0_.quantity as quantity5_0_0_ from order_line_items lineitems0_ where lineitems0_.order_id=?
ftgo-order-service_1 | 2020-01-01T12:04:59.028212300Z 2020-01-01 12:04:59.026 DEBUG [ftgo-order-service,635527ee0f29c373,635527ee0f29c373,true] 1 --- [nio-8080-exec-2] org.hibernate.SQL : select order0_.id as id1_3_0_, order0_.consumer_id as consumer2_3_0_, order0_.ci
ty as city3_3_0_, order0_.delivery_state as delivery4_3_0_, order0_.street1 as street5_3_0_, order0_.street2 as street6_3_0_, order0_.zip as zip7_3_0_, order0_.delivery_time as delivery8_3_0_, order0_.amount as amount9_3_0_, order0_.payment_token as payment10_3_0_, order0_.restaurant_id as restaur11
3_0, order0_.state as state12_3_0_, order0_.version as version13_3_0_ from orders order0_ where order0_.id=?
ftgo-order-service_1 | 2020-01-01T12:04:59.052327578Z 2020-01-01 12:04:59.051 DEBUG [ftgo-order-service,635527ee0f29c373,635527ee0f29c373,true] 1 --- [nio-8080-exec-2] org.hibernate.SQL : select lineitems0_.order_id as order_id1_0_0_, lineitems0_.menu_item_id as menu_
ite2_0_0_, lineitems0_.name as name3_0_0_, lineitems0_.price as price4_0_0_, lineitems0_.quantity as quantity5_0_0_ from order_line_items lineitems0_ where lineitems0_.order_id=?
ftgo-order-service_1 | 2020-01-01T12:04:59.624916792Z 2020-01-01 12:04:59.624 DEBUG [ftgo-order-service,54be3e63d6a425a4,54be3e63d6a425a4,true] 1 --- [nio-8080-exec-3] org.hibernate.SQL : select order0_.id as id1_3_0_, order0_.consumer_id as consumer2_3_0_, order0_.ci
ty as city3_3_0_, order0_.delivery_state as delivery4_3_0_, order0_.street1 as street5_3_0_, order0_.street2 as street6_3_0_, order0_.zip as zip7_3_0_, order0_.delivery_time as delivery8_3_0_, order0_.amount as amount9_3_0_, order0_.payment_token as payment10_3_0_, order0_.restaurant_id as restaur11
3_0, order0_.state as state12_3_0_, order0_.version as version13_3_0_ from orders order0_ where order0_.id=?
ftgo-order-service_1 | 2020-01-01T12:04:59.629189324Z 2020-01-01 12:04:59.628 DEBUG [ftgo-order-service,54be3e63d6a425a4,54be3e63d6a425a4,true] 1 --- [nio-8080-exec-3] org.hibernate.SQL : select lineitems0_.order_id as order_id1_0_0_, lineitems0_.menu_item_id as menu_
ite2_0_0_, lineitems0_.name as name3_0_0_, lineitems0_.price as price4_0_0_, lineitems0_.quantity as quantity5_0_0_ from order_line_items lineitems0_ where lineitems0_.order_id=?
ftgo-order-service_1 | 2020-01-01T12:05:00.183281251Z 2020-01-01 12:05:00.182 DEBUG [ftgo-order-service,3ba63af480d6c110,3ba63af480d6c110,true] 1 --- [nio-8080-exec-4] org.hibernate.SQL : select order0_.id as id1_3_0_, order0_.consumer_id as consumer2_3_0_, order0_.ci
ty as city3_3_0_, order0_.delivery_state as delivery4_3_0_, order0_.street1 as street5_3_0_, order0_.street2 as street6_3_0_, order0_.zip as zip7_3_0_, order0_.delivery_time as delivery8_3_0_, order0_.amount as amount9_3_0_, order0_.payment_token as payment10_3_0_, order0_.restaurant_id as restaur11
3_0, order0_.state as state12_3_0_, order0_.version as version13_3_0_ from orders order0_ where order0_.id=?
ftgo-order-service_1 | 2020-01-01T12:05:00.187106458Z 2020-01-01 12:05:00.186 DEBUG [ftgo-order-service,3ba63af480d6c110,3ba63af480d6c110,true] 1 --- [nio-8080-exec-4] org.hibernate.SQL : select lineitems0_.order_id as order_id1_0_0_, lineitems0_.menu_item_id as menu_
ite2_0_0_, lineitems0_.name as name3_0_0_, lineitems0_.price as price4_0_0_, lineitems0_.quantity as quantity5_0_0_ from order_line_items lineitems0_ where lineitems0_.order_id=?
ftgo-order-service_1 | 2020-01-01T12:05:00.738243051Z 2020-01-01 12:05:00.737 DEBUG [ftgo-order-service,c979273db4ab0e33,c979273db4ab0e33,true] 1 --- [nio-8080-exec-5] org.hibernate.SQL : select order0_.id as id1_3_0_, order0_.consumer_id as consumer2_3_0_, order0_.ci
ty as city3_3_0_, order0_.delivery_state as delivery4_3_0_, order0_.street1 as street5_3_0_, order0_.street2 as street6_3_0_, order0_.zip as zip7_3_0_, order0_.delivery_time as delivery8_3_0_, order0_.amount as amount9_3_0_, order0_.payment_token as payment10_3_0_, order0_.restaurant_id as restaur11
3_0, order0_.state as state12_3_0_, order0_.version as version13_3_0_ from orders order0_ where order0_.id=?
ftgo-order-service_1 | 2020-01-01T12:05:00.741265195Z 2020-01-01 12:05:00.740 DEBUG [ftgo-order-service,c979273db4ab0e33,c979273db4ab0e33,true] 1 --- [nio-8080-exec-5] org.hibernate.SQL : select lineitems0_.order_id as order_id1_0_0_, lineitems0_.menu_item_id as menu_
ite2_0_0_, lineitems0_.name as name3_0_0_, lineitems0_.price as price4_0_0_, lineitems0_.quantity as quantity5_0_0_ from order_line_items lineitems0_ where lineitems0_.order_id=?
ftgo-order-service_1 | 2020-01-01T12:05:01.291515081Z 2020-01-01 12:05:01.291 DEBUG [ftgo-order-service,f818d5b42c75724f,f818d5b42c75724f,true] 1 --- [nio-8080-exec-7] org.hibernate.SQL : select order0_.id as id1_3_0_, order0_.consumer_id as consumer2_3_0_, order0_.ci
ty as city3_3_0_, order0_.delivery_state as delivery4_3_0_, order0_.street1 as street5_3_0_, order0_.street2 as street6_3_0_, order0_.zip as zip7_3_0_, order0_.delivery_time as delivery8_3_0_, order0_.amount as amount9_3_0_, order0_.payment_token as payment10_3_0_, order0_.restaurant_id as restaur11
3_0, order0_.state as state12_3_0_, order0_.version as version13_3_0_ from orders order0_ where order0_.id=?
ftgo-order-service_1 | 2020-01-01T12:05:01.298236971Z 2020-01-01 12:05:01.297 DEBUG [ftgo-order-service,f818d5b42c75724f,f818d5b42c75724f,true] 1 --- [nio-8080-exec-7] org.hibernate.SQL : select lineitems0_.order_id as order_id1_0_0_, lineitems0_.menu_item_id as menu_
ite2_0_0_, lineitems0_.name as name3_0_0_, lineitems0_.price as price4_0_0_, lineitems0_.quantity as quantity5_0_0_ from order_line_items lineitems0_ where lineitems0_.order_id=?
ftgo-order-service_1 | 2020-01-01T12:05:01.848311601Z 2020-01-01 12:05:01.847 DEBUG [ftgo-order-service,530a27b5c0bff4cb,530a27b5c0bff4cb,true] 1 --- [nio-8080-exec-8] org.hibernate.SQL : select order0_.id as id1_3_0_, order0_.consumer_id as consumer2_3_0_, order0_.ci
ty as city3_3_0_, order0_.delivery_state as delivery4_3_0_, order0_.street1 as street5_3_0_, order0_.street2 as street6_3_0_, order0_.zip as zip7_3_0_, order0_.delivery_time as delivery8_3_0_, order0_.amount as amount9_3_0_, order0_.payment_token as payment10_3_0_, order0_.restaurant_id as restaur11
3_0, order0_.state as state12_3_0_, order0_.version as version13_3_0_ from orders order0_ where order0_.id=?
ftgo-order-service_1 | 2020-01-01T12:05:01.853157062Z 2020-01-01 12:05:01.852 DEBUG [ftgo-order-service,530a27b5c0bff4cb,530a27b5c0bff4cb,true] 1 --- [nio-8080-exec-8] org.hibernate.SQL : select lineitems0_.order_id as order_id1_0_0_, lineitems0_.menu_item_id as menu_
ite2_0_0_, lineitems0_.name as name3_0_0_, lineitems0_.price as price4_0_0_, lineitems0_.quantity as quantity5_0_0_ from order_line_items lineitems0_ where lineitems0_.order_id=?
ftgo-order-service_1 | 2020-01-01T12:05:02.406786376Z 2020-01-01 12:05:02.406 DEBUG [ftgo-order-service,acec85128513a62d,acec85128513a62d,true] 1 --- [nio-8080-exec-9] org.hibernate.SQL : select order0_.id as id1_3_0_, order0_.consumer_id as consumer2_3_0_, order0_.ci
ty as city3_3_0_, order0_.delivery_state as delivery4_3_0_, order0_.street1 as street5_3_0_, order0_.street2 as street6_3_0_, order0_.zip as zip7_3_0_, order0_.delivery_time as delivery8_3_0_, order0_.amount as amount9_3_0_, order0_.payment_token as payment10_3_0_, order0_.restaurant_id as restaur11
3_0, order0_.state as state12_3_0_, order0_.version as version13_3_0_ from orders order0_ where order0_.id=?
ftgo-order-service_1 | 2020-01-01T12:05:02.420603088Z 2020-01-01 12:05:02.414 DEBUG [ftgo-order-service,acec85128513a62d,acec85128513a62d,true] 1 --- [nio-8080-exec-9] org.hibernate.SQL : select lineitems0_.order_id as order_id1_0_0_, lineitems0_.menu_item_id as menu_
ite2_0_0_, lineitems0_.name as name3_0_0_, lineitems0_.price as price4_0_0_, lineitems0_.quantity as quantity5_0_0_ from order_line_items lineitems0_ where lineitems0_.order_id=?
ftgo-order-service_1 | 2020-01-01T12:05:02.982098226Z 2020-01-01 12:05:02.981 DEBUG [ftgo-order-service,594de5f3edf3c0f5,594de5f3edf3c0f5,true] 1 --- [nio-8080-exec-1] org.hibernate.SQL : select order0_.id as id1_3_0_, order0_.consumer_id as consumer2_3_0_, order0_.ci
ty as city3_3_0_, order0_.delivery_state as delivery4_3_0_, order0_.street1 as street5_3_0_, order0_.street2 as street6_3_0_, order0_.zip as zip7_3_0_, order0_.delivery_time as delivery8_3_0_, order0_.amount as amount9_3_0_, order0_.payment_token as payment10_3_0_, order0_.restaurant_id as restaur11
3_0, order0_.state as state12_3_0_, order0_.version as version13_3_0_ from orders order0_ where order0_.id=?
ftgo-order-service_1 | 2020-01-01T12:05:03.006009860Z 2020-01-01 12:05:03.005 DEBUG [ftgo-order-service,594de5f3edf3c0f5,594de5f3edf3c0f5,true] 1 --- [nio-8080-exec-1] org.hibernate.SQL : select lineitems0_.order_id as order_id1_0_0_, lineitems0_.menu_item_id as menu_
ite2_0_0_, lineitems0_.name as name3_0_0_, lineitems0_.price as price4_0_0_, lineitems0_.quantity as quantity5_0_0_ from order_line_items lineitems0_ where lineitems0_.order_id=?
ftgo-order-service_1 | 2020-01-01T12:05:03.582746767Z 2020-01-01 12:05:03.579 DEBUG [ftgo-order-service,5337713a17ce6121,5337713a17ce6121,true] 1 --- [nio-8080-exec-2] org.hibernate.SQL : select order0_.id as id1_3_0_, order0_.consumer_id as consumer2_3_0_, order0_.ci
ty as city3_3_0_, order0_.delivery_state as delivery4_3_0_, order0_.street1 as street5_3_0_, order0_.street2 as street6_3_0_, order0_.zip as zip7_3_0_, order0_.delivery_time as delivery8_3_0_, order0_.amount as amount9_3_0_, order0_.payment_token as payment10_3_0_, order0_.restaurant_id as restaur11
3_0, order0_.state as state12_3_0_, order0_.version as version13_3_0_ from orders order0_ where order0_.id=?
ftgo-order-service_1 | 2020-01-01T12:05:03.584168383Z 2020-01-01 12:05:03.583 DEBUG [ftgo-order-service,5337713a17ce6121,5337713a17ce6121,true] 1 --- [nio-8080-exec-2] org.hibernate.SQL : select lineitems0_.order_id as order_id1_0_0_, lineitems0_.menu_item_id as menu_
ite2_0_0_, lineitems0_.name as name3_0_0_, lineitems0_.price as price4_0_0_, lineitems0_.quantity as quantity5_0_0_ from order_line_items lineitems0_ where lineitems0_.order_id=?
ftgo-order-service_1 | 2020-01-01T12:05:04.146516055Z 2020-01-01 12:05:04.146 DEBUG [ftgo-order-service,75a5abba7723773e,75a5abba7723773e,true] 1 --- [nio-8080-exec-3] org.hibernate.SQL : select order0_.id as id1_3_0_, order0_.consumer_id as consumer2_3_0_, order0_.ci
ty as city3_3_0_, order0_.delivery_state as delivery4_3_0_, order0_.street1 as street5_3_0_, order0_.street2 as street6_3_0_, order0_.zip as zip7_3_0_, order0_.delivery_time as delivery8_3_0_, order0_.amount as amount9_3_0_, order0_.payment_token as payment10_3_0_, order0_.restaurant_id as restaur11
3_0, order0_.state as state12_3_0_, order0_.version as version13_3_0_ from orders order0_ where order0_.id=?
ftgo-order-service_1 | 2020-01-01T12:05:04.157335754Z 2020-01-01 12:05:04.156 DEBUG [ftgo-order-service,75a5abba7723773e,75a5abba7723773e,true] 1 --- [nio-8080-exec-3] org.hibernate.SQL : select lineitems0_.order_id as order_id1_0_0_, lineitems0_.menu_item_id as menu_
ite2_0_0_, lineitems0_.name as name3_0_0_, lineitems0_.price as price4_0_0_, lineitems0_.quantity as quantity5_0_0_ from order_line_items lineitems0_ where lineitems0_.order_id=?
ftgo-order-service_1 | 2020-01-01T12:05:04.710929917Z 2020-01-01 12:05:04.710 DEBUG [ftgo-order-service,38789eb02f8bbcc3,38789eb02f8bbcc3,true] 1 --- [nio-8080-exec-4] org.hibernate.SQL : select order0_.id as id1_3_0_, order0_.consumer_id as consumer2_3_0_, order0_.ci
ty as city3_3_0_, order0_.delivery_state as delivery4_3_0_, order0_.street1 as street5_3_0_, order0_.street2 as street6_3_0_, order0_.zip as zip7_3_0_, order0_.delivery_time as delivery8_3_0_, order0_.amount as amount9_3_0_, order0_.payment_token as payment10_3_0_, order0_.restaurant_id as restaur11
3_0, order0_.state as state12_3_0_, order0_.version as version13_3_0_ from orders order0_ where order0_.id=?
ftgo-order-service_1 | 2020-01-01T12:05:04.714133632Z 2020-01-01 12:05:04.713 DEBUG [ftgo-order-service,38789eb02f8bbcc3,38789eb02f8bbcc3,true] 1 --- [nio-8080-exec-4] org.hibernate.SQL : select lineitems0_.order_id as order_id1_0_0_, lineitems0_.menu_item_id as menu_
ite2_0_0_, lineitems0_.name as name3_0_0_, lineitems0_.price as price4_0_0_, lineitems0_.quantity as quantity5_0_0_ from order_line_items lineitems0_ where lineitems0_.order_id=?
ftgo-order-service_1 | 2020-01-01T12:05:05.268694042Z 2020-01-01 12:05:05.268 DEBUG [ftgo-order-service,63547732328eb93a,63547732328eb93a,true] 1 --- [nio-8080-exec-5] org.hibernate.SQL : select order0_.id as id1_3_0_, order0_.consumer_id as consumer2_3_0_, order0_.ci
ty as city3_3_0_, order0_.delivery_state as delivery4_3_0_, order0_.street1 as street5_3_0_, order0_.street2 as street6_3_0_, order0_.zip as zip7_3_0_, order0_.delivery_time as delivery8_3_0_, order0_.amount as amount9_3_0_, order0_.payment_token as payment10_3_0_, order0_.restaurant_id as restaur11
3_0, order0_.state as state12_3_0_, order0_.version as version13_3_0_ from orders order0_ where order0_.id=?
ftgo-order-service_1 | 2020-01-01T12:05:05.271916844Z 2020-01-01 12:05:05.271 DEBUG [ftgo-order-service,63547732328eb93a,63547732328eb93a,true] 1 --- [nio-8080-exec-5] org.hibernate.SQL : select lineitems0_.order_id as order_id1_0_0_, lineitems0_.menu_item_id as menu_
ite2_0_0_, lineitems0_.name as name3_0_0_, lineitems0_.price as price4_0_0_, lineitems0_.quantity as quantity5_0_0_ from order_line_items lineitems0_ where lineitems0_.order_id=?
ftgo-order-service_1 | 2020-01-01T12:05:05.825961587Z 2020-01-01 12:05:05.824 DEBUG [ftgo-order-service,b246537e28b2a514,b246537e28b2a514,true] 1 --- [nio-8080-exec-7] org.hibernate.SQL : select order0_.id as id1_3_0_, order0_.consumer_id as consumer2_3_0_, order0_.ci
ty as city3_3_0_, order0_.delivery_state as delivery4_3_0_, order0_.street1 as street5_3_0_, order0_.street2 as street6_3_0_, order0_.zip as zip7_3_0_, order0_.delivery_time as delivery8_3_0_, order0_.amount as amount9_3_0_, order0_.payment_token as payment10_3_0_, order0_.restaurant_id as restaur11
3_0, order0_.state as state12_3_0_, order0_.version as version13_3_0_ from orders order0_ where order0_.id=?
ftgo-order-service_1 | 2020-01-01T12:05:05.832252167Z 2020-01-01 12:05:05.831 DEBUG [ftgo-order-service,b246537e28b2a514,b246537e28b2a514,true] 1 --- [nio-8080-exec-7] org.hibernate.SQL : select lineitems0_.order_id as order_id1_0_0_, lineitems0_.menu_item_id as menu_
ite2_0_0_, lineitems0_.name as name3_0_0_, lineitems0_.price as price4_0_0_, lineitems0_.quantity as quantity5_0_0_ from order_line_items lineitems0_ where lineitems0_.order_id=?
ftgo-order-service_1 | 2020-01-01T12:05:06.389655486Z 2020-01-01 12:05:06.389 DEBUG [ftgo-order-service,e45dac08b60f7f22,e45dac08b60f7f22,true] 1 --- [nio-8080-exec-8] org.hibernate.SQL : select order0_.id as id1_3_0_, order0_.consumer_id as consumer2_3_0_, order0_.ci
ty as city3_3_0_, order0_.delivery_state as delivery4_3_0_, order0_.street1 as street5_3_0_, order0_.street2 as street6_3_0_, order0_.zip as zip7_3_0_, order0_.delivery_time as delivery8_3_0_, order0_.amount as amount9_3_0_, order0_.payment_token as payment10_3_0_, order0_.restaurant_id as restaur11
3_0, order0_.state as state12_3_0_, order0_.version as version13_3_0_ from orders order0_ where order0_.id=?
ftgo-order-service_1 | 2020-01-01T12:05:06.394123878Z 2020-01-01 12:05:06.393 DEBUG [ftgo-order-service,e45dac08b60f7f22,e45dac08b60f7f22,true] 1 --- [nio-8080-exec-8] org.hibernate.SQL : select lineitems0_.order_id as order_id1_0_0_, lineitems0_.menu_item_id as menu_
ite2_0_0_, lineitems0_.name as name3_0_0_, lineitems0_.price as price4_0_0_, lineitems0_.quantity as quantity5_0_0_ from order_line_items lineitems0_ where lineitems0_.order_id=?
ftgo-order-service_1 | 2020-01-01T12:05:06.945935748Z 2020-01-01 12:05:06.945 DEBUG [ftgo-order-service,d7ddcfb682042a5c,d7ddcfb682042a5c,true] 1 --- [nio-8080-exec-6] org.hibernate.SQL : select order0_.id as id1_3_0_, order0_.consumer_id as consumer2_3_0_, order0_.ci
ty as city3_3_0_, order0_.delivery_state as delivery4_3_0_, order0_.street1 as street5_3_0_, order0_.street2 as street6_3_0_, order0_.zip as zip7_3_0_, order0_.delivery_time as delivery8_3_0_, order0_.amount as amount9_3_0_, order0_.payment_token as payment10_3_0_, order0_.restaurant_id as restaur11
3_0, order0_.state as state12_3_0_, order0_.version as version13_3_0_ from orders order0_ where order0_.id=?
ftgo-order-service_1 | 2020-01-01T12:05:06.950652771Z 2020-01-01 12:05:06.950 DEBUG [ftgo-order-service,d7ddcfb682042a5c,d7ddcfb682042a5c,true] 1 --- [nio-8080-exec-6] org.hibernate.SQL : select lineitems0_.order_id as order_id1_0_0_, lineitems0_.menu_item_id as menu_
ite2_0_0_, lineitems0_.name as name3_0_0_, lineitems0_.price as price4_0_0_, lineitems0_.quantity as quantity5_0_0_ from order_line_items lineitems0_ where lineitems0_.order_id=?
ftgo-order-service_1 | 2020-01-01T12:05:07.502600847Z 2020-01-01 12:05:07.502 DEBUG [ftgo-order-service,ce5c2f92ae7a51e9,ce5c2f92ae7a51e9,true] 1 --- [io-8080-exec-10] org.hibernate.SQL : select order0_.id as id1_3_0_, order0_.consumer_id as consumer2_3_0_, order0_.ci
ty as city3_3_0_, order0_.delivery_state as delivery4_3_0_, order0_.street1 as street5_3_0_, order0_.street2 as street6_3_0_, order0_.zip as zip7_3_0_, order0_.delivery_time as delivery8_3_0_, order0_.amount as amount9_3_0_, order0_.payment_token as payment10_3_0_, order0_.restaurant_id as restaur11
3_0, order0_.state as state12_3_0_, order0_.version as version13_3_0_ from orders order0_ where order0_.id=?
ftgo-order-service_1 | 2020-01-01T12:05:07.506023587Z 2020-01-01 12:05:07.505 DEBUG [ftgo-order-service,ce5c2f92ae7a51e9,ce5c2f92ae7a51e9,true] 1 --- [io-8080-exec-10] org.hibernate.SQL : select lineitems0_.order_id as order_id1_0_0_, lineitems0_.menu_item_id as menu_
ite2_0_0_, lineitems0_.name as name3_0_0_, lineitems0_.price as price4_0_0_, lineitems0_.quantity as quantity5_0_0_ from order_line_items lineitems0_ where lineitems0_.order_id=?
ftgo-order-service_1 | 2020-01-01T12:05:08.052133045Z 2020-01-01 12:05:08.051 DEBUG [ftgo-order-service,0279cd7db2c17c80,0279cd7db2c17c80,true] 1 --- [nio-8080-exec-1] org.hibernate.SQL : select order0_.id as id1_3_0_, order0_.consumer_id as consumer2_3_0_, order0_.ci
ty as city3_3_0_, order0_.delivery_state as delivery4_3_0_, order0_.street1 as street5_3_0_, order0_.street2 as street6_3_0_, order0_.zip as zip7_3_0_, order0_.delivery_time as delivery8_3_0_, order0_.amount as amount9_3_0_, order0_.payment_token as payment10_3_0_, order0_.restaurant_id as restaur11
3_0, order0_.state as state12_3_0_, order0_.version as version13_3_0_ from orders order0_ where order0_.id=?
ftgo-order-service_1 | 2020-01-01T12:05:08.055248772Z 2020-01-01 12:05:08.054 DEBUG [ftgo-order-service,0279cd7db2c17c80,0279cd7db2c17c80,true] 1 --- [nio-8080-exec-1] org.hibernate.SQL : select lineitems0_.order_id as order_id1_0_0_, lineitems0_.menu_item_id as menu_
ite2_0_0_, lineitems0_.name as name3_0_0_, lineitems0_.price as price4_0_0_, lineitems0_.quantity as quantity5_0_0_ from order_line_items lineitems0_ where lineitems0_.order_id=?

Error in NPM

Got the following error after running docker-compose up -d

` docker-compose up -d
Creating network "ftgo-application_default" with the default driver
Building ftgo-api-gateway-graphql
Step 1/7 : FROM node:9.11.2-alpine
---> a56170f59699
Step 2/7 : COPY package.json .
---> Using cache
---> 481bb34738e9
Step 3/7 : RUN npm install
---> Using cache
---> b13294e828f9
Step 4/7 : COPY tsconfig.json .
---> Using cache
---> 2df4e386e2d4
Step 5/7 : ADD src ./src
---> Using cache
---> 4ce1265636fa
Step 6/7 : RUN npm run build
---> Running in 7fe037457ce3

@ build /
tsc

node_modules/apollo-utilities/lib/util/mergeDeep.d.ts(2,52): error TS2370: A rest parameter must be of an array type.
npm ERR! code ELIFECYCLE
npm ERR! errno 2
npm ERR! @ build: tsc
npm ERR! Exit status 2
npm ERR!
npm ERR! Failed at the @ build script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2019-03-17T15_48_54_295Z-debug.log
ERROR: Service 'ftgo-api-gateway-graphql' failed to build: The command '/bin/sh -c npm run build' returned a non-zero code: 2`

ftgo-api-gateway-graphql is not started - npm run build fails

Hello,

I saw similar issue regarding to NPM in 'Closed Issues', but it seems it's not fixed. Probably some issue with "apollo-link" or "graphql" node modules..? I run "docker-compose up" and process is stopped on ftgo-api-gateway-graphql image. Log is below:

Building ftgo-api-gateway-graphql
Step 1/8 : FROM node:9.11.2-alpine
---> a56170f59699
Step 2/8 : COPY package.json .
---> Using cache
---> eec02734a7f0
Step 3/8 : RUN npm install
---> Using cache
---> aea01fab0a59
Step 4/8 : RUN npm install -g typescript
---> Using cache
---> affb08b85f6f
Step 5/8 : COPY tsconfig.json .
---> Using cache
---> ee7f97b51435
Step 6/8 : ADD src ./src
---> bed2fa2a8f4d
Step 7/8 : RUN npm run build
---> Running in 42b887170e7c

@ build /
tsc

node_modules/apollo-link/lib/types.d.ts(2,30): error TS7016: Could not find a declaration file for module 'graphql/language/ast'. '/node_modules/graphql/lang
Try npm install @types/graphql if it exists or add a new declaration (.d.ts) file containing declare module 'graphql/language/ast';
node_modules/apollo-link/lib/types.d.ts(3,33): error TS7016: Could not find a declaration file for module 'graphql/execution/execute'. '/node_modules/graphql
Try npm install @types/graphql if it exists or add a new declaration (.d.ts) file containing declare module 'graphql/execution/execute';
node_modules/apollo-utilities/lib/directives.d.ts(1,85): error TS7016: Could not find a declaration file for module 'graphql'. '/node_modules/graphql/index.j
Try npm install @types/graphql if it exists or add a new declaration (.d.ts) file containing declare module 'graphql';
node_modules/apollo-utilities/lib/fragments.d.ts(1,30): error TS7016: Could not find a declaration file for module 'graphql'. '/node_modules/graphql/index.js
Try npm install @types/graphql if it exists or add a new declaration (.d.ts) file containing declare module 'graphql';
node_modules/apollo-utilities/lib/getFromAST.d.ts(1,79): error TS7016: Could not find a declaration file for module 'graphql'. '/node_modules/graphql/index.j
Try npm install @types/graphql if it exists or add a new declaration (.d.ts) file containing declare module 'graphql';
node_modules/apollo-utilities/lib/storeUtils.d.ts(1,192): error TS7016: Could not find a declaration file for module 'graphql'. '/node_modules/graphql/index.
Try npm install @types/graphql if it exists or add a new declaration (.d.ts) file containing declare module 'graphql';
node_modules/apollo-utilities/lib/transform.d.ts(1,127): error TS7016: Could not find a declaration file for module 'graphql'. '/node_modules/graphql/index.j
Try npm install @types/graphql if it exists or add a new declaration (.d.ts) file containing declare module 'graphql';
node_modules/apollo-utilities/lib/util/errorHandling.d.ts(1,33): error TS7016: Could not find a declaration file for module 'graphql'. '/node_modules/graphql
Try npm install @types/graphql if it exists or add a new declaration (.d.ts) file containing declare module 'graphql';
node_modules/graphql-tools/dist/Interfaces.d.ts(1,190): error TS7016: Could not find a declaration file for module 'graphql'. '/node_modules/graphql/index.js
Try npm install @types/graphql if it exists or add a new declaration (.d.ts) file containing declare module 'graphql';
node_modules/graphql-tools/dist/mock.d.ts(1,86): error TS7016: Could not find a declaration file for module 'graphql'. '/node_modules/graphql/index.js' impli
Try npm install @types/graphql if it exists or add a new declaration (.d.ts) file containing declare module 'graphql';
node_modules/graphql-tools/dist/schemaGenerator.d.ts(1,103): error TS7016: Could not find a declaration file for module 'graphql'. '/node_modules/graphql/ind
Try npm install @types/graphql if it exists or add a new declaration (.d.ts) file containing declare module 'graphql';
node_modules/graphql-tools/dist/stitching/delegateToSchema.d.ts(1,163): error TS7016: Could not find a declaration file for module 'graphql'. '/node_modules/
Try npm install @types/graphql if it exists or add a new declaration (.d.ts) file containing declare module 'graphql';
node_modules/graphql-tools/dist/stitching/introspectSchema.d.ts(1,31): error TS7016: Could not find a declaration file for module 'graphql'. '/node_modules/g
Try npm install @types/graphql if it exists or add a new declaration (.d.ts) file containing declare module 'graphql';
node_modules/graphql-tools/dist/stitching/makeRemoteExecutableSchema.d.ts(2,68): error TS7016: Could not find a declaration file for module 'graphql'. '/node
Try npm install @types/graphql if it exists or add a new declaration (.d.ts) file containing declare module 'graphql';
node_modules/graphql-tools/dist/stitching/mergeSchemas.d.ts(1,49): error TS7016: Could not find a declaration file for module 'graphql'. '/node_modules/graph
Try npm install @types/graphql if it exists or add a new declaration (.d.ts) file containing declare module 'graphql';
npm ERR! code ELIFECYCLE
npm ERR! errno 2
npm ERR! @ build: tsc
npm ERR! Exit status 2
npm ERR!
npm ERR! Failed at the @ build script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2019-10-02T00_31_36_609Z-debug.log
ERROR: Service 'ftgo-api-gateway-graphql' failed to build: The command '/bin/sh -c npm run build' returned a non-zero code: 2

==============
PS. Here is Dockerfile:

FROM node:9.11.2-alpine
COPY package.json .
RUN npm install
RUN npm install -g typescript
COPY tsconfig.json .
ADD src ./src
RUN npm run build
CMD npm run start

If I comment line with "RUN npm run build", then process is going further, all images are created and started. But I guess there will be no UI...

Will be grateful for advice.
Andrew

Zipkin - is spammed by api-gateway's healthcheck and other services are not reporting to Zipkin

Hi Chris,

there are some issues with Zipkin tracing config on my opinion:

  1. ftgo-api-gateway is spamming to Zipkin with healthcheck spans.
    If I remove this line in api-gateway's application.properties:
    spring.sleuth.web.skipPattern=(^health.*)
    then health-check spamm is stopped and all is OK.

I guess that this filter is unnecessary. Here is excerpt from Spring Cloud Sleuth docs:
== "By default, all the spring boot actuator endpoints are automatically added to the skip pattern." ==
So this filter line, when is active, overrides/cancels standard Sleuth filters, which filter actuator endpoints by default.

  1. Other business services (Consumer, Restaurant, Kitchen, Accounting, OrderHistory) are not reporting to Zipkin.
    If to add these lines below to docker-compose.yml to "environment"-section of all these services, analogously with OrderService, then all is OK and every service starts reporting to Zipkin:
    SPRING_SLEUTH_SAMPLER_PROBABILITY: 1
    SPRING_ZIPKIN_BASE_URL: http://zipkin:9411/

Thanks.

OrderServiceGrpc missing

Hi Chris,
When I checked out your git source, I found OrderServiceGrpc class is missing. Can you fix this?

Fail to run the application in docker

First of all, Thanks for the excellent book.
I ran the application in docker following the building steps.
Each step ran successfully, but in the end, I can neither visit the swagger UI page nor access the service with curl.
I checked the docker containers:
2018-11-26 6 35 06
And I found that the functional service is in unhealthy state. Any idea about what's going wrong?

ftgo-accounting-service has a mix of Spring Boot 2.0.x and 2.1.x

jar tf ftgo-accounting-service/build/libs/ftgo-accounting-service.jar | grep spring-boot
BOOT-INF/lib/spring-boot-starter-data-jpa-2.1.1.RELEASE.jar
BOOT-INF/lib/spring-boot-starter-actuator-2.1.1.RELEASE.jar
BOOT-INF/lib/spring-boot-starter-web-2.1.1.RELEASE.jar
BOOT-INF/lib/spring-boot-starter-aop-2.0.3.RELEASE.jar
BOOT-INF/lib/spring-boot-starter-jdbc-2.0.3.RELEASE.jar
BOOT-INF/lib/spring-boot-starter-json-2.0.3.RELEASE.jar
BOOT-INF/lib/spring-boot-starter-2.0.3.RELEASE.jar
BOOT-INF/lib/spring-boot-actuator-autoconfigure-2.0.3.RELEASE.jar
BOOT-INF/lib/spring-boot-starter-tomcat-2.0.3.RELEASE.jar
BOOT-INF/lib/spring-boot-autoconfigure-2.0.3.RELEASE.jar
BOOT-INF/lib/spring-boot-actuator-2.0.3.RELEASE.jar
BOOT-INF/lib/spring-boot-2.0.3.RELEASE.jar
BOOT-INF/lib/spring-boot-starter-logging-2.0.3.RELEASE.jar

eventuate-tram/eventuate-tram-core#29 (comment)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.