Giter Site home page Giter Site logo

eventuate-examples-java-spring-todo-list's Introduction

An Eventuate project

This project is part of Eventuate, which is a microservices collaboration platform.

Todo List example application

The Todo List application is the hello world application for the Eventuate™ event sourcing. It illustrates how you can use the platform to write an application with a microservices architecture that uses Event Sourcing and Command Query Responsibility Segregation (CQRS). The Todo List application lets users maintain a todo list.

The Todo List application is a Java and Spring Boot application built using Eventuate™'s Event Sourcing based programming model. Todos are implemented by an Event Sourcing-based TodoAggregate. The aggregate's events are persisted in the Eventuate event store. The application also maintains a materialized view of the data in MySQL.

Don't forget to take a look at the other Eventuate example applications.

Got questions?

Don't hesitate to create an issue or see

Architecture

The Todo application has a microservice architecture. It is written using the Eventuate Client Framework for Java, which provides an event sourcing based programming model. The following diagram shows the Todo List application architecture:

The application consists of the following:

  • Todo service - a Java and Spring Boot-based service that has a HATEOAS-style REST API for creating, updating and querying todo list items. It uses Eventuate to persist aggregates using event sourcing.
  • Todo view service - a Java and Spring Boot-based service that provides a REST API for querying todos. It implements a Command Query Responsibility Segregation (CQRS) view of todos using MySQL. MySQL is kept up to date by subscribing to events produced by the Todo service.
  • MySQL database - stores the CQRS view of todo list items.

Note: for simplicity, the Todo list application can be deployed as a monolithic application.

Building and running the application

First, build the application

./gradlew assemble

Next, launch the services using Docker Compose:

export DOCKER_HOST_IP=...
./gradlew <database-mode>ComposeBuild
./gradlew <database-mode>ComposeUp

Where database-mode is one of:

  • mysqlbinlog - use MySQL with Binlog-based event publishing
  • postgreswal - use Postgres with Postgres WAL-based event publishing
  • postgrespolling - use Postgres with generic JDBC polling-based event publishing

Note: You need to set DOCKER_HOST_IP before running Docker Compose. This must be an IP address or resolvable hostname. It cannot be localhost. See this guide to setting DOCKER_HOST_IP for more information.

Using the application

Once the application has started, you can use the application via the Swagger UI.

  • http://${DOCKER_HOST_IP}:8081/swagger-ui.html - the command-side service
  • http://${DOCKER_HOST_IP}:8082/swagger-ui.html - the query-side service

Got questions?

Don't hesitate to create an issue or see

eventuate-examples-java-spring-todo-list's People

Contributors

cer avatar dartartem avatar dartpopikyardo 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

eventuate-examples-java-spring-todo-list's Issues

ERROR: for commandsideservice b'i/o timeout'

Hello Everyone,
I tried run this example in windows power shell, and got below error:

Use 'docker scan' to run Snyk tests against images to find vulnerabilities and learn how to fix them
Creating network "eventuate-examples-java-spring-todo-list_default" with the default driver
Creating eventuate-examples-java-spring-todo-list_mysql_1 ...
Creating eventuate-examples-java-spring-todo-list_zookeeper_1 ...
Creating eventuate-examples-java-spring-todo-list_zookeeper_1 ... done
Creating eventuate-examples-java-spring-todo-list_kafka_1     ...
Creating eventuate-examples-java-spring-todo-list_mysql_1     ... done
Creating eventuate-examples-java-spring-todo-list_kafka_1     ... done
Creating eventuate-examples-java-spring-todo-list_querysideservice_1 ...
Creating eventuate-examples-java-spring-todo-list_cdcservice_1       ...
Creating eventuate-examples-java-spring-todo-list_cdcservice_1       ... done
Creating eventuate-examples-java-spring-todo-list_querysideservice_1 ... done

ERROR: for commandsideservice  b'i/o timeout'
Encountered errors while bringing up the project.
Stopping eventuate-examples-java-spring-todo-list_querysideservice_1 ...
Stopping eventuate-examples-java-spring-todo-list_cdcservice_1       ...
Stopping eventuate-examples-java-spring-todo-list_kafka_1            ...
Stopping eventuate-examples-java-spring-todo-list_zookeeper_1        ...
Stopping eventuate-examples-java-spring-todo-list_mysql_1            ...
Stopping eventuate-examples-java-spring-todo-list_querysideservice_1 ... done
Stopping eventuate-examples-java-spring-todo-list_cdcservice_1       ... done
Stopping eventuate-examples-java-spring-todo-list_mysql_1            ... done
Stopping eventuate-examples-java-spring-todo-list_kafka_1            ... done
Stopping eventuate-examples-java-spring-todo-list_zookeeper_1        ... done

however, I can run the customer order example successfully
any advice? Thanks a lot

Simplify the project

Principles to follow:

  • A module per service, e.g. customer-service - instead of 3+/service
    
  • Discarded support for monolith - not important - that enables the module structure to be simpler
    
  • Simpler, more sensible naming conventions - no command-side, query-side, ..., instead - e.g. customer-service
    
  • Each service has an application.properties that defines some sensible defaults - simplifies the amount of configuration needed in docker-compose.yml 
    

Fail to Assemble the project in Windows

Hi,

When I run command : gradlew assemble, I got below error message, Do I missed any prerequisite step?
error shot
also my JAVA version is 1.8 as required:
Java Version
OS info:
image

Regards,
Guoquan

Command mysqlbinlogComposeUp FAILED

Hi:

 I dowloaded the fixed version, but the command mysqlbinlogComposeUp FAILED. The error trace is the following: 

`

Task :mysqlbinlogComposeUp
zookeeper uses an image, skipping
kafka uses an image, skipping
cdcservice uses an image, skipping
Building mysql
Building commandsideservice
Building querysideservice
Creating network "eventuate-examples-java-spring-todo-list-development_default" with the default driver
Creating eventuate-examples-java-spring-todo-list-development_mysql_1 ...
Creating eventuate-examples-java-spring-todo-list-development_zookeeper_1 ...
Creating eventuate-examples-java-spring-todo-list-development_mysql_1 ... done
Creating eventuate-examples-java-spring-todo-list-development_zookeeper_1 ... done
Creating eventuate-examples-java-spring-todo-list-development_kafka_1 ...
Creating eventuate-examples-java-spring-todo-list-development_kafka_1 ... done
Creating eventuate-examples-java-spring-todo-list-development_querysideservice_1 ...
Creating eventuate-examples-java-spring-todo-list-development_commandsideservice_1 ...
Creating eventuate-examples-java-spring-todo-list-development_cdcservice_1 ...
Creating eventuate-examples-java-spring-todo-list-development_querysideservice_1 ... done
Creating eventuate-examples-java-spring-todo-list-development_commandsideservice_1 ... done
Creating eventuate-examples-java-spring-todo-list-development_cdcservice_1 ... done
More forwarded TCP ports for service 'zookeeper:2181 [[HostIp:0.0.0.0, HostPort:2181], [HostIp:::, HostPort:2181]]'. Will use the first one.
More forwarded TCP ports for service 'kafka:29092 [[HostIp:0.0.0.0, HostPort:29092], [HostIp:::, HostPort:29092]]'. Will use the first one.
More forwarded TCP ports for service 'kafka:9092 [[HostIp:0.0.0.0, HostPort:9092], [HostIp:::, HostPort:9092]]'. Will use the first one.
More forwarded TCP ports for service 'mysql:3306 [[HostIp:0.0.0.0, HostPort:3306], [HostIp:::, HostPort:3306]]'. Will use the first one.
More forwarded TCP ports for service 'cdcservice:8080 [[HostIp:0.0.0.0, HostPort:8099], [HostIp:::, HostPort:8099]]'. Will use the first one.
More forwarded TCP ports for service 'commandsideservice:8080 [[HostIp:0.0.0.0, HostPort:8081], [HostIp:::, HostPort:8081]]'. Will use the first one.
More forwarded TCP ports for service 'querysideservice:8080 [[HostIp:0.0.0.0, HostPort:8082], [HostIp:::, HostPort:8082]]'. Will use the first one.
Waiting for zookeeper_1 to become healthy (it's starting)
Waiting for zookeeper_1 to become healthy (it's starting)
Waiting for zookeeper_1 to become healthy (it's starting)
zookeeper_1 health state reported as 'healthy' - continuing...
Waiting for kafka_1 to become healthy (it's starting)
Waiting for kafka_1 to become healthy (it's unhealthy)
Stopping eventuate-examples-java-spring-todo-list-development_cdcservice_1 ...
Stopping eventuate-examples-java-spring-todo-list-development_mysql_1 ...
Stopping eventuate-examples-java-spring-todo-list-development_zookeeper_1 ...
Stopping eventuate-examples-java-spring-todo-list-development_cdcservice_1 ... done
Stopping eventuate-examples-java-spring-todo-list-development_mysql_1 ... done
Stopping eventuate-examples-java-spring-todo-list-development_zookeeper_1 ... done
Removing eventuate-examples-java-spring-todo-list-development_cdcservice_1 ...
Removing eventuate-examples-java-spring-todo-list-development_commandsideservice_1 ...
Removing eventuate-examples-java-spring-todo-list-development_querysideservice_1 ...
Removing eventuate-examples-java-spring-todo-list-development_kafka_1 ...
Removing eventuate-examples-java-spring-todo-list-development_mysql_1 ...
Removing eventuate-examples-java-spring-todo-list-development_zookeeper_1 ...
Removing eventuate-examples-java-spring-todo-list-development_querysideservice_1 ... done
Removing eventuate-examples-java-spring-todo-list-development_commandsideservice_1 ... done
Removing eventuate-examples-java-spring-todo-list-development_kafka_1 ... done
Removing eventuate-examples-java-spring-todo-list-development_cdcservice_1 ... done
Removing eventuate-examples-java-spring-todo-list-development_zookeeper_1 ... done
Removing eventuate-examples-java-spring-todo-list-development_mysql_1 ... done
Removing network eventuate-examples-java-spring-todo-list-development_default

Task :mysqlbinlogComposeUp FAILED

FAILURE: Build failed with an exception.

  • What went wrong:
    Execution failed for task ':mysqlbinlogComposeUp'.

Container 6a211f8fd3349851df76afe537ae30ab27034d9c543f3050a8af0d6514425321 of kafka_1 is not running nor restarting. Logs:
[2022-05-26 17:18:08,740] INFO Registered kafka:type=kafka.Log4jController MBean (kafka.utils.Log4jControllerRegistration$)
[2022-05-26 17:18:09,322] INFO Setting -D jdk.tls.rejectClientInitiatedRenegotiation=true to disable client-initiated TLS renegotiation (org.apache.zookeeper.common.X509Util)
[2022-05-26 17:18:09,562] INFO Registered signal handlers for TERM, INT, HUP (org.apache.kafka.common.utils.LoggingSignalHandler)
[2022-05-26 17:18:09,566] INFO starting (kafka.server.KafkaServer)
[2022-05-26 17:18:09,567] INFO Connecting to zookeeper on zookeeper:2181 (kafka.server.KafkaServer)
[2022-05-26 17:18:09,688] INFO [ZooKeeperClient Kafka server] Initializing a new session to zookeeper:2181. (kafka.zookeeper.ZooKeeperClient)
[2022-05-26 17:18:09,706] INFO Client environment:zookeeper.version=3.5.9-83df9301aa5c2a5d284a9940177808c01bc35cef, built on 01/06/2021 20:03 GMT (org.apache.zookeeper.ZooKeeper)
[2022-05-26 17:18:09,707] INFO Client environment:host.name=6a211f8fd334 (org.apache.zookeeper.ZooKeeper)
[2022-05-26 17:18:09,707] INFO Client environment:java.version=1.8.0_322 (org.apache.zookeeper.ZooKeeper)
[2022-05-26 17:18:09,707] INFO Client environment:java.vendor=Amazon.com Inc. (org.apache.zookeeper.ZooKeeper)
[2022-05-26 17:18:09,707] INFO Client environment:java.home=/usr/lib/jvm/java-1.8.0-amazon-corretto/jre (org.apache.zookeeper.ZooKeeper)
[2022-05-26 17:18:09,707] INFO Client environment:java.class.path=/usr/local/kafka_2.13-2.8.1/bin/../libs/activation-1.1.1.jar:/usr/local/kafka_2.13-2.8.1/bin/../libs/aopalliance-repackaged-2.6.1.jar:/usr/local/kafka_2.13-2.8.1/bin/../libs/argparse4j-0.7.0.jar:/usr/local/kafka_2.13-2.8.1/bin/../libs/audience-annotations-0.5.0.jar:/usr/local/kafka_2.13-2.8.1/bin/../libs/commons-cli-1.4.jar:/usr/local/kafka_2.13-2.8.1/bin/../libs/commons-lang3-3.8.1.jar:/usr/local/kafka_2.13-2.8.1/bin/../libs/connect-api-2.8.1.jar:/usr/local/kafka_2.13-2.8.1/bin/../libs/connect-basic-auth-extension-2.8.1.jar:/usr/local/kafka_2.13-2.8.1/bin/../libs/connect-file-2.8.1.jar:/usr/local/kafka_2.13-2.8.1/bin/../libs/connect-json-2.8.1.jar:/usr/local/kafka_2.13-2.8.1/bin/../libs/connect-mirror-2.8.1.jar:/usr/local/kafka_2.13-2.8.1/bin/../libs/connect-mirror-client-2.8.1.jar:/usr/local/kafka_2.13-2.8.1/bin/../libs/connect-runtime-2.8.1.jar:/usr/local/kafka_2.13-2.8.1/bin/../libs/connect-transforms-2.8.1.jar:/usr/local/kafka_2.13-2.8.1/bin/../libs/hk2-api-2.6.1.jar:/usr/local/kafka_2.13-2.8.1/bin/../libs/hk2-locator-2.6.1.jar:/usr/local/kafka_2.13-2.8.1/bin/../libs/hk2-utils-2.6.1.jar:/usr/local/kafka_2.13-2.8.1/bin/../libs/jackson-annotations-2.10.5.jar:/usr/local/kafka_2.13-2.8.1/bin/../libs/jackson-core-2.10.5.jar:/usr/local/kafka_2.13-2.8.1/bin/../libs/jackson-databind-2.10.5.1.jar:/usr/local/kafka_2.13-2.8.1/bin/../libs/jackson-dataformat-csv-2.10.5.jar:/usr/local/kafka_2.13-2.8.1/bin/../libs/jackson-datatype-jdk8-2.10.5.jar:/usr/local/kafka_2.13-2.8.1/bin/../libs/jackson-jaxrs-base-2.10.5.jar:/usr/local/kafka_2.13-2.8.1/bin/../libs/jackson-jaxrs-json-provider-2.10.5.jar:/usr/local/kafka_2.13-2.8.1/bin/../libs/jackson-module-jaxb-annotations-2.10.5.jar:/usr/local/kafka_2.13-2.8.1/bin/../libs/jackson-module-paranamer-2.10.5.jar:/usr/local/kafka_2.13-2.8.1/bin/../libs/jackson-module-scala_2.13-2.10.5.jar:/usr/local/kafka_2.13-2.8.1/bin/../libs/jakarta.activation-api-1.2.1.jar:/usr/local/kafka_2.13-2.8.1/bin/../libs/jakarta.annotation-api-1.3.5.jar:/usr/local/kafka_2.13-2.8.1/bin/../libs/jakarta.inject-2.6.1.jar:/usr/local/kafka_2.13-2.8.1/bin/../libs/jakarta.validation-api-2.0.2.jar:/usr/local/kafka_2.13-2.8.1/bin/../libs/jakarta.ws.rs-api-2.1.6.jar:/usr/local/kafka_2.13-2.8.1/bin/../libs/jakarta.xml.bind-api-2.3.2.jar:/usr/local/kafka_2.13-2.8.1/bin/../libs/javassist-3.27.0-GA.jar:/usr/local/kafka_2.13-2.8.1/bin/../libs/javax.servlet-api-3.1.0.jar:/usr/local/kafka_2.13-2.8.1/bin/../libs/javax.ws.rs-api-2.1.1.jar:/usr/local/kafka_2.13-2.8.1/bin/../libs/jaxb-api-2.3.0.jar:/usr/local/kafka_2.13-2.8.1/bin/../libs/jersey-client-2.34.jar:/usr/local/kafka_2.13-2.8.1/bin/../libs/jersey-common-2.34.jar:/usr/local/kafka_2.13-2.8.1/bin/../libs/jersey-container-servlet-2.34.jar:/usr/local/kafka_2.13-2.8.1/bin/../libs/jersey-container-servlet-core-2.34.jar:/usr/local/kafka_2.13-2.8.1/bin/../libs/jersey-hk2-2.34.jar:/usr/local/kafka_2.13-2.8.1/bin/../libs/jersey-server-2.34.jar:/usr/local/kafka_2.13-2.8.1/bin/../libs/jetty-client-9.4.43.v20210629.jar:/usr/local/kafka_2.13-2.8.1/bin/../libs/jetty-continuation-9.4.43.v20210629.jar:/usr/local/kafka_2.13-2.8.1/bin/../libs/jetty-http-9.4.43.v20210629.jar:/usr/local/kafka_2.13-2.8.1/bin/../libs/jetty-io-9.4.43.v20210629.jar:/usr/local/kafka_2.13-2.8.1/bin/../libs/jetty-security-9.4.43.v20210629.jar:/usr/local/kafka_2.13-2.8.1/bin/../libs/jetty-server-9.4.43.v20210629.jar:/usr/local/kafka_2.13-2.8.1/bin/../libs/jetty-servlet-9.4.43.v20210629.jar:/usr/local/kafka_2.13-2.8.1/bin/../libs/jetty-servlets-9.4.43.v20210629.jar:/usr/local/kafka_2.13-2.8.1/bin/../libs/jetty-util-9.4.43.v20210629.jar:/usr/local/kafka_2.13-2.8.1/bin/../libs/jetty-util-ajax-9.4.43.v20210629.jar:/usr/local/kafka_2.13-2.8.1/bin/../libs/jline-3.12.1.jar:/usr/local/kafka_2.13-2.8.1/bin/../libs/jopt-simple-5.0.4.jar:/usr/local/kafka_2.13-2.8.1/bin/../libs/kafka-clients-2.8.1.jar:/usr/local/kafka_2.13-2.8.1/bin/../libs/kafka-log4j-appender-2.8.1.jar:/usr/local/kafka_2.13-2.8.1/bin/../libs/kafka-metadata-2.8.1.jar:/usr/local/kafka_2.13-2.8.1/bin/../libs/kafka-raft-2.8.1.jar:/usr/local/kafka_2.13-2.8.1/bin/../libs/kafka-shell-2.8.1.jar:/usr/local/kafka_2.13-2.8.1/bin/../libs/kafka-streams-2.8.1.jar:/usr/local/kafka_2.13-2.8.1/bin/../libs/kafka-streams-examples-2.8.1.jar:/usr/local/kafka_2.13-2.8.1/bin/../libs/kafka-streams-scala_2.13-2.8.1.jar:/usr/local/kafka_2.13-2.8.1/bin/../libs/kafka-streams-test-utils-2.8.1.jar:/usr/local/kafka_2.13-2.8.1/bin/../libs/kafka-tools-2.8.1.jar:/usr/local/kafka_2.13-2.8.1/bin/../libs/kafka_2.13-2.8.1-sources.jar:/usr/local/kafka_2.13-2.8.1/bin/../libs/kafka_2.13-2.8.1.jar:/usr/local/kafka_2.13-2.8.1/bin/../libs/log4j-1.2.17.jar:/usr/local/kafka_2.13-2.8.1/bin/../libs/lz4-java-1.7.1.jar:/usr/local/kafka_2.13-2.8.1/bin/../libs/maven-artifact-3.8.1.jar:/usr/local/kafka_2.13-2.8.1/bin/../libs/metrics-core-2.2.0.jar:/usr/local/kafka_2.13-2.8.1/bin/../libs/netty-buffer-4.1.62.Final.jar:/usr/local/kafka_2.13-2.8.1/bin/../libs/netty-codec-4.1.62.Final.jar:/usr/local/kafka_2.13-2.8.1/bin/../libs/netty-common-4.1.62.Final.jar:/usr/local/kafka_2.13-2.8.1/bin/../libs/netty-handler-4.1.62.Final.jar:/usr/local/kafka_2.13-2.8.1/bin/../libs/netty-resolver-4.1.62.Final.jar:/usr/local/kafka_2.13-2.8.1/bin/../libs/netty-transport-4.1.62.Final.jar:/usr/local/kafka_2.13-2.8.1/bin/../libs/netty-transport-native-epoll-4.1.62.Final.jar:/usr/local/kafka_2.13-2.8.1/bin/../libs/netty-transport-native-unix-common-4.1.62.Final.jar:/usr/local/kafka_2.13-2.8.1/bin/../libs/osgi-resource-locator-1.0.3.jar:/usr/local/kafka_2.13-2.8.1/bin/../libs/paranamer-2.8.jar:/usr/local/kafka_2.13-2.8.1/bin/../libs/plexus-utils-3.2.1.jar:/usr/local/kafka_2.13-2.8.1/bin/../libs/reflections-0.9.12.jar:/usr/local/kafka_2.13-2.8.1/bin/../libs/rocksdbjni-5.18.4.jar:/usr/local/kafka_2.13-2.8.1/bin/../libs/scala-collection-compat_2.13-2.3.0.jar:/usr/local/kafka_2.13-2.8.1/bin/../libs/scala-java8-compat_2.13-0.9.1.jar:/usr/local/kafka_2.13-2.8.1/bin/../libs/scala-library-2.13.5.jar:/usr/local/kafka_2.13-2.8.1/bin/../libs/scala-logging_2.13-3.9.2.jar:/usr/local/kafka_2.13-2.8.1/bin/../libs/scala-reflect-2.13.5.jar:/usr/local/kafka_2.13-2.8.1/bin/../libs/slf4j-api-1.7.30.jar:/usr/local/kafka_2.13-2.8.1/bin/../libs/slf4j-log4j12-1.7.30.jar:/usr/local/kafka_2.13-2.8.1/bin/../libs/snappy-java-1.1.8.1.jar:/usr/local/kafka_2.13-2.8.1/bin/../libs/zookeeper-3.5.9.jar:/usr/local/kafka_2.13-2.8.1/bin/../libs/zookeeper-jute-3.5.9.jar:/usr/local/kafka_2.13-2.8.1/bin/../libs/zstd-jni-1.4.9-1.jar (org.apache.zookeeper.ZooKeeper)
[2022-05-26 17:18:09,707] INFO Client environment:java.library.path=/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib (org.apache.zookeeper.ZooKeeper)
[2022-05-26 17:18:09,707] INFO Client environment:java.io.tmpdir=/tmp (org.apache.zookeeper.ZooKeeper)
[2022-05-26 17:18:09,707] INFO Client environment:java.compiler= (org.apache.zookeeper.ZooKeeper)
[2022-05-26 17:18:09,708] INFO Client environment:os.name=Linux (org.apache.zookeeper.ZooKeeper)
[2022-05-26 17:18:09,708] INFO Client environment:os.arch=amd64 (org.apache.zookeeper.ZooKeeper)
[2022-05-26 17:18:09,708] INFO Client environment:os.version=5.4.72-microsoft-standard-WSL2 (org.apache.zookeeper.ZooKeeper)
[2022-05-26 17:18:09,708] INFO Client environment:user.name=root (org.apache.zookeeper.ZooKeeper)
[2022-05-26 17:18:09,708] INFO Client environment:user.home=/root (org.apache.zookeeper.ZooKeeper)
[2022-05-26 17:18:09,708] INFO Client environment:user.dir=/usr/local/kafka_2.13-2.8.1 (org.apache.zookeeper.ZooKeeper)
[2022-05-26 17:18:09,708] INFO Client environment:os.memory.free=184MB (org.apache.zookeeper.ZooKeeper)
[2022-05-26 17:18:09,708] INFO Client environment:os.memory.max=192MB (org.apache.zookeeper.ZooKeeper)
[2022-05-26 17:18:09,708] INFO Client environment:os.memory.total=192MB (org.apache.zookeeper.ZooKeeper)
[2022-05-26 17:18:09,711] INFO Initiating client connection, connectString=zookeeper:2181 sessionTimeout=18000 watcher=kafka.zookeeper.ZooKeeperClient$ZooKeeperClientWatcher$@2a65fe7c (org.apache.zookeeper.ZooKeeper)
[2022-05-26 17:18:09,753] INFO jute.maxbuffer value is 4194304 Bytes (org.apache.zookeeper.ClientCnxnSocket)
[2022-05-26 17:18:09,762] INFO zookeeper.request.timeout value is 0. feature enabled= (org.apache.zookeeper.ClientCnxn)
[2022-05-26 17:18:09,770] INFO [ZooKeeperClient Kafka server] Waiting until connected. (kafka.zookeeper.ZooKeeperClient)
[2022-05-26 17:18:15,772] INFO [ZooKeeperClient Kafka server] Closing. (kafka.zookeeper.ZooKeeperClient)
[2022-05-26 17:18:19,791] INFO Opening socket connection to server zookeeper/172.21.0.3:2181. Will not attempt to authenticate using SASL (unknown error) (org.apache.zookeeper.ClientCnxn)
[2022-05-26 17:18:19,795] INFO Socket connection established, initiating session, client: /172.21.0.4:39272, server: zookeeper/172.21.0.3:2181 (org.apache.zookeeper.ClientCnxn)
[2022-05-26 17:18:19,809] INFO Session establishment complete on server zookeeper/172.21.0.3:2181, sessionid = 0x10000575f2a0000, negotiated timeout = 18000 (org.apache.zookeeper.ClientCnxn)
[2022-05-26 17:18:19,928] INFO Session: 0x10000575f2a0000 closed (org.apache.zookeeper.ZooKeeper)
[2022-05-26 17:18:19,928] INFO EventThread shut down for session: 0x10000575f2a0000 (org.apache.zookeeper.ClientCnxn)
[2022-05-26 17:18:19,930] INFO [ZooKeeperClient Kafka server] Closed. (kafka.zookeeper.ZooKeeperClient)
[2022-05-26 17:18:19,933] ERROR Fatal error during KafkaServer startup. Prepare to shutdown (kafka.server.KafkaServer)
kafka.zookeeper.ZooKeeperClientTimeoutException: Timed out waiting for connection while in state: CONNECTING
at kafka.zookeeper.ZooKeeperClient.waitUntilConnected(ZooKeeperClient.scala:271)
at kafka.zookeeper.ZooKeeperClient.(ZooKeeperClient.scala:125)
at kafka.zk.KafkaZkClient$.apply(KafkaZkClient.scala:1948)
at kafka.server.KafkaServer.createZkClient$1(KafkaServer.scala:431)
at kafka.server.KafkaServer.initZkClient(KafkaServer.scala:456)
at kafka.server.KafkaServer.startup(KafkaServer.scala:191)
at kafka.Kafka$.main(Kafka.scala:109)
at kafka.Kafka.main(Kafka.scala)
[2022-05-26 17:18:19,935] INFO shutting down (kafka.server.KafkaServer)
[2022-05-26 17:18:19,941] INFO App info kafka.server for 0 unregistered (org.apache.kafka.common.utils.AppInfoParser)
[2022-05-26 17:18:19,942] INFO shut down completed (kafka.server.KafkaServer)
[2022-05-26 17:18:19,942] ERROR Exiting Kafka. (kafka.Kafka$)
[2022-05-26 17:18:19,943] INFO shutting down (kafka.server.KafkaServer)

  • 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 7.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/6.9.1/userguide/command_line_interface.html#sec:command_line_warnings

BUILD FAILED in 38s
1 actionable task: 1 executed

`

 Thank you in advance for your support.

Best Regards

Marco Antonio Mora Godoy

Startup issue with CDC startup validator -ERROR i.e.l.c.d.EventTableChangesToAggregateTopicRelay - In takeLeadership

Hi,
When the application is deployed in local, we get the below exception. But the root user was given correct password in the property file and also updated with grant all privilege.

Spent almost whole day but not able to resolve the issue.

21:21:08.100 INFO o.s.b.c.e.t.TomcatEmbeddedServletContainer - Tomcat started on port(s): 8080 (http)
21:22:48.730 ERROR i.e.l.c.d.EventTableChangesToAggregateTopicRelay - In takeLeadership
java.lang.RuntimeException: java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)
at io.eventuate.local.cdc.debezium.CdcStartupValidator.validateDatasourceConnection(CdcStartupValidator.java:74)
at io.eventuate.local.cdc.debezium.CdcStartupValidator.validateEnvironment(CdcStartupValidator.java:39)
at io.eventuate.local.cdc.debezium.EventTableChangesToAggregateTopicRelay.startCapturingChanges(EventTableChangesToAggregateTopicRelay.java:126)
at io.eventuate.local.cdc.debezium.EventTableChangesToAggregateTopicRelay$1.takeLeadership(EventTableChangesToAggregateTopicRelay.java:67)
at io.eventuate.local.cdc.debezium.EventTableChangesToAggregateTopicRelay$1.takeLeadership(EventTableChangesToAggregateTopicRelay.java:61)
at org.apache.curator.framework.recipes.leader.LeaderSelector$WrappedListener.takeLeadership(LeaderSelector.java:534)
at org.apache.curator.framework.recipes.leader.LeaderSelector.doWork(LeaderSelector.java:399)

Eventuate local start up issue

Hello,
I've been trying to start the eventuate local version for 2 days without any luck.
I'm having Failed to construct kafka consumer for cdc, and Timeout expired while fetching topic metadata for commandsideservice and com.mysql.jdbc.exceptions.jdbc4.CommunicationsException for query side service.

I set the DOCKER_HOST_IP=172.17.0.1 which was shown at docker0 via iconfig. I tested it using the eventuateio-docker-networking-diagnostics, which printed Success!!!.

I'm new to docker, probably I missed something easy.
I've just installed docker with version Docker version 1.13.1 on Ubuntu 16.04. I'm required to run docker as root user via sudo docker-compose....

Could you pinpoint to any possible issues please?

Here are log outputs
http://paste.ubuntu.com/23999910/ - query side service
http://paste.ubuntu.com/23999909/ - command side service
http://paste.ubuntu.com/23999913/ - zookeeper
http://paste.ubuntu.com/23999915/ - kafka
http://paste.ubuntu.com/23999918/ - cdc

fail to run command ./gradlew assemble -P eventuateDriver=local fail

error are list as blew.

  • What went wrong:
    Could not resolve all dependencies for configuration ':compileClasspath'.

Could not resolve io.eventuate.client.java:eventuate-client-java-spring:0.23.0.RC4.
Required by:
project :
Could not resolve io.eventuate.client.java:eventuate-client-java-spring:0.23.0.RC4.
> Could not get resource 'https://status.bintray.com/eventuateio-oss/eventuate-maven-release/io/eventuate/client/java/eventuate-client-java-spring/0.23.0.RC4/eventuate-client-java-spring-0.23.0.RC4.pom'.
> Could not GET 'https://status.bintray.com/eventuateio-oss/eventuate-maven-release/io/eventuate/client/java/eventuate-client-java-spring/0.23.0.RC4/eventuate-client-java-spring-0.23.0.RC4.pom'. Received status code 502 from server: Bad Gateway
Could not resolve io.eventuate.client.java:eventuate-client-java-spring:0.23.0.RC4.
> Could not get resource 'https://status.bintray.com/eventuateio-oss/eventuate-maven-rc/io/eventuate/client/java/eventuate-client-java-spring/0.23.0.RC4/eventuate-client-java-spring-0.23.0.RC4.pom'.
> Could not GET 'https://status.bintray.com/eventuateio-oss/eventuate-maven-rc/io/eventuate/client/java/eventuate-client-java-spring/0.23.0.RC4/eventuate-client-java-spring-0.23.0.RC4.pom'. Received status code 502 from server: Bad Gateway
Could not resolve io.eventuate.local.java:eventuate-local-java-spring-jdbc:0.32.0.RC4.
Required by:
project :
Could not resolve io.eventuate.local.java:eventuate-local-java-spring-jdbc:0.32.0.RC4.
> Could not get resource 'https://status.bintray.com/eventuateio-oss/eventuate-maven-release/io/eventuate/local/java/eventuate-local-java-spring-jdbc/0.32.0.RC4/eventuate-local-java-spring-jdbc-0.32.0.RC4.pom'.
> Could not GET 'https://status.bintray.com/eventuateio-oss/eventuate-maven-release/io/eventuate/local/java/eventuate-local-java-spring-jdbc/0.32.0.RC4/eventuate-local-java-spring-jdbc-0.32.0.RC4.pom'. Received status code 502 from server: Bad Gateway
Could not resolve io.eventuate.local.java:eventuate-local-java-spring-jdbc:0.32.0.RC4.
> Could not get resource 'https://status.bintray.com/eventuateio-oss/eventuate-maven-rc/io/eventuate/local/java/eventuate-local-java-spring-jdbc/0.32.0.RC4/eventuate-local-java-spring-jdbc-0.32.0.RC4.pom'.
> Could not GET 'https://status.bintray.com/eventuateio-oss/eventuate-maven-rc/io/eventuate/local/java/eventuate-local-java-spring-jdbc/0.32.0.RC4/eventuate-local-java-spring-jdbc-0.32.0.RC4.pom'. Received status code 502 from server: Bad Gateway

eventuate-local-console does not support anything other than MySQL

SPRING_DATASOURCE_URL: jdbc:postgresql://postgres/eventuate

Reported on Slack https://eventuate-users.slack.com/archives/C3KGV517B/p1599573055002200

Just started to look at eventuate-examples-java-spring-todo-list. Not sure how docker-compose-eventuate-local-postgres-wal.yml is supposed to work.
it sets SPRING_DATASOURCE_URL: jdbc:postgresql://postgres/eventuate but eventuate-local-console-server/dist/database/connection.js fails with enything else mysql
So, is postgresql based supported for eventuate local? (edited) 

how to solve this problem

this is my problem:
Creating singlemodule_mysql_1

ERROR: for mysql Cannot start service mysql: driver failed programming external connectivity on endpoint singlemodule_mysql_1 (a2174fb37967998e4d59ca5297855d3be8ad4a216449a05eea03969ac5cfadde): Error starting userland proxy: listen tcp 0.0.0.0:3306: bind: address already in use

Add swagger support

create common-swagger module and import swagger configuration into *-service configuration classes

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.