networknt / light-eventuate-4j Goto Github PK
View Code? Open in Web Editor NEWAn eventual consistency framework based on Event Sourcing and CQRS on top of light-4j and Kafka
License: Apache License 2.0
An eventual consistency framework based on Event Sourcing and CQRS on top of light-4j and Kafka
License: Apache License 2.0
framework should provide two ways to handle publish the events to Kafka:
For security reason in banking application and this is actually a bigger topic as how to control Kafka access from all the services.
add comments on the API for java doc API document
Hi guys,
I am considering some future work during this year to look at, nothing so much important, but related to overall performance, of the light4j platform as well as possible improvement. Although this is standard in JDBC world, one must know that TCP overhead is deadly. So why not replace it with UDS (Unix Domain Sockets) instead?
You can make your small test by yourself, just execute make:
https://github.com/archenroot/ipc-bench
I plan to test some use case:
I will leave this open as soon as I am going to possibly incorporate some work old few years, but still not finished (but the POC is fully operational and you can test it on local instances by yourself):
impossibl/pgjdbc-ng#169
The fork with POC:
https://github.com/harbulot/pgjdbc-ng/tree/unixsocket_poc
Just again came to my head as possible improvement to make light-4j real warrior on all levels of operation.
Ladislav
initial admin console for event sourcing platform
This is captured by the light-bot develop-build and please see the following stacktrace. Rollback to master branch and everything work again. Did a comparison and this RuntimeException is the only one material change.
19:58:53.306 [Eventuate-subscriber-orderCommandDispatcher] DEBUG org.apache.kafka.clients.NetworkClient - [Consumer clientId=consumer-4, groupId=orderCommandDispatcher] Recorded API versions for node 2147483647: (Produce(0): 0 to 5 [usable: 5], Fetch(1): 0 to 6 [usable: 6], ListOffsets(2): 0 to 2 [usable: 2], Metadata(3): 0 to 5 [usable: 5], LeaderAndIsr(4): 0 to 1 [usable: 1], StopReplica(5): 0 [usable: 0], UpdateMetadata(6): 0 to 4 [usable: 4], ControlledShutdown(7): 0 to 1 [usable: 1], OffsetCommit(8): 0 to 3 [usable: 3], OffsetFetch(9): 0 to 3 [usable: 3], FindCoordinator(10): 0 to 1 [usable: 1], JoinGroup(11): 0 to 2 [usable: 2], Heartbeat(12): 0 to 1 [usable: 1], LeaveGroup(13): 0 to 1 [usable: 1], SyncGroup(14): 0 to 1 [usable: 1], DescribeGroups(15): 0 to 1 [usable: 1], ListGroups(16): 0 to 1 [usable: 1], SaslHandshake(17): 0 to 1 [usable: 1], ApiVersions(18): 0 to 1 [usable: 1], CreateTopics(19): 0 to 2 [usable: 2], DeleteTopics(20): 0 to 1 [usable: 1], DeleteRecords(21): 0 [usable: 0], InitProducerId(22): 0 [usable: 0], OffsetForLeaderEpoch(23): 0 [usable: 0], AddPartitionsToTxn(24): 0 [usable: 0], AddOffsetsToTxn(25): 0 [usable: 0], EndTxn(26): 0 [usable: 0], WriteTxnMarkers(27): 0 [usable: 0], TxnOffsetCommit(28): 0 [usable: 0], DescribeAcls(29): 0 [usable: 0], CreateAcls(30): 0 [usable: 0], DeleteAcls(31): 0 [usable: 0], DescribeConfigs(32): 0 [usable: 0], AlterConfigs(33): 0 [usable: 0], AlterReplicaLogDirs(34): 0 [usable: 0], DescribeLogDirs(35): 0 [usable: 0], SaslAuthenticate(36): 0 [usable: 0], CreatePartitions(37): 0 [usable: 0])
19:58:53.308 [main] DEBUG org.apache.kafka.common.metrics.Metrics - Added sensor with name node--1.bytes-sent
19:58:53.308 [Eventuate-subscriber-orderCommandDispatcher] ERROR com.networknt.eventuate.kafka.consumer.KafkaMessageProcessor - Got exception:
java.lang.UnsupportedOperationException: implement me
at com.networknt.tram.command.consumer.CommandHandlers.findExceptionHandler(CommandHandlers.java:28)
at com.networknt.tram.command.consumer.CommandDispatcher.handleException(CommandDispatcher.java:148)
at com.networknt.tram.command.consumer.CommandDispatcher.messageHandler(CommandDispatcher.java:88)
at com.networknt.saga.participant.SagaCommandDispatcher.messageHandler(SagaCommandDispatcher.java:42)
at com.networknt.tram.consumer.kafka.MessageConsumerKafkaImpl.lambda$subscribe$0(MessageConsumerKafkaImpl.java:42)
at com.networknt.eventuate.kafka.consumer.KafkaMessageProcessor.process(KafkaMessageProcessor.java:35)
at com.networknt.eventuate.kafka.consumer.EventuateKafkaConsumer.lambda$start$0(EventuateKafkaConsumer.java:105)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.NullPointerException: null
at com.networknt.saga.order.service.OrderCommandHandler.reject(OrderCommandHandler.java:42)
at com.networknt.saga.participant.SagaCommandHandlersBuilder.lambda$onMessage$1(SagaCommandHandlersBuilder.java:52)
at com.networknt.saga.participant.SagaCommandHandler.lambda$new$0(SagaCommandHandler.java:26)
at com.networknt.tram.command.consumer.CommandHandler.lambda$new$0(CommandHandler.java:28)
at com.networknt.tram.command.consumer.CommandHandler.invokeMethod(CommandHandler.java:63)
at com.networknt.tram.command.consumer.CommandDispatcher.invoke(CommandDispatcher.java:100)
at com.networknt.saga.participant.SagaCommandDispatcher.invoke(SagaCommandDispatcher.java:78)
at com.networknt.tram.command.consumer.CommandDispatcher.messageHandler(CommandDispatcher.java:84)
... 5 common frames omitted
19:58:53.309 [Eventuate-subscriber-orderCommandDispatcher] ERROR com.networknt.eventuate.kafka.consumer.EventuateKafkaConsumer - Got exception:
java.lang.RuntimeException: java.lang.UnsupportedOperationException: implement me
at com.networknt.eventuate.kafka.consumer.KafkaMessageProcessor.lambda$process$0(KafkaMessageProcessor.java:38)
at com.networknt.tram.consumer.kafka.MessageConsumerKafkaImpl.lambda$subscribe$0(MessageConsumerKafkaImpl.java:46)
at com.networknt.eventuate.kafka.consumer.KafkaMessageProcessor.process(KafkaMessageProcessor.java:35)
at com.networknt.eventuate.kafka.consumer.EventuateKafkaConsumer.lambda$start$0(EventuateKafkaConsumer.java:105)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.UnsupportedOperationException: implement me
at com.networknt.tram.command.consumer.CommandHandlers.findExceptionHandler(CommandHandlers.java:28)
at com.networknt.tram.command.consumer.CommandDispatcher.handleException(CommandDispatcher.java:148)
at com.networknt.tram.command.consumer.CommandDispatcher.messageHandler(CommandDispatcher.java:88)
at com.networknt.saga.participant.SagaCommandDispatcher.messageHandler(SagaCommandDispatcher.java:42)
at com.networknt.tram.consumer.kafka.MessageConsumerKafkaImpl.lambda$subscribe$0(MessageConsumerKafkaImpl.java:42)
... 3 common frames omitted
Caused by: java.lang.NullPointerException: null
at com.networknt.saga.order.service.OrderCommandHandler.reject(OrderCommandHandler.java:42)
at com.networknt.saga.participant.SagaCommandHandlersBuilder.lambda$onMessage$1(SagaCommandHandlersBuilder.java:52)
at com.networknt.saga.participant.SagaCommandHandler.lambda$new$0(SagaCommandHandler.java:26)
at com.networknt.tram.command.consumer.CommandHandler.lambda$new$0(CommandHandler.java:28)
at com.networknt.tram.command.consumer.CommandHandler.invokeMethod(CommandHandler.java:63)
at com.networknt.tram.command.consumer.CommandDispatcher.invoke(CommandDispatcher.java:100)
at com.networknt.saga.participant.SagaCommandDispatcher.invoke(SagaCommandDispatcher.java:78)
at com.networknt.tram.command.consumer.CommandDispatcher.messageHandler(CommandDispatcher.java:84)
... 5 common frames omitted
19:58:53.309 [main] DEBUG org.apache.kafka.common.metrics.Metrics - Added sensor with name node--1.bytes-received
19:58:53.309 [main] DEBUG org.apache.kafka.common.metrics.Metrics - Added sensor with name node--1.latency
19:58:53.309 [main] DEBUG org.apache.kafka.common.network.Selector - [Consumer clientId=consumer-5, groupId=customerCommandDispatcher] Created socket with SO_RCVBUF = 65536, SO_SNDBUF = 131072, SO_TIMEOUT = 0 to node -1
To start query side server with cdcservice
cd ~/networknt/light-eventuate-4j
mvn clean install
cd query
java -cp target/eventuate-query-1.3.0.jar:../cdcservice/target/eventuate-cdcservice-1.3.0.jar com.networknt.server.Server
To test the health of the cdcservice
curl -X POST \
http://localhost:8080/api/json \
-H 'cache-control: no-cache' \
-H 'content-type: application/json' \
-H 'postman-token: 58bb63eb-de70-b855-a633-5b043bb52c95' \
-d '{
"host": "lightapi.net",
"service": "eventuate",
"action": "cdcservice",
"version": "0.0.1"
}'
Do you have any kind of paper on clustering of eventuate services?
Thx for your time.
This is more free topic only.
I have 2 topics to consider as replacement in the microservice framework to achieve deadly performance.
Event Store
Would you consider to replace SQL like store with Chronicle Map system?
Broker
Would you consider to replace Kafka or any other messaging with Chronicle Queue subsystem?
Best regards,
Ladislav
Hi guys,
I have another interesting point to discuss. I hope you will agree on the subject of this issue. So we left BPM engines because they were just fat slow beasts missing all cool things we can do in pure event driven decoupled architectures.
No imagine that you can merge these 2 worlds back together. Having the capability of implementing the process in BPMN language, which si still superior tool and at the same moment you can split process and scale each components independently, supporting Sagas, Event Sourcing, CQRS, Auditing, etc.
Look at this promising project:
https://zeebe.io/
I think they have something fundamentally wrong -> they are still trying to work on top of service layer being Orchestrating... which is against event driven core concept :-), but I think it could be promising possible merge in some far future...
Here is the stacktrace.
Running com.networknt.eventuate.test.AggregateRepositoryTest
11:06:20.115 [main] DEBUG com.networknt.eventuate.common.AggregateRepository - Exception updating aggregate
java.util.concurrent.CompletionException: com.networknt.eventuate.common.OptimisticLockingException
at java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:292)
at java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:308)
at java.util.concurrent.CompletableFuture.uniApply(CompletableFuture.java:593)
at java.util.concurrent.CompletableFuture.uniApplyStage(CompletableFuture.java:614)
at java.util.concurrent.CompletableFuture.thenApply(CompletableFuture.java:1983)
at com.networknt.eventuate.common.AggregateRepository.lambda$null$10(AggregateRepository.java:183)
at java.util.concurrent.CompletableFuture.uniCompose(CompletableFuture.java:952)
at java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:926)
at java.util.concurrent.CompletableFuture.uniComposeStage(CompletableFuture.java:997)
at java.util.concurrent.CompletableFuture.thenCompose(CompletableFuture.java:2124)
at com.networknt.eventuate.common.AggregateRepository.lambda$updateWithProvidedCommand$11(AggregateRepository.java:174)
at com.networknt.eventuate.common.AggregateRepository.attemptOperation(AggregateRepository.java:115)
at com.networknt.eventuate.common.AggregateRepository.withRetry(AggregateRepository.java:110)
at com.networknt.eventuate.common.AggregateRepository.updateWithProvidedCommand(AggregateRepository.java:154)
at com.networknt.eventuate.common.AggregateRepository.update(AggregateRepository.java:142)
at com.networknt.eventuate.test.AggregateRepositoryTest.shouldUpdateWithOptimisticLockingFailure(AggregateRepositoryTest.java:139)
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:497)
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.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
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.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.junit.runners.Suite.runChild(Suite.java:128)
at org.junit.runners.Suite.runChild(Suite.java:27)
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.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
at org.junit.runner.JUnitCore.run(JUnitCore.java:115)
at org.apache.maven.surefire.junitcore.JUnitCoreWrapper.createReqestAndRun(JUnitCoreWrapper.java:139)
at org.apache.maven.surefire.junitcore.JUnitCoreWrapper.executeEager(JUnitCoreWrapper.java:111)
at org.apache.maven.surefire.junitcore.JUnitCoreWrapper.execute(JUnitCoreWrapper.java:84)
at org.apache.maven.surefire.junitcore.JUnitCoreProvider.invoke(JUnitCoreProvider.java:141)
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:497)
at org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray2(ReflectionUtils.java:208)
at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:158)
at org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:86)
at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:95)
Caused by: com.networknt.eventuate.common.OptimisticLockingException: null
at com.networknt.eventuate.test.AggregateRepositoryTest.shouldUpdateWithOptimisticLockingFailure(AggregateRepositoryTest.java:130)
... 41 common frames omitted
11:06:20.117 [ForkJoinPool.commonPool-worker-1] DEBUG com.networknt.eventuate.common.AggregateRepository - got optimistic locking exception - retrying
java.util.concurrent.CompletionException: com.networknt.eventuate.common.OptimisticLockingException
at java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:273)
at java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:280)
at java.util.concurrent.CompletableFuture.uniHandle(CompletableFuture.java:824)
at java.util.concurrent.CompletableFuture.uniHandleStage(CompletableFuture.java:834)
at java.util.concurrent.CompletableFuture.handle(CompletableFuture.java:2155)
at com.networknt.eventuate.common.AggregateRepository.lambda$null$10(AggregateRepository.java:187)
at java.util.concurrent.CompletableFuture.uniCompose(CompletableFuture.java:952)
at java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:926)
at java.util.concurrent.CompletableFuture.uniComposeStage(CompletableFuture.java:997)
at java.util.concurrent.CompletableFuture.thenCompose(CompletableFuture.java:2124)
at com.networknt.eventuate.common.AggregateRepository.lambda$updateWithProvidedCommand$11(AggregateRepository.java:174)
at com.networknt.eventuate.common.AggregateRepository.attemptOperation(AggregateRepository.java:115)
at com.networknt.eventuate.common.AggregateRepository.withRetry(AggregateRepository.java:110)
at com.networknt.eventuate.common.AggregateRepository.updateWithProvidedCommand(AggregateRepository.java:154)
at com.networknt.eventuate.common.AggregateRepository.update(AggregateRepository.java:142)
at com.networknt.eventuate.test.AggregateRepositoryTest.shouldUpdateWithOptimisticLockingFailure(AggregateRepositoryTest.java:139)
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:497)
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.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
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.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.junit.runners.Suite.runChild(Suite.java:128)
at org.junit.runners.Suite.runChild(Suite.java:27)
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.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
at org.junit.runner.JUnitCore.run(JUnitCore.java:115)
at org.apache.maven.surefire.junitcore.JUnitCoreWrapper.createReqestAndRun(JUnitCoreWrapper.java:139)
at org.apache.maven.surefire.junitcore.JUnitCoreWrapper.executeEager(JUnitCoreWrapper.java:111)
at org.apache.maven.surefire.junitcore.JUnitCoreWrapper.execute(JUnitCoreWrapper.java:84)
at org.apache.maven.surefire.junitcore.JUnitCoreProvider.invoke(JUnitCoreProvider.java:141)
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:497)
at org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray2(ReflectionUtils.java:208)
at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:158)
at org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:86)
at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:95)
Caused by: com.networknt.eventuate.common.OptimisticLockingException: null
at com.networknt.eventuate.test.AggregateRepositoryTest.shouldUpdateWithOptimisticLockingFailure(AggregateRepositoryTest.java:130)
... 41 common frames omitted
11:06:20.120 [ForkJoinPool.commonPool-worker-3] DEBUG com.networknt.eventuate.common.AggregateRepository - Exception updating aggregate
java.util.concurrent.CompletionException: com.networknt.eventuate.common.DuplicateTriggeringEventException
at java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:292)
at java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:308)
at java.util.concurrent.CompletableFuture.uniApply(CompletableFuture.java:593)
at java.util.concurrent.CompletableFuture.uniApplyStage(CompletableFuture.java:614)
at java.util.concurrent.CompletableFuture.thenApply(CompletableFuture.java:1983)
at com.networknt.eventuate.common.AggregateRepository.lambda$null$10(AggregateRepository.java:183)
at java.util.concurrent.CompletableFuture.uniCompose(CompletableFuture.java:952)
at java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:926)
at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:474)
at java.util.concurrent.CompletableFuture.postFire(CompletableFuture.java:561)
at java.util.concurrent.CompletableFuture$UniHandle.tryFire(CompletableFuture.java:800)
at java.util.concurrent.CompletableFuture$Completion.exec(CompletableFuture.java:443)
at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)
Caused by: com.networknt.eventuate.common.DuplicateTriggeringEventException: null
at com.networknt.eventuate.test.AggregateRepositoryTest.shouldUpdateWithDuplicateTriggeringEventExceptionThrownByUpdate(AggregateRepositoryTest.java:166)
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:497)
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.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
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.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.junit.runners.Suite.runChild(Suite.java:128)
at org.junit.runners.Suite.runChild(Suite.java:27)
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.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
at org.junit.runner.JUnitCore.run(JUnitCore.java:115)
at org.apache.maven.surefire.junitcore.JUnitCoreWrapper.createReqestAndRun(JUnitCoreWrapper.java:139)
at org.apache.maven.surefire.junitcore.JUnitCoreWrapper.executeEager(JUnitCoreWrapper.java:111)
at org.apache.maven.surefire.junitcore.JUnitCoreWrapper.execute(JUnitCoreWrapper.java:84)
at org.apache.maven.surefire.junitcore.JUnitCoreProvider.invoke(JUnitCoreProvider.java:141)
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:497)
at org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray2(ReflectionUtils.java:208)
at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:158)
at org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:86)
at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:95)
11:06:20.121 [ForkJoinPool.commonPool-worker-3] DEBUG com.networknt.eventuate.common.AggregateRepository - Exception finding aggregate
com.networknt.eventuate.common.DuplicateTriggeringEventException: null
at com.networknt.eventuate.test.AggregateRepositoryTest.shouldUpdateWithDuplicateTriggeringEventExceptionThrownByFind(AggregateRepositoryTest.java:193)
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:497)
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.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
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.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.junit.runners.Suite.runChild(Suite.java:128)
at org.junit.runners.Suite.runChild(Suite.java:27)
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.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
at org.junit.runner.JUnitCore.run(JUnitCore.java:115)
at org.apache.maven.surefire.junitcore.JUnitCoreWrapper.createReqestAndRun(JUnitCoreWrapper.java:139)
at org.apache.maven.surefire.junitcore.JUnitCoreWrapper.executeEager(JUnitCoreWrapper.java:111)
at org.apache.maven.surefire.junitcore.JUnitCoreWrapper.execute(JUnitCoreWrapper.java:84)
at org.apache.maven.surefire.junitcore.JUnitCoreProvider.invoke(JUnitCoreProvider.java:141)
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:497)
at org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray2(ReflectionUtils.java:208)
at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:158)
at org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:86)
at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:95)
So that cdcservice can be started automatically.
docker integration test issue fix
Hi,
I am now in need of some kind of framework to help me with implementing event store with CQRS patterns.
My natural choice was Spring technologies, second I found 2 frameworks Eventuate and Axon.
If you have minute and experience Steve, could you elaborate in few sentences where you see strengths of your solution over these, performance is not big deal in our case. In my case I also do not pickup solution which is not yet adopted in some major industrial projects, we have 3-4 months to deliver the project, so I don't have much time for experiments.
Hi, I am trying to do the tutorial but when I run the command
java -jar target/rest-query-1.0.0.jar
I am getting this error:
ERROR c.n.e.k.c.EventuateKafkaConsumer start - Error subscribing
org.apache.kafka.common.KafkaException: Failed to construct kafka consumer
at org.apache.kafka.clients.consumer.KafkaConsumer.<init>(KafkaConsumer.java:765)
at org.apache.kafka.clients.consumer.KafkaConsumer.<init>(KafkaConsumer.java:633)
at org.apache.kafka.clients.consumer.KafkaConsumer.<init>(KafkaConsumer.java:615)
at com.networknt.eventuate.kafka.consumer.EventuateKafkaConsumer.start(EventuateKafkaConsumer.java:79)
at com.networknt.eventuate.client.KafkaAggregateSubscriptions.subscribe(KafkaAggregateSubscriptions.java:81)
at com.networknt.eventuate.common.impl.EventuateAggregateStoreImpl.subscribe(EventuateAggregateStoreImpl.java:154)
at com.networknt.eventuate.client.EventDispatcherInitializer.registerEventHandler(EventDispatcherInitializer.java:163)
at com.networknt.eventuate.client.EventuateClientStartupHookProvider.onStartup(EventuateClientStartupHookProvider.java:48)
at com.networknt.server.Server.start(Server.java:112)
at com.networknt.server.Server.main(Server.java:101)
Caused by: org.apache.kafka.common.config.ConfigException: No resolvable bootstrap urls given in bootstrap.servers
at org.apache.kafka.clients.ClientUtils.parseAndValidateAddresses(ClientUtils.java:64)
at org.apache.kafka.clients.consumer.KafkaConsumer.<init>(KafkaConsumer.java:691)
... 9 common frames omitted
Exception in thread "main" java.lang.RuntimeException: org.apache.kafka.common.KafkaException: Failed to construct kafka consumer
at com.networknt.eventuate.kafka.consumer.EventuateKafkaConsumer.start(EventuateKafkaConsumer.java:131)
at com.networknt.eventuate.client.KafkaAggregateSubscriptions.subscribe(KafkaAggregateSubscriptions.java:81)
at com.networknt.eventuate.common.impl.EventuateAggregateStoreImpl.subscribe(EventuateAggregateStoreImpl.java:154)
at com.networknt.eventuate.client.EventDispatcherInitializer.registerEventHandler(EventDispatcherInitializer.java:163)
at com.networknt.eventuate.client.EventuateClientStartupHookProvider.onStartup(EventuateClientStartupHookProvider.java:48)
at com.networknt.server.Server.start(Server.java:112)
at com.networknt.server.Server.main(Server.java:101)
Caused by: org.apache.kafka.common.KafkaException: Failed to construct kafka consumer
at org.apache.kafka.clients.consumer.KafkaConsumer.<init>(KafkaConsumer.java:765)
at org.apache.kafka.clients.consumer.KafkaConsumer.<init>(KafkaConsumer.java:633)
at org.apache.kafka.clients.consumer.KafkaConsumer.<init>(KafkaConsumer.java:615)
at com.networknt.eventuate.kafka.consumer.EventuateKafkaConsumer.start(EventuateKafkaConsumer.java:79)
... 6 more
Caused by: org.apache.kafka.common.config.ConfigException: No resolvable bootstrap urls given in bootstrap.servers
at org.apache.kafka.clients.ClientUtils.parseAndValidateAddresses(ClientUtils.java:64)
at org.apache.kafka.clients.consumer.KafkaConsumer.<init>(KafkaConsumer.java:691)
... 9 more
kafka,zookeeper,mysql and the cdcserver are running, I am on a macbook pro docker version 17.06.0-ce-mac19
Here is the stacktrace.
Running com.networknt.eventuate.common.CompletableFutureTest
java.util.concurrent.ExecutionException: java.lang.RuntimeException: z
at java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:357)
at java.util.concurrent.CompletableFuture.get(CompletableFuture.java:1895)
at com.networknt.eventuate.common.CompletableFutureTest.exploreHandleAsync(CompletableFutureTest.java:25)
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:497)
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.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
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.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.junit.runners.Suite.runChild(Suite.java:128)
at org.junit.runners.Suite.runChild(Suite.java:27)
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.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
at org.junit.runner.JUnitCore.run(JUnitCore.java:115)
at org.apache.maven.surefire.junitcore.JUnitCoreWrapper.createReqestAndRun(JUnitCoreWrapper.java:139)
at org.apache.maven.surefire.junitcore.JUnitCoreWrapper.executeEager(JUnitCoreWrapper.java:111)
at org.apache.maven.surefire.junitcore.JUnitCoreWrapper.execute(JUnitCoreWrapper.java:84)
at org.apache.maven.surefire.junitcore.JUnitCoreProvider.invoke(JUnitCoreProvider.java:141)
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:497)
at org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray2(ReflectionUtils.java:208)
at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:158)
at org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:86)
at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:95)
Caused by: java.lang.RuntimeException: z
at com.networknt.eventuate.common.CompletableFutureTest.lambda$exploreHandleAsync$1(CompletableFutureTest.java:21)
at java.util.concurrent.CompletableFuture.uniHandle(CompletableFuture.java:822)
at java.util.concurrent.CompletableFuture$UniHandle.tryFire(CompletableFuture.java:797)
at java.util.concurrent.CompletableFuture$Completion.exec(CompletableFuture.java:443)
at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)
Caused by: java.util.concurrent.CompletionException: java.lang.RuntimeException: y
at java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:273)
at java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:280)
at java.util.concurrent.CompletableFuture.uniHandle(CompletableFuture.java:824)
... 6 more
Caused by: java.lang.RuntimeException: y
at com.networknt.eventuate.common.CompletableFutureTest.lambda$exploreHandleAsync$0(CompletableFutureTest.java:18)
at java.util.concurrent.CompletableFuture.uniHandle(CompletableFuture.java:822)
... 6 more
Caused by: java.lang.RuntimeException: x
at com.networknt.eventuate.common.CompletableFutureTest.exploreHandleAsync(CompletableFutureTest.java:23)
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:497)
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.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
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.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.junit.runners.Suite.runChild(Suite.java:128)
at org.junit.runners.Suite.runChild(Suite.java:27)
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.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
at org.junit.runner.JUnitCore.run(JUnitCore.java:115)
at org.apache.maven.surefire.junitcore.JUnitCoreWrapper.createReqestAndRun(JUnitCoreWrapper.java:139)
at org.apache.maven.surefire.junitcore.JUnitCoreWrapper.executeEager(JUnitCoreWrapper.java:111)
at org.apache.maven.surefire.junitcore.JUnitCoreWrapper.execute(JUnitCoreWrapper.java:84)
at org.apache.maven.surefire.junitcore.JUnitCoreProvider.invoke(JUnitCoreProvider.java:141)
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:497)
at org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray2(ReflectionUtils.java:208)
at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:158)
at org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:86)
at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:95)
cdc-server
cdc-service
hybrid-command
hybrid-query
[WARNING]
[WARNING] Some problems were encountered while building the effective model for com.networknt:eventuate-server-common:jar:1.5.5
[WARNING] 'build.plugins.plugin.version' for org.apache.maven.plugins:maven-deploy-plugin is missing. @ com.networknt:eventuate-server-common:[unknown-version], /home/steve/networknt/light-eventuate-4j/eventuate-server-common/pom.xml
[WARNING]
[WARNING] Some problems were encountered while building the effective model for com.networknt:eventuate-server-jdbc:jar:1.5.5
[WARNING] 'build.plugins.plugin.version' for org.apache.maven.plugins:maven-deploy-plugin is missing. @ com.networknt:eventuate-server-jdbc:[unknown-version], /home/steve/networknt/light-eventuate-4j/eventuate-server-jdbc/pom.xml
[WARNING]
[WARNING] Some problems were encountered while building the effective model for com.networknt:eventuate-cdc-connector-common:jar:1.5.5
[WARNING] 'build.plugins.plugin.version' for org.apache.maven.plugins:maven-deploy-plugin is missing. @ com.networknt:eventuate-cdc-connector-common:[unknown-version], /home/steve/networknt/light-eventuate-4j/eventuate-cdc-connector-common/pom.xml
[WARNING]
[WARNING] Some problems were encountered while building the effective model for com.networknt:eventuate-cdc-connector-test-util:jar:1.5.5
[WARNING] 'build.plugins.plugin.version' for org.apache.maven.plugins:maven-deploy-plugin is missing. @ com.networknt:eventuate-cdc-connector-test-util:[unknown-version], /home/steve/networknt/light-eventuate-4j/eventuate-cdc-connector-test-util/pom.xml
[WARNING]
[WARNING] Some problems were encountered while building the effective model for com.networknt:eventuate-cdc-connector-mysql-binlog:jar:1.5.5
[WARNING] 'build.plugins.plugin.version' for org.apache.maven.plugins:maven-deploy-plugin is missing. @ com.networknt:eventuate-cdc-connector-mysql-binlog:[unknown-version], /home/steve/networknt/light-eventuate-4j/eventuate-cdc-connector-mysql-binlog/pom.xml
[WARNING]
[WARNING] Some problems were encountered while building the effective model for com.networknt:eventuate-cdc-connector-polling:jar:1.5.5
[WARNING] 'build.plugins.plugin.version' for org.apache.maven.plugins:maven-deploy-plugin is missing. @ com.networknt:eventuate-cdc-connector-polling:[unknown-version], /home/steve/networknt/light-eventuate-4j/eventuate-cdc-connector-polling/pom.xml
[WARNING]
[WARNING] Some problems were encountered while building the effective model for com.networknt:eventuate-cdc-service:jar:1.5.5
[WARNING] 'build.plugins.plugin.version' for org.apache.maven.plugins:maven-deploy-plugin is missing. @ com.networknt:eventuate-cdc-service:[unknown-version], /home/steve/networknt/light-eventuate-4j/eventuate-cdc-service/pom.xml
[WARNING]
[WARNING] Some problems were encountered while building the effective model for com.networknt:eventuate-cdc-server:jar:1.5.5
[WARNING] 'build.plugins.plugin.version' for org.apache.maven.plugins:maven-deploy-plugin is missing. @ com.networknt:eventuate-cdc-server:[unknown-version], /home/steve/networknt/light-eventuate-4j/eventuate-cdc-server/pom.xml
[WARNING]
[WARNING] Some problems were encountered while building the effective model for com.networknt:eventuate-client-test-domain:jar:1.5.5
[WARNING] 'build.plugins.plugin.version' for org.apache.maven.plugins:maven-deploy-plugin is missing. @ com.networknt:eventuate-client-test-domain:[unknown-version], /home/steve/networknt/light-eventuate-4j/eventuate-client-test-domain/pom.xml
[WARNING]
[WARNING] Some problems were encountered while building the effective model for com.networknt:eventuate-client-test-example:jar:1.5.5
[WARNING] 'build.plugins.plugin.version' for org.apache.maven.plugins:maven-deploy-plugin is missing. @ com.networknt:eventuate-client-test-example:[unknown-version], /home/steve/networknt/light-eventuate-4j/eventuate-client-test-example/pom.xml
[WARNING]
[WARNING] Some problems were encountered while building the effective model for com.networknt:eventuate-client-test-util:jar:1.5.5
[WARNING] 'build.plugins.plugin.version' for org.apache.maven.plugins:maven-deploy-plugin is missing. @ com.networknt:eventuate-client-test-util:[unknown-version], /home/steve/networknt/light-eventuate-4j/eventuate-client-test-util/pom.xml
[WARNING]
[WARNING] Some problems were encountered while building the effective model for com.networknt:eventuate-common:jar:1.5.5
[WARNING] 'build.plugins.plugin.version' for org.apache.maven.plugins:maven-deploy-plugin is missing. @ com.networknt:eventuate-common:[unknown-version], /home/steve/networknt/light-eventuate-4j/eventuate-common/pom.xml
[WARNING]
[WARNING] Some problems were encountered while building the effective model for com.networknt:eventuate-event:jar:1.5.5
[WARNING] 'build.plugins.plugin.version' for org.apache.maven.plugins:maven-deploy-plugin is missing. @ com.networknt:eventuate-event:[unknown-version], /home/steve/networknt/light-eventuate-4j/eventuate-event/pom.xml
[WARNING]
[WARNING] Some problems were encountered while building the effective model for com.networknt:eventuate-client-jdbc-common:jar:1.5.5
[WARNING] 'build.plugins.plugin.version' for org.apache.maven.plugins:maven-deploy-plugin is missing. @ com.networknt:eventuate-client-jdbc-common:[unknown-version], /home/steve/networknt/light-eventuate-4j/eventuate-client-jdbc-common/pom.xml
[WARNING]
[WARNING] Some problems were encountered while building the effective model for com.networknt:eventuate-client:jar:1.5.5
[WARNING] 'build.plugins.plugin.version' for org.apache.maven.plugins:maven-deploy-plugin is missing. @ com.networknt:eventuate-client:[unknown-version], /home/steve/networknt/light-eventuate-4j/eventuate-client/pom.xml
[WARNING]
[WARNING] Some problems were encountered while building the effective model for com.networknt:eventuate-client-jdbc:jar:1.5.5
[WARNING] 'build.plugins.plugin.version' for org.apache.maven.plugins:maven-deploy-plugin is missing. @ com.networknt:eventuate-client-jdbc:[unknown-version], /home/steve/networknt/light-eventuate-4j/eventuate-client-jdbc/pom.xml
[WARNING]
[WARNING] Some problems were encountered while building the effective model for com.networknt:eventuate-server-kafka:jar:1.5.5
[WARNING] 'build.plugins.plugin.version' for org.apache.maven.plugins:maven-deploy-plugin is missing. @ com.networknt:eventuate-server-kafka:[unknown-version], /home/steve/networknt/light-eventuate-4j/eventuate-server-kafka/pom.xml
[WARNING]
[WARNING] Some problems were encountered while building the effective model for com.networknt:eventuate-client-test:jar:1.5.5
[WARNING] 'build.plugins.plugin.version' for org.apache.maven.plugins:maven-deploy-plugin is missing. @ com.networknt:eventuate-client-test:[unknown-version], /home/steve/networknt/light-eventuate-4j/eventuate-client-test/pom.xml
[WARNING]
[WARNING] Some problems were encountered while building the effective model for com.networknt:eventuate-cdc-polling-server:jar:1.5.5
[WARNING] 'build.plugins.plugin.version' for org.apache.maven.plugins:maven-deploy-plugin is missing. @ com.networknt:eventuate-cdc-polling-server:[unknown-version], /home/steve/networknt/light-eventuate-4j/eventuate-cdc-polling-server/pom.xml
[WARNING]
[WARNING] Some problems were encountered while building the effective model for com.networknt:light-eventuate-4j:pom:1.5.5
[WARNING] 'build.plugins.plugin.version' for org.apache.maven.plugins:maven-deploy-plugin is missing.
[WARNING]
[WARNING] It is highly recommended to fix these problems because they threaten the stability of your build.
[WARNING]
[WARNING] For this reason, future Maven versions might no longer support building such malformed projects.
[WARNING]
As we want to run all tests from light-bot on our devops vm with all cdcserver running, we need to figure out why tests fail in light-eventuate-4j. Need light-eventuate-4j cdcserver up and running to perform tests for all examples.
Hi guys,
One of the project I work on is to introduce new platform for about 42 energy transmission system operators within EU region area.
I need to sell your platform here, I think you also had already to sell the platform to the stakeholders, CEOs/CTOs, etc., so do you have some kind of platform presentation which I could use for my case?
Thanks a lot. If you have anything valuable, please share it with me on archenroot at gmail
Ladislav Jech
NOTE: I tried to add you via linkedin, but I don't have any connection to you, so without payed account wasn't possible to send you message, so using this channel.
Hi guys, how do you handle following scenario?
Order of events:
How to rollback those in as much as possible generic way? The key lies in what you call correlation or global transaction ID, which should be same in all events. So I should be able to send failure event to both booking car and flight with this global transaction id and they will independently revert the booked flight and car.
That way it can work, but it has one negative drawback
This way it will require each service to listen to failed events of all next services in chain, so each service will have implement event handlers for failed messages from all "next" services in process chain, on top the TCP overhead can be also deadly.
So probably better solution will be to do step-by-step rollback and not massive one:
I have studied sagas, but I didn't find clear answer on this common handling scenario...
The only problem with second design I see that it doesn't make sense from business perspective as when hotel failed, both cars and flights should be canceled in parallel.
In the process to start the light-eventuate-4j platform, we start Mysql, Zookeeper and Kafka first and then we start CDC server. The CDC server must be started after Kafka is fully working so that the connect can be established. If CDC server is started before Kafka is ready, the connect won't be established correctly. We need to let CDC server to retry connect periodically in this case. Also, during the server running, the connection to Kafka might be disconnect for some network reason and we need to recover in this scenario.
The more I look into this project the more I am considering it as good fit for my project. What tools do you use in production for monitoring the platform. With SpringBoot I like a lot springboot admin opensource project, zipkin for distributed tracing (https://github.com/openzipkin/zipkin), hawtio.
What is your support here?
add document folder:
Getting start
Architecture
Design
While working on the light-codegen, I am thinking to change this project to light-java-eventuate in order to differentiate with other language implementations like go or nodejs. However, since this framework is based on Kafka and it is very hard to implement some other languages in near future. Let's think about it. For now keep its name as light-eventuate.
eventuate-local f09dfefbaee56a6b7a620bbb61ed750525c6a816 Jul 3, 2017
eventuate-client 91ebd730a5ecb785f64044075ffd2c285f1f7e0a Jul 2, 2017
add new content to readme
change the event handle process bu adding EventHandlerMethodProcessor
Don't know if this is just test case problem or system problem.
Feb 19, 2018 1:51:29 PM com.github.shyiko.mysql.binlog.BinaryLogClient connect
INFO: Connected to localhost:3306 at /4 (sid:1519066260764, cid:15)
Feb 19, 2018 1:51:29 PM com.github.shyiko.mysql.binlog.BinaryLogClient notifyEventListeners
WARNING: com.networknt.eventuate.cdc.mysql.binlog.MySqlBinaryLogClient$$Lambda$34/1041547629@e5752c1 choked on Event{header=EventHeaderV4{timestamp=1519066289000, eventType=EXT_WRITE_ROWS, serverId=1, headerLength=19, dataLength=132, nextPosition=511, flags=0}, data=WriteRowsEventData{tableId=110, includedColumns={0, 1, 2}, rows=[
[com.networknt.eventuate.test.domain.Account, 00000161af681471-ca0f690322830001, 00000161af681471-ca0f690322830000]
]}}
java.lang.ArrayIndexOutOfBoundsException: 4
at com.networknt.eventuate.cdc.mysql.binlog.WriteRowsEventDataParser.getValue(WriteRowsEventDataParser.java:72)
at com.networknt.eventuate.cdc.mysql.binlog.WriteRowsEventDataParser.parseEventData(WriteRowsEventDataParser.java:61)
at com.networknt.eventuate.cdc.mysql.binlog.WriteRowsEventDataParser.parseEventData(WriteRowsEventDataParser.java:20)
at com.networknt.eventuate.cdc.mysql.binlog.MySqlBinaryLogClient.lambda$start$0(MySqlBinaryLogClient.java:85)
at com.github.shyiko.mysql.binlog.BinaryLogClient.notifyEventListeners(BinaryLogClient.java:1055)
at com.github.shyiko.mysql.binlog.BinaryLogClient.listenForEventPackets(BinaryLogClient.java:913)
at com.github.shyiko.mysql.binlog.BinaryLogClient.connect(BinaryLogClient.java:559)
at com.github.shyiko.mysql.binlog.BinaryLogClient$7.run(BinaryLogClient.java:793)
at java.lang.Thread.run(Thread.java:748)
The following services will be started together:
I am thinking to user service.yml to wrap the cdc database part so that we can switch database easily.
cds kafka producer/consumer core service update
Add new config for the prpperties
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.