diff --git a/bruno/updateUser.bru b/bruno/updateUser.bru index 5eca81a..2a7b114 100644 --- a/bruno/updateUser.bru +++ b/bruno/updateUser.bru @@ -5,7 +5,7 @@ meta { } post { - url: http://localhost:9090/services/api/user + url: http://localhost:9091/services/api/user body: json auth: basic } diff --git a/conf/springboot.yml b/conf/springboot.yml index d51ff11..11e1d94 100644 --- a/conf/springboot.yml +++ b/conf/springboot.yml @@ -16,4 +16,6 @@ spring: app: queue-name: "UserServiceQueue" - + zookeeper: + url: "127.0.0.1:2181" + group-name: "UserServiceGroup" diff --git a/conf2/logback.xml b/conf2/logback.xml new file mode 100644 index 0000000..c3c1afd --- /dev/null +++ b/conf2/logback.xml @@ -0,0 +1,28 @@ + + + + + %-5level %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %logger{36} - %msg%n + + + + logs/server.log + + logs/server.%d{yyyy-MM-dd}.log.gz + 3 + 300MB + + + %-5level %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %logger{36} - %msg%n + + + + + + + + + \ No newline at end of file diff --git a/conf2/springboot.yml b/conf2/springboot.yml new file mode 100644 index 0000000..3a0d5f8 --- /dev/null +++ b/conf2/springboot.yml @@ -0,0 +1,21 @@ +server: + port: 9091 + +camel: + springboot: + main-run-controller: true + +spring: + activemq: + broker-url: "tcp://localhost:61616" + ldap: + urls: ldap://localhost:10389 + base: dc=example,dc=com + username: uid=admin,ou=system + password: secret + +app: + queue-name: "UserServiceQueue" + zookeeper: + url: "127.0.0.1:2181" + group-name: "UserServiceGroup" diff --git a/pom.xml b/pom.xml index c9ce93e..ebbc2a3 100644 --- a/pom.xml +++ b/pom.xml @@ -4,12 +4,12 @@ 4.0.0 com.example camel-springboot-activemq6-example - 2.0.1 + 2.1.0 camel-springboot-activemq6-example org.springframework.boot spring-boot-starter-parent - 3.3.8 + 3.3.9 UTF-8 @@ -85,6 +85,10 @@ com.fasterxml.jackson.jakarta.rs jackson-jakarta-rs-json-provider + + org.apache.camel.springboot + camel-zookeeper-master-starter + @@ -100,7 +104,7 @@ org.springframework.boot spring-boot-maven-plugin - com.example.camel.Boot + com.example.sbcamel.Boot diff --git a/readme.md b/readme.md index 6fc8f2e..3e834db 100644 --- a/readme.md +++ b/readme.md @@ -1,13 +1,19 @@ -**Please start the following services before testing** +## Setup -1. ApacheDS Server 2.0.0.AM27 +1. Please start the following services before testing : -2. Apache ActiveMQ 6.1.5 +``` + ApacheDS Server 2.0.0.AM27 + Apache ActiveMQ 6.1.5 + Apache Zookeeper 3.9.3 +``` +2. Please see conf/springboot.yml for LDAP/ActiveMQ Address +3. For LDAP group and user setup, see misc/ldapdb.ldif -**Startup screens** +## Startup screens -1. ApacheDS Server 2.0.0.AM27 +**1. ApacheDS Server 2.0.0.AM27** ``` C:\Users\XXX\apacheds-2.0.0.AM28-SNAPSHOT\bin>apacheds.bat default start @@ -41,7 +47,7 @@ Starting ApacheDS instance 'default'... ``` -2. Apache ActiveMQ 6.1.5 +**2. Apache ActiveMQ 6.1.5** ``` C:\Users\XXX\apache-activemq-6.1.5\bin>activemq start @@ -89,10 +95,115 @@ Loading message broker from: xbean:activemq.xml INFO | ActiveMQ Jolokia REST API available at http://127.0.0.1:8161/api/jolokia/ ``` -**Setup** - -* Please see conf/springboot.yml for LDAP/ActiveMQ Address - -* For LDAP group and user setup, see misc/ldapdb.ldif +**3. Apache Zookeeper 3.9.3** +``` +C:\Users\XXX\apache-zookeeper-3.9.3-bin>bin\zkServer.cmd + +C:\Users\XXX\apache-zookeeper-3.9.3-bin>call "C:\Users\XXX\graalvm-jdk-17.0.14+8.1"\bin\java "-Dzookeeper.log.dir=C:\Users\XXX\apache-zookeeper-3.9.3-bin\bin\..\logs" "-Dzookeeper.log.file=zookeeper-XXX-server-DESKTOP-66E87L5.log" "-XX:+HeapDumpOnOutOfMemoryError" "-XX:OnOutOfMemoryError=cmd /c taskkill /pid %%p /t /f" -cp "C:\Users\XXX\apache-zookeeper-3.9.3-bin\bin\..\build\classes;C:\Users\XXX\apache-zookeeper-3.9.3-bin\bin\..\build\lib\*;C:\Users\XXX\apache-zookeeper-3.9.3-bin\bin\..\*;C:\Users\XXX\apache-zookeeper-3.9.3-bin\bin\..\lib\*;C:\Users\XXX\apache-zookeeper-3.9.3-bin\bin\..\conf" org.apache.zookeeper.server.quorum.QuorumPeerMain "C:\Users\XXX\apache-zookeeper-3.9.3-bin\bin\..\conf\zoo.cfg" +2025-03-01 15:15:37,456 [myid:] - INFO [main:o.a.z.s.q.QuorumPeerConfig@177] - Reading configuration from: C:\Users\XXX\apache-zookeeper-3.9.3-bin\bin\..\conf\zoo.cfg +2025-03-01 15:15:37,458 [myid:] - WARN [main:o.a.z.s.u.VerifyingFileFactory@65] - data is relative. Prepend .\ to indicate that you're sure! +2025-03-01 15:15:37,460 [myid:] - INFO [main:o.a.z.s.q.QuorumPeerConfig@440] - clientPortAddress is 0.0.0.0:2181 +2025-03-01 15:15:37,460 [myid:] - INFO [main:o.a.z.s.q.QuorumPeerConfig@444] - secureClientPort is not set +2025-03-01 15:15:37,460 [myid:] - INFO [main:o.a.z.s.q.QuorumPeerConfig@460] - observerMasterPort is not set +2025-03-01 15:15:37,460 [myid:] - INFO [main:o.a.z.s.q.QuorumPeerConfig@477] - metricsProvider.className is org.apache.zookeeper.metrics.impl.DefaultMetricsProvider +2025-03-01 15:15:37,460 [myid:] - INFO [main:o.a.z.s.DatadirCleanupManager@78] - autopurge.snapRetainCount set to 3 +2025-03-01 15:15:37,460 [myid:] - INFO [main:o.a.z.s.DatadirCleanupManager@79] - autopurge.purgeInterval set to 0 +2025-03-01 15:15:37,460 [myid:] - INFO [main:o.a.z.s.DatadirCleanupManager@101] - Purge task is not scheduled. +2025-03-01 15:15:37,460 [myid:] - WARN [main:o.a.z.s.q.QuorumPeerMain@139] - Either no config or no quorum defined in config, running in standalone mode +2025-03-01 15:15:37,460 [myid:] - INFO [main:o.a.z.j.ManagedUtil@46] - Log4j 1.2 jmx support not found; jmx disabled. +2025-03-01 15:15:37,460 [myid:] - INFO [main:o.a.z.s.q.QuorumPeerConfig@177] - Reading configuration from: C:\Users\XXX\apache-zookeeper-3.9.3-bin\bin\..\conf\zoo.cfg +2025-03-01 15:15:37,460 [myid:] - WARN [main:o.a.z.s.u.VerifyingFileFactory@65] - data is relative. Prepend .\ to indicate that you're sure! +2025-03-01 15:15:37,460 [myid:] - INFO [main:o.a.z.s.q.QuorumPeerConfig@440] - clientPortAddress is 0.0.0.0:2181 +2025-03-01 15:15:37,460 [myid:] - INFO [main:o.a.z.s.q.QuorumPeerConfig@444] - secureClientPort is not set +2025-03-01 15:15:37,460 [myid:] - INFO [main:o.a.z.s.q.QuorumPeerConfig@460] - observerMasterPort is not set +2025-03-01 15:15:37,460 [myid:] - INFO [main:o.a.z.s.q.QuorumPeerConfig@477] - metricsProvider.className is org.apache.zookeeper.metrics.impl.DefaultMetricsProvider +2025-03-01 15:15:37,460 [myid:] - INFO [main:o.a.z.s.ZooKeeperServerMain@123] - Starting server +2025-03-01 15:15:37,460 [myid:] - INFO [main:o.a.z.s.ServerMetrics@64] - ServerMetrics initialized with provider org.apache.zookeeper.metrics.impl.DefaultMetricsProvider@4c762604 +2025-03-01 15:15:37,478 [myid:] - INFO [main:o.a.z.s.a.DigestAuthenticationProvider@51] - ACL digest algorithm is: SHA1 +2025-03-01 15:15:37,481 [myid:] - INFO [main:o.a.z.s.a.DigestAuthenticationProvider@65] - zookeeper.DigestAuthenticationProvider.enabled = true +2025-03-01 15:15:37,481 [myid:] - INFO [main:o.a.z.s.p.FileTxnSnapLog@124] - zookeeper.snapshot.trust.empty : false +2025-03-01 15:15:37,481 [myid:] - INFO [main:o.a.z.ZookeeperBanner@42] - +2025-03-01 15:15:37,481 [myid:] - INFO [main:o.a.z.ZookeeperBanner@42] - ______ _ +2025-03-01 15:15:37,481 [myid:] - INFO [main:o.a.z.ZookeeperBanner@42] - |___ / | | +2025-03-01 15:15:37,481 [myid:] - INFO [main:o.a.z.ZookeeperBanner@42] - / / ___ ___ | | __ ___ ___ _ __ ___ _ __ +2025-03-01 15:15:37,481 [myid:] - INFO [main:o.a.z.ZookeeperBanner@42] - / / / _ \ / _ \ | |/ / / _ \ / _ \ | '_ \ / _ \ | '__| +2025-03-01 15:15:37,481 [myid:] - INFO [main:o.a.z.ZookeeperBanner@42] - / /__ | (_) | | (_) | | < | __/ | __/ | |_) | | __/ | | +2025-03-01 15:15:37,481 [myid:] - INFO [main:o.a.z.ZookeeperBanner@42] - /_____| \___/ \___/ |_|\_\ \___| \___| | .__/ \___| |_| +2025-03-01 15:15:37,481 [myid:] - INFO [main:o.a.z.ZookeeperBanner@42] - | | +2025-03-01 15:15:37,481 [myid:] - INFO [main:o.a.z.ZookeeperBanner@42] - |_| +2025-03-01 15:15:37,481 [myid:] - INFO [main:o.a.z.ZookeeperBanner@42] - +2025-03-01 15:15:37,492 [myid:] - INFO [main:o.a.z.Environment@98] - Server environment:zookeeper.version=3.9.3-c26634f34490bb0ea7a09cc51e05ede3b4e320ee, built on 2024-10-17 23:21 UTC +2025-03-01 15:15:37,492 [myid:] - INFO [main:o.a.z.Environment@98] - Server environment:host.name=DESKTOP-66E87L5 +2025-03-01 15:15:37,492 [myid:] - INFO [main:o.a.z.Environment@98] - Server environment:java.version=17.0.14 +2025-03-01 15:15:37,492 [myid:] - INFO [main:o.a.z.Environment@98] - Server environment:java.vendor=Oracle Corporation +2025-03-01 15:15:37,492 [myid:] - INFO [main:o.a.z.Environment@98] - Server environment:java.home=C:\Users\XXX\graalvm-jdk-17.0.14+8.1 +2025-03-01 15:15:37,492 [myid:] - INFO [main:o.a.z.Environment@98] - Server environment:java.class.path=C:\Users\XXX\apache-zookeeper-3.9.3-bin\bin\..\build\classes;C:\Users\XXX\apache-zookeeper-3.9.3-bin\bin\..\build\lib\*;C:\Users\XXX\apache-zookeeper-3.9.3-bin\bin\..\*;C:\Users\XXX\apache-zookeeper-3.9.3-bin\bin\..\lib\audience-annotations-0.12.0.jar;C:\Users\XXX\apache-zookeeper-3.9.3-bin\bin\..\lib\commons-cli-1.5.0.jar;C:\Users\XXX\apache-zookeeper-3.9.3-bin\bin\..\lib\commons-io-2.17.0.jar;C:\Users\XXX\apache-zookeeper-3.9.3-bin\bin\..\lib\jackson-annotations-2.15.2.jar;C:\Users\XXX\apache-zookeeper-3.9.3-bin\bin\..\lib\jackson-core-2.15.2.jar;C:\Users\XXX\apache-zookeeper-3.9.3-bin\bin\..\lib\jackson-databind-2.15.2.jar;C:\Users\XXX\apache-zookeeper-3.9.3-bin\bin\..\lib\javax.servlet-api-3.1.0.jar;C:\Users\XXX\apache-zookeeper-3.9.3-bin\bin\..\lib\jetty-http-9.4.56.v20240826.jar;C:\Users\XXX\apache-zookeeper-3.9.3-bin\bin\..\lib\jetty-io-9.4.56.v20240826.jar;C:\Users\XXX\apache-zookeeper-3.9.3-bin\bin\..\lib\jetty-security-9.4.56.v20240826.jar;C:\Users\XXX\apache-zookeeper-3.9.3-bin\bin\..\lib\jetty-server-9.4.56.v20240826.jar;C:\Users\XXX\apache-zookeeper-3.9.3-bin\bin\..\lib\jetty-servlet-9.4.56.v20240826.jar;C:\Users\XXX\apache-zookeeper-3.9.3-bin\bin\..\lib\jetty-util-9.4.56.v20240826.jar;C:\Users\XXX\apache-zookeeper-3.9.3-bin\bin\..\lib\jetty-util-ajax-9.4.56.v20240826.jar;C:\Users\XXX\apache-zookeeper-3.9.3-bin\bin\..\lib\jline-2.14.6.jar;C:\Users\XXX\apache-zookeeper-3.9.3-bin\bin\..\lib\logback-classic-1.2.13.jar;C:\Users\XXX\apache-zookeeper-3.9.3-bin\bin\..\lib\logback-core-1.2.13.jar;C:\Users\XXX\apache-zookeeper-3.9.3-bin\bin\..\lib\metrics-core-4.1.12.1.jar;C:\Users\XXX\apache-zookeeper-3.9.3-bin\bin\..\lib\netty-buffer-4.1.113.Final.jar;C:\Users\XXX\apache-zookeeper-3.9.3-bin\bin\..\lib\netty-codec-4.1.113.Final.jar;C:\Users\XXX\apache-zookeeper-3.9.3-bin\bin\..\lib\netty-common-4.1.113.Final.jar;C:\Users\XXX\apache-zookeeper-3.9.3-bin\bin\..\lib\netty-handler-4.1.113.Final.jar;C:\Users\XXX\apache-zookeeper-3.9.3-bin\bin\..\lib\netty-resolver-4.1.113.Final.jar;C:\Users\XXX\apache-zookeeper-3.9.3-bin\bin\..\lib\netty-tcnative-boringssl-static-2.0.66.Final-linux-aarch_64.jar;C:\Users\XXX\apache-zookeeper-3.9.3-bin\bin\..\lib\netty-tcnative-boringssl-static-2.0.66.Final-linux-x86_64.jar;C:\Users\XXX\apache-zookeeper-3.9.3-bin\bin\..\lib\netty-tcnative-boringssl-static-2.0.66.Final-osx-aarch_64.jar;C:\Users\XXX\apache-zookeeper-3.9.3-bin\bin\..\lib\netty-tcnative-boringssl-static-2.0.66.Final-osx-x86_64.jar;C:\Users\XXX\apache-zookeeper-3.9.3-bin\bin\..\lib\netty-tcnative-boringssl-static-2.0.66.Final-windows-x86_64.jar;C:\Users\XXX\apache-zookeeper-3.9.3-bin\bin\..\lib\netty-tcnative-boringssl-static-2.0.66.Final.jar;C:\Users\XXX\apache-zookeeper-3.9.3-bin\bin\..\lib\netty-tcnative-classes-2.0.66.Final.jar;C:\Users\XXX\apache-zookeeper-3.9.3-bin\bin\..\lib\netty-transport-4.1.113.Final.jar;C:\Users\XXX\apache-zookeeper-3.9.3-bin\bin\..\lib\netty-transport-classes-epoll-4.1.113.Final.jar;C:\Users\XXX\apache-zookeeper-3.9.3-bin\bin\..\lib\netty-transport-native-epoll-4.1.113.Final-linux-x86_64.jar;C:\Users\XXX\apache-zookeeper-3.9.3-bin\bin\..\lib\netty-transport-native-unix-common-4.1.113.Final.jar;C:\Users\XXX\apache-zookeeper-3.9.3-bin\bin\..\lib\simpleclient-0.9.0.jar;C:\Users\XXX\apache-zookeeper-3.9.3-bin\bin\..\lib\simpleclient_common-0.9.0.jar;C:\Users\XXX\apache-zookeeper-3.9.3-bin\bin\..\lib\simpleclient_hotspot-0.9.0.jar;C:\Users\XXX\apache-zookeeper-3.9.3-bin\bin\..\lib\simpleclient_servlet-0.9.0.jar;C:\Users\XXX\apache-zookeeper-3.9.3-bin\bin\..\lib\slf4j-api-1.7.30.jar;C:\Users\XXX\apache-zookeeper-3.9.3-bin\bin\..\lib\snappy-java-1.1.10.5.jar;C:\Users\XXX\apache-zookeeper-3.9.3-bin\bin\..\lib\zookeeper-3.9.3.jar;C:\Users\XXX\apache-zookeeper-3.9.3-bin\bin\..\lib\zookeeper-jute-3.9.3.jar;C:\Users\XXX\apache-zookeeper-3.9.3-bin\bin\..\lib\zookeeper-prometheus-metrics-3.9.3.jar;C:\Users\XXX\apache-zookeeper-3.9.3-bin\bin\..\conf +2025-03-01 15:15:37,492 [myid:] - INFO [main:o.a.z.Environment@98] - Server environment:java.library.path=C:\Users\XXX\graalvm-jdk-17.0.14+8.1\bin;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files\NVIDIA Corporation\NVIDIA NvDLISR;C:\Program Files\PuTTY\;C:\Users\XXX\AppData\Local\Microsoft\WindowsApps;C:\Users\XXX\graalvm-jdk-17.0.14+8.1\bin;;C:\Users\XXX\graalvm-jdk-17.0.14+8.1\bin;. +2025-03-01 15:15:37,492 [myid:] - INFO [main:o.a.z.Environment@98] - Server environment:java.io.tmpdir=C:\Users\XXX\AppData\Local\Temp\ +2025-03-01 15:15:37,492 [myid:] - INFO [main:o.a.z.Environment@98] - Server environment:java.compiler= +2025-03-01 15:15:37,492 [myid:] - INFO [main:o.a.z.Environment@98] - Server environment:os.name=Windows 11 +2025-03-01 15:15:37,492 [myid:] - INFO [main:o.a.z.Environment@98] - Server environment:os.arch=amd64 +2025-03-01 15:15:37,492 [myid:] - INFO [main:o.a.z.Environment@98] - Server environment:os.version=10.0 +2025-03-01 15:15:37,492 [myid:] - INFO [main:o.a.z.Environment@98] - Server environment:user.name=XXX +2025-03-01 15:15:37,492 [myid:] - INFO [main:o.a.z.Environment@98] - Server environment:user.home=C:\Users\XXX +2025-03-01 15:15:37,492 [myid:] - INFO [main:o.a.z.Environment@98] - Server environment:user.dir=C:\Users\XXX\apache-zookeeper-3.9.3-bin +2025-03-01 15:15:37,492 [myid:] - INFO [main:o.a.z.Environment@98] - Server environment:os.memory.free=495MB +2025-03-01 15:15:37,492 [myid:] - INFO [main:o.a.z.Environment@98] - Server environment:os.memory.max=8136MB +2025-03-01 15:15:37,492 [myid:] - INFO [main:o.a.z.Environment@98] - Server environment:os.memory.total=512MB +2025-03-01 15:15:37,492 [myid:] - INFO [main:o.a.z.s.ZooKeeperServer@149] - zookeeper.enableEagerACLCheck = false +2025-03-01 15:15:37,492 [myid:] - INFO [main:o.a.z.s.ZooKeeperServer@162] - zookeeper.digest.enabled = true +2025-03-01 15:15:37,492 [myid:] - INFO [main:o.a.z.s.ZooKeeperServer@166] - zookeeper.closeSessionTxn.enabled = true +2025-03-01 15:15:37,492 [myid:] - INFO [main:o.a.z.s.ZooKeeperServer@2242] - zookeeper.serializeLastProcessedZxid.enabled = true +2025-03-01 15:15:37,492 [myid:] - INFO [main:o.a.z.s.ZooKeeperServer@1585] - zookeeper.flushDelay = 0 ms +2025-03-01 15:15:37,492 [myid:] - INFO [main:o.a.z.s.ZooKeeperServer@1594] - zookeeper.maxWriteQueuePollTime = 0 ms +2025-03-01 15:15:37,492 [myid:] - INFO [main:o.a.z.s.ZooKeeperServer@1603] - zookeeper.maxBatchSize=1000 +2025-03-01 15:15:37,492 [myid:] - INFO [main:o.a.z.s.ZooKeeperServer@287] - zookeeper.intBufferStartingSizeBytes = 1024 +2025-03-01 15:15:37,492 [myid:] - INFO [main:o.a.z.s.BlueThrottle@141] - Weighed connection throttling is disabled +2025-03-01 15:15:37,492 [myid:] - INFO [main:o.a.z.s.AuthenticationHelper@66] - zookeeper.enforce.auth.enabled = false +2025-03-01 15:15:37,492 [myid:] - INFO [main:o.a.z.s.AuthenticationHelper@67] - zookeeper.enforce.auth.schemes = [] +2025-03-01 15:15:37,492 [myid:] - INFO [main:o.a.z.s.ZooKeeperServer@1395] - minSessionTimeout set to 4000 ms +2025-03-01 15:15:37,492 [myid:] - INFO [main:o.a.z.s.ZooKeeperServer@1404] - maxSessionTimeout set to 40000 ms +2025-03-01 15:15:37,492 [myid:] - INFO [main:o.a.z.s.ResponseCache@45] - getData response cache size is initialized with value 400. +2025-03-01 15:15:37,492 [myid:] - INFO [main:o.a.z.s.ResponseCache@45] - getChildren response cache size is initialized with value 400. +2025-03-01 15:15:37,492 [myid:] - INFO [main:o.a.z.s.u.RequestPathMetricsCollector@109] - zookeeper.pathStats.slotCapacity = 60 +2025-03-01 15:15:37,492 [myid:] - INFO [main:o.a.z.s.u.RequestPathMetricsCollector@110] - zookeeper.pathStats.slotDuration = 15 +2025-03-01 15:15:37,492 [myid:] - INFO [main:o.a.z.s.u.RequestPathMetricsCollector@111] - zookeeper.pathStats.maxDepth = 6 +2025-03-01 15:15:37,492 [myid:] - INFO [main:o.a.z.s.u.RequestPathMetricsCollector@112] - zookeeper.pathStats.initialDelay = 5 +2025-03-01 15:15:37,492 [myid:] - INFO [main:o.a.z.s.u.RequestPathMetricsCollector@113] - zookeeper.pathStats.delay = 5 +2025-03-01 15:15:37,492 [myid:] - INFO [main:o.a.z.s.u.RequestPathMetricsCollector@114] - zookeeper.pathStats.enabled = false +2025-03-01 15:15:37,492 [myid:] - INFO [main:o.a.z.s.ZooKeeperServer@1622] - The max bytes for all large requests are set to 104857600 +2025-03-01 15:15:37,492 [myid:] - INFO [main:o.a.z.s.ZooKeeperServer@1636] - The large request threshold is set to -1 +2025-03-01 15:15:37,492 [myid:] - INFO [main:o.a.z.s.ZooKeeperServer@385] - Created server with tickTime 2000 ms minSessionTimeout 4000 ms maxSessionTimeout 40000 ms clientPortListenBacklog -1 dataLogdir data\version-2 snapdir data\version-2 +2025-03-01 15:15:37,513 [myid:] - INFO [main:o.e.j.u.l.Log@170] - Logging initialized @220ms to org.eclipse.jetty.util.log.Slf4jLog +2025-03-01 15:15:37,545 [myid:] - WARN [main:o.e.j.s.h.ContextHandler@1662] - o.e.j.s.ServletContextHandler@6cf0e0ba{/,null,STOPPED} contextPath ends with /* +2025-03-01 15:15:37,545 [myid:] - WARN [main:o.e.j.s.h.ContextHandler@1673] - Empty contextPath +2025-03-01 15:15:37,556 [myid:] - INFO [main:o.e.j.s.Server@375] - jetty-9.4.56.v20240826; built: 2024-08-26T17:15:05.868Z; git: ec6782ff5ead824dabdcf47fa98f90a4aedff401; jvm 17.0.14+8-LTS-jvmci-23.0-b54 +2025-03-01 15:15:37,570 [myid:] - INFO [main:o.e.j.s.s.DefaultSessionIdManager@334] - DefaultSessionIdManager workerName=node0 +2025-03-01 15:15:37,570 [myid:] - INFO [main:o.e.j.s.s.DefaultSessionIdManager@339] - No SessionScavenger set, using defaults +2025-03-01 15:15:37,570 [myid:] - INFO [main:o.e.j.s.s.HouseKeeper@132] - node0 Scavenging every 660000ms +2025-03-01 15:15:37,570 [myid:] - WARN [main:o.e.j.s.ConstraintSecurityHandler@759] - ServletContext@o.e.j.s.ServletContextHandler@6cf0e0ba{/,null,STARTING} has uncovered http methods for path: /* +2025-03-01 15:15:37,583 [myid:] - INFO [main:o.e.j.s.h.ContextHandler@921] - Started o.e.j.s.ServletContextHandler@6cf0e0ba{/,null,AVAILABLE} +2025-03-01 15:15:37,647 [myid:] - INFO [main:o.e.j.s.AbstractConnector@333] - Started ServerConnector@3c407114{HTTP/1.1, (http/1.1)}{0.0.0.0:8080} +2025-03-01 15:15:37,647 [myid:] - INFO [main:o.e.j.s.Server@415] - Started @352ms +2025-03-01 15:15:37,647 [myid:] - INFO [main:o.a.z.s.a.JettyAdminServer@201] - Started AdminServer on address 0.0.0.0, port 8080 and command URL /commands +2025-03-01 15:15:37,649 [myid:] - INFO [main:o.a.z.s.ServerCnxnFactory@172] - Using org.apache.zookeeper.server.NIOServerCnxnFactory as server connection factory +2025-03-01 15:15:37,649 [myid:] - WARN [main:o.a.z.s.ServerCnxnFactory@337] - maxCnxns is not configured, using default value 0. +2025-03-01 15:15:37,649 [myid:] - INFO [main:o.a.z.s.NIOServerCnxnFactory@652] - Configuring NIO connection handler with 10s sessionless connection timeout, 3 selector thread(s), 56 worker threads, and 64 kB direct buffers. +2025-03-01 15:15:37,649 [myid:] - INFO [main:o.a.z.s.NIOServerCnxnFactory@660] - binding to port 0.0.0.0/0.0.0.0:2181 +2025-03-01 15:15:37,659 [myid:] - INFO [main:o.a.z.s.w.WatchManagerFactory@42] - Using org.apache.zookeeper.server.watch.WatchManager as watch manager +2025-03-01 15:15:37,660 [myid:] - INFO [main:o.a.z.s.w.WatchManagerFactory@42] - Using org.apache.zookeeper.server.watch.WatchManager as watch manager +2025-03-01 15:15:37,660 [myid:] - INFO [main:o.a.z.s.ZKDatabase@134] - zookeeper.snapshotSizeFactor = 0.33 +2025-03-01 15:15:37,660 [myid:] - INFO [main:o.a.z.s.ZKDatabase@154] - zookeeper.commitLogCount=500 +2025-03-01 15:15:37,664 [myid:] - INFO [main:o.a.z.s.p.SnapStream@61] - zookeeper.snapshot.compression.method = CHECKED +2025-03-01 15:15:37,664 [myid:] - INFO [main:o.a.z.s.p.FileTxnSnapLog@480] - Snapshotting: 0x0 to data\version-2\snapshot.0 +2025-03-01 15:15:37,665 [myid:] - INFO [main:o.a.z.s.ZKDatabase@291] - Snapshot loaded in 5 ms, highest zxid is 0x0, digest is 1371985504 +2025-03-01 15:15:37,666 [myid:] - INFO [main:o.a.z.s.p.FileTxnSnapLog@480] - Snapshotting: 0x0 to data\version-2\snapshot.0 +2025-03-01 15:15:37,667 [myid:] - INFO [main:o.a.z.s.ZooKeeperServer@589] - Snapshot taken in 0 ms +2025-03-01 15:15:37,670 [myid:] - INFO [ProcessThread(sid:0 cport:2181)::o.a.z.s.PrepRequestProcessor@138] - PrepRequestProcessor (sid:0) started, reconfigEnabled=false +2025-03-01 15:15:37,670 [myid:] - INFO [main:o.a.z.s.RequestThrottler@75] - zookeeper.request_throttler.shutdownTimeout = 10000 ms +2025-03-01 15:15:37,719 [myid:] - INFO [main:o.a.z.s.ContainerManager@83] - Using checkIntervalMs=60000 maxPerMinute=10000 maxNeverUsedIntervalMs=0 +2025-03-01 15:15:37,720 [myid:] - INFO [main:o.a.z.a.ZKAuditProvider@42] - ZooKeeper audit is disabled. +2025-03-01 15:28:22,213 [myid:] - INFO [SyncThread:0:o.a.z.s.p.FileTxnLog@291] - Creating new log file: log.1 +``` diff --git a/src/main/java/com/example/camel/Boot.java b/src/main/java/com/example/sbcamel/Boot.java similarity index 93% rename from src/main/java/com/example/camel/Boot.java rename to src/main/java/com/example/sbcamel/Boot.java index 2515f7d..c63d1af 100644 --- a/src/main/java/com/example/camel/Boot.java +++ b/src/main/java/com/example/sbcamel/Boot.java @@ -1,4 +1,4 @@ -package com.example.camel; +package com.example.sbcamel; import java.io.File; diff --git a/src/main/java/com/example/camel/CamelRouter.java b/src/main/java/com/example/sbcamel/CamelRouter.java similarity index 64% rename from src/main/java/com/example/camel/CamelRouter.java rename to src/main/java/com/example/sbcamel/CamelRouter.java index d9da479..0117900 100644 --- a/src/main/java/com/example/camel/CamelRouter.java +++ b/src/main/java/com/example/sbcamel/CamelRouter.java @@ -1,8 +1,9 @@ -package com.example.camel; +package com.example.sbcamel; import org.apache.camel.Exchange; import org.apache.camel.builder.RouteBuilder; import org.apache.camel.component.bean.validator.BeanValidationException; +import org.apache.camel.component.zookeepermaster.policy.MasterRoutePolicy; import org.apache.camel.model.dataformat.JsonLibrary; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; @@ -15,6 +16,12 @@ public class CamelRouter extends RouteBuilder { @Value("${app.queue-name}") private String queueName; + @Value("${app.zookeeper.url}") + private String zookeeperUrl; + + @Value("${app.zookeeper.group-name}") + private String groupName; + @Override public void configure() throws Exception { // very raw way, just to handle the validation responses @@ -27,8 +34,12 @@ public class CamelRouter extends RouteBuilder { .setHeader(Exchange.BEAN_METHOD_NAME, simple("${header.operationName}")) .to("activemq6:queue:" + queueName); - from("activemq6:queue:" + queueName).to("bean-validator:user").bean(UserServiceImpl.class).marshal() - .json(JsonLibrary.Jackson); + MasterRoutePolicy masterRoutePolicy = new MasterRoutePolicy(); + masterRoutePolicy.setZooKeeperUrl(zookeeperUrl); + masterRoutePolicy.setGroupName(groupName); + + from("activemq6:queue:" + queueName).autoStartup("false").routePolicy(masterRoutePolicy) + .to("bean-validator:user").bean(UserServiceImpl.class).marshal().json(JsonLibrary.Jackson); } } \ No newline at end of file diff --git a/src/main/java/com/example/camel/SecurityConfig.java b/src/main/java/com/example/sbcamel/SecurityConfig.java similarity index 96% rename from src/main/java/com/example/camel/SecurityConfig.java rename to src/main/java/com/example/sbcamel/SecurityConfig.java index 00ba67d..0e1a11e 100644 --- a/src/main/java/com/example/camel/SecurityConfig.java +++ b/src/main/java/com/example/sbcamel/SecurityConfig.java @@ -1,4 +1,4 @@ -package com.example.camel; +package com.example.sbcamel; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; diff --git a/src/main/java/com/example/camel/User.java b/src/main/java/com/example/sbcamel/User.java similarity index 92% rename from src/main/java/com/example/camel/User.java rename to src/main/java/com/example/sbcamel/User.java index 0fe2adb..c94a970 100644 --- a/src/main/java/com/example/camel/User.java +++ b/src/main/java/com/example/sbcamel/User.java @@ -1,4 +1,4 @@ -package com.example.camel; +package com.example.sbcamel; import java.io.Serializable; import java.util.StringJoiner; diff --git a/src/main/java/com/example/camel/UserService.java b/src/main/java/com/example/sbcamel/UserService.java similarity index 92% rename from src/main/java/com/example/camel/UserService.java rename to src/main/java/com/example/sbcamel/UserService.java index a65460d..ee01434 100644 --- a/src/main/java/com/example/camel/UserService.java +++ b/src/main/java/com/example/sbcamel/UserService.java @@ -1,4 +1,4 @@ -package com.example.camel; +package com.example.sbcamel; import java.util.Collection; diff --git a/src/main/java/com/example/camel/UserServiceImpl.java b/src/main/java/com/example/sbcamel/UserServiceImpl.java similarity index 91% rename from src/main/java/com/example/camel/UserServiceImpl.java rename to src/main/java/com/example/sbcamel/UserServiceImpl.java index b80a002..eaf2c62 100644 --- a/src/main/java/com/example/camel/UserServiceImpl.java +++ b/src/main/java/com/example/sbcamel/UserServiceImpl.java @@ -1,4 +1,4 @@ -package com.example.camel; +package com.example.sbcamel; import java.util.Collection; import java.util.Map;