diff --git a/kontor-spring/.gitattributes b/kontor-spring/.gitattributes index 8af972c..097f9f9 100644 --- a/kontor-spring/.gitattributes +++ b/kontor-spring/.gitattributes @@ -1,3 +1,9 @@ -/gradlew text eol=lf -*.bat text eol=crlf -*.jar binary +# +# https://help.github.com/articles/dealing-with-line-endings/ +# +# Linux start script should use lf +/gradlew text eol=lf + +# These are Windows script files and should use crlf +*.bat text eol=crlf + diff --git a/kontor-spring/.gitignore b/kontor-spring/.gitignore index ac0ef07..9896012 100644 --- a/kontor-spring/.gitignore +++ b/kontor-spring/.gitignore @@ -1,38 +1,33 @@ -node_modules -HELP.md -.gradle +.gradle/ +.settings/ build/ -!gradle/wrapper/gradle-wrapper.jar -!**/src/main/**/build/ -!**/src/test/**/build/ - -### STS ### -.apt_generated -.classpath -.factorypath -.project -.settings -.springBeans -.sts4-cache bin/ -!**/src/main/**/bin/ -!**/src/test/**/bin/ -### IntelliJ IDEA ### -.idea -*.iws -*.iml -*.ipr -out/ -!**/src/main/**/out/ -!**/src/test/**/out/ +# Ignore Gradle GUI config +gradle-app.setting -### NetBeans ### -/nbproject/private/ -/nbbuild/ -/dist/ -/nbdist/ -/.nb-gradle/ +# Avoid ignoring Gradle wrapper jar file (.jar files are usually ignored) +!gradle-wrapper.jar -### VS Code ### +.project +.classpath .vscode/ +.idea/ +*.lock +logs/ +frontend/generated +frontend/index.html +package*.json +tsconfig.json +types.d.ts +node_modules/ +vite.* +kontor*Db +tags* +kontorHSQLDB* +.vs/ +.winget +src/main/resources/application-local.properties +src/main/resources/application-prod.properties +src/main/resources/application-*.yml +/uploaded-files/ diff --git a/kontor-spring/Containerfile b/kontor-spring/Containerfile index cc3c763..34017e6 100644 --- a/kontor-spring/Containerfile +++ b/kontor-spring/Containerfile @@ -1,5 +1,5 @@ # ----------------------------------------------------------------------- # -FROM docker.io/library/gradle:9.5-jdk AS builder +FROM docker.io/library/gradle:8.7-jdk AS builder WORKDIR / COPY ./src/main/ ./src/main/ COPY ./frontend/ ./frontend/ @@ -10,7 +10,7 @@ COPY ./gradle/libs.versions.toml ./gradle/ RUN gradle bootJar --no-daemon # ----------------------------------------------------------------------- # -FROM docker.io/alpine/java:25-jdk AS run +FROM docker.io/alpine/java:21-jdk AS run RUN mkdir -p /logs diff --git a/kontor-spring/Makefile b/kontor-spring/Makefile new file mode 100644 index 0000000..55728ed --- /dev/null +++ b/kontor-spring/Makefile @@ -0,0 +1,8 @@ +.PYHONY: all + +all: + ./gradlew build + +docker: + ./gradlew dockerImage + diff --git a/kontor-spring/README.md b/kontor-spring/README.md new file mode 100644 index 0000000..f24bbcd --- /dev/null +++ b/kontor-spring/README.md @@ -0,0 +1,3 @@ +# kontor-spring + +Kontor Anwendung mit Spring Boot und Vaadin \ No newline at end of file diff --git a/kontor-spring/build.gradle b/kontor-spring/build.gradle index a399437..e49cbac 100644 --- a/kontor-spring/build.gradle +++ b/kontor-spring/build.gradle @@ -1,61 +1,104 @@ -plugins { - id 'java' - id 'maven-publish' - alias(libs.plugins.spring.boot) - alias(libs.plugins.spring.dependencies) - alias(libs.plugins.vaadin) +buildscript { + configurations.classpath { + resolutionStrategy.eachDependency { DependencyResolveDetails details -> + if (details.requested.group == 'com.burgstaller' && details.requested.name == 'okhttp-digest' && details.requested.version == '1.10') { + details.useTarget "io.github.rburgst:${details.requested.name}:1.21" + details.because 'Dependency has moved' + } + } + } + repositories { + mavenCentral() + maven { setUrl("https://nexus.thpeetz.de/repository/maven-central") } + maven { setUrl("https://maven.vaadin.com/vaadin-prereleases") } + maven { setUrl("https://repo.spring.io/milestone") } + } } -java { - toolchain { - languageVersion = JavaLanguageVersion.of(25) - } +plugins { + id 'java' + id 'application' + id 'maven-publish' + id "com.google.cloud.artifactregistry.gradle-plugin" version "2.2.0" + id 'jvm-test-suite' + id 'jacoco' + id 'test-report-aggregation' + id 'jacoco-report-aggregation' + alias(libs.plugins.spring.boot) + alias(libs.plugins.spring.dependencies) + alias(libs.plugins.vaadin) + alias(libs.plugins.lombok) + //alias(libs.plugins.asciidoctorPdf) + //alias(libs.plugins.asciidoctorConvert) + //alias(libs.plugins.asciidoctorGems) + //id "de.infolektuell.typst" version "0.8.0" } repositories { maven { setUrl("https://nexus.thpeetz.de/repository/maven-central") } - mavenCentral() + mavenCentral() + //ruby.gems() + maven { setUrl("https://maven.vaadin.com/vaadin-prereleases") } + maven { setUrl("https://repo.spring.io/milestone") } + maven { setUrl("https://maven.vaadin.com/vaadin-addons") } } -ext { - set('vaadinVersion', "25.2.6") +java { + sourceCompatibility = JavaVersion.VERSION_21 +} + +configurations { + developmentOnly + runtimeClasspath { + extendsFrom developmentOnly + } } dependencies { - implementation 'org.springframework.boot:spring-boot-starter-actuator' - implementation 'org.springframework.boot:spring-boot-starter-artemis' - implementation 'org.springframework.boot:spring-boot-starter-data-jpa' - implementation 'org.springframework.boot:spring-boot-starter-security' - developmentOnly 'com.vaadin:vaadin-dev' - implementation 'com.vaadin:vaadin-spring-boot-starter' - implementation 'org.apache.camel.springboot:camel-spring-boot-starter:4.22.0' + implementation 'com.vaadin:vaadin-core' + implementation 'com.vaadin:vaadin-spring-boot-starter' + implementation 'org.springframework.boot:spring-boot-starter-artemis' + implementation 'org.springframework.boot:spring-boot-starter-security' + implementation 'org.springframework.boot:spring-boot-starter-data-jpa' + implementation 'org.springframework.boot:spring-boot-starter-validation' + implementation 'org.apache.camel.springboot:camel-spring-boot-starter' implementation 'org.apache.camel.springboot:camel-jms-starter' implementation 'org.apache.activemq:artemis-jakarta-client' - implementation libs.hypersistence - implementation libs.mail - compileOnly 'org.projectlombok:lombok' - developmentOnly 'org.springframework.boot:spring-boot-devtools' - runtimeOnly 'io.micrometer:micrometer-registry-prometheus' + //implementation libs.artemis + implementation 'org.springframework.boot:spring-boot-starter-actuator' + developmentOnly 'org.springframework.boot:spring-boot-devtools' + implementation 'io.micrometer:micrometer-registry-prometheus' implementation 'org.springframework.security:spring-security-oauth2-jose' implementation 'org.springframework.security:spring-security-oauth2-resource-server' - runtimeOnly 'org.postgresql:postgresql' - runtimeOnly 'org.xerial:sqlite-jdbc' - //implementation 'org.hibernate.orm:hibernate-community-dialects' - annotationProcessor 'org.projectlombok:lombok' - annotationProcessor 'org.springframework.boot:spring-boot-configuration-processor' - testImplementation 'org.springframework.boot:spring-boot-starter-artemis-test' - testImplementation 'org.springframework.boot:spring-boot-starter-data-jpa-test' - testImplementation 'org.springframework.boot:spring-boot-starter-security-test' - testCompileOnly 'org.projectlombok:lombok' - testRuntimeOnly 'org.junit.platform:junit-platform-launcher' - testAnnotationProcessor 'org.projectlombok:lombok' + implementation 'com.h2database:h2' + implementation libs.hsqldb + implementation 'org.postgresql:postgresql' + //runtimeOnly 'org.mariadb.jdbc:mariadb-java-client' + implementation libs.hypersistence + implementation libs.mail + implementation libs.jackson + implementation libs.gson + implementation libs.json + implementation 'org.hibernate.orm:hibernate-community-dialects' + testImplementation('org.springframework.boot:spring-boot-starter-test') { + exclude group: 'org.junit.vintage', module: 'junit-vintage-engine' + } + testImplementation 'org.springframework.security:spring-security-test' + testImplementation 'com.vaadin:vaadin-testbench-junit5' + testImplementation 'io.projectreactor:reactor-test' + testImplementation 'org.apache.camel:camel-test-spring-junit5' + testRuntimeOnly 'org.junit.platform:junit-platform-launcher' + compileOnly 'org.projectlombok:lombok' + annotationProcessor 'org.projectlombok:lombok' + //asciidoctorGems libs.rouge + //asciidoctorGems libs.diagram } dependencyManagement { - imports { + imports { mavenBom libs.vaadin.bom.get().toString() mavenBom libs.camel.bom.get().toString() - } + } } publishing { @@ -74,15 +117,112 @@ publishing { password = project.findProperty('nexusPassword') } } +// maven { +// name = "gitlabPackageRegistry" +// url = uri("https://gitlab.com/api/v4/projects/64726715/packages/maven") +// credentials(PasswordCredentials) +// } } } +application { + mainClass = 'de.thpeetz.kontor.Application' +} + bootRun { args = ["--spring.profiles.active=${project.properties['profile'] ?: 'prod'}"] } -tasks.named('test') { - useJUnitPlatform() +task dockerImage(type: Exec) { + dependsOn(bootJar) + commandLine "docker", "build", ".", "-t", "kontor:${project.version}" +} + +vaadin { + productionMode = true +} + +testing { + suites { + configureEach { + useJUnitJupiter() + dependencies { + implementation project() + implementation 'com.vaadin:vaadin-core' + implementation 'com.vaadin:vaadin-spring-boot-starter' + implementation 'org.springframework.boot:spring-boot-starter-data-jpa' + implementation 'com.h2database:h2' + implementation libs.hsqldb + implementation libs.sqlite.jdbc + //runtimeOnly 'com.mysql:mysql-connector-j' + runtimeOnly 'org.mariadb.jdbc:mariadb-java-client' + implementation('org.springframework.boot:spring-boot-starter-test') { + exclude group: 'org.junit.vintage', module: 'junit-vintage-engine' + } + implementation 'org.springframework.security:spring-security-test' + implementation 'com.vaadin:vaadin-testbench-junit5' + implementation 'io.projectreactor:reactor-test' + runtimeOnly 'org.junit.platform:junit-platform-launcher' + } + } + test(JvmTestSuite) { + testType = TestSuiteType.UNIT_TEST + targets { + all { + testTask.configure { + reports { + junitXml { + outputPerTestCase = true // defaults to false + mergeReruns = true // defaults to false + } + } + finalizedBy(jacocoTestReport) + } + } + } + } + integrationTest(JvmTestSuite) { + testType = "view-test" + targets { + all { + testTask.configure { + shouldRunAfter(test) + finalizedBy(jacocoTestReport) + } + } + } + } + } +} + +tasks.named('check') { + dependsOn(testing.suites.integrationTest) + dependsOn(testing.suites.test) + dependsOn tasks.named('testAggregateTestReport', TestReport) + dependsOn tasks.named('integrationTestAggregateTestReport', TestReport) +} + + +jacocoTestReport { + dependsOn test, integrationTest + reports { + xml.required = true + csv.required = false + } +} + +reporting { + reports { + testAggregateTestReport(AggregateTestReport) { + testType = TestSuiteType.UNIT_TEST + } + integrationTestAggregateTestReport(AggregateTestReport) { + testType = "view-test" + } + integrationTestCodeCoverageReport(JacocoCoverageReport) { + testType = "view-test" + } + } } wrapper { diff --git a/kontor-spring/src/main/frontend/styles.css b/kontor-spring/frontend/themes/kontor/styles.css similarity index 100% rename from kontor-spring/src/main/frontend/styles.css rename to kontor-spring/frontend/themes/kontor/styles.css diff --git a/kontor-spring/frontend/themes/kontor/theme.json b/kontor-spring/frontend/themes/kontor/theme.json new file mode 100644 index 0000000..0f7a81f --- /dev/null +++ b/kontor-spring/frontend/themes/kontor/theme.json @@ -0,0 +1,3 @@ +{ + "lumoImports" : [ "typography", "color", "spacing", "badge", "utility" ] +} \ No newline at end of file diff --git a/kontor-spring/gradle.properties b/kontor-spring/gradle.properties index ab5afd3..9a561e0 100644 --- a/kontor-spring/gradle.properties +++ b/kontor-spring/gradle.properties @@ -3,4 +3,3 @@ version=0.3.0-SNAPSHOT group=de.thpeetz nexusUser=kontor nexusPassword=kontorNexus -profile=local \ No newline at end of file diff --git a/kontor-spring/gradle/libs.versions.toml b/kontor-spring/gradle/libs.versions.toml index fdd8742..c6b06d2 100644 --- a/kontor-spring/gradle/libs.versions.toml +++ b/kontor-spring/gradle/libs.versions.toml @@ -1,15 +1,24 @@ [versions] -gradle = "9.5.1" -springdependencies = "1.1.7" -springboot = "4.1.0" -vaadin = "25.2.6" +gradle = "8.6" +args4j = "2.33" +commonscli = "1.5.0" junit = "5.8.2" logback = "1.1.2" +mockito = "1.9.5" +picoli = "4.7.0" slf4j = "1.7.22" hsqldb = "2.7.1" sqlite = "3.25.2" spotbugs = "6.0.7" +#asciidoctor = "4.0.2" +#rouge = "3.15.0" +#diagram = "2.2.2" +#diagram = "2.3.1" sonarqube = "3.3" +cimtConventions = "1.0.0-SNAPSHOT" +springboot = "3.2.5" +springdependencies = "1.1.4" +vaadin = "24.4.23" camel = "4.10.6" artemis = "2.41.0" lombok = "8.11" @@ -17,15 +26,16 @@ gson = "2.9.0" jackson = "2.16.1" json_simple = "1.1.1" mail = "1.6.2" -hypersistence = "3.15.4" +hypersistence = "3.9.10" [libraries] -vaadin-bom = { group = "com.vaadin", name = "vaadin-bom", version.ref = "vaadin" } -camel-bom = { module = "org.apache.camel.springboot:camel-spring-boot-bom", version.ref = "camel"} -artemis = { module = "org.apache.activemq:artemis-jms-server", version.ref = "artemis" } +args4j = { module = "args4j:args4j", version.ref = "args4j" } +commonscli = { module = "commons-cli:commons-cli", version.ref = "commonscli" } junit = { module = "org.junit.jupiter:junit-jupiter", version.ref = "junit" } logbackCore = { module = "ch.qos.logback:logback-core", version.ref = "logback" } logbackClassic = { module = "ch.qos.logback:logback-classic", version.ref = "logback" } +mockito = { module = "org.mockito:mockito-all", version.ref = "mockito" } +picocli = { module = "info.picocli:picocli", version.ref = "picoli" } slf4j = { module = "org.slf4j:slf4j-api", version.ref = "slf4j" } hsqldb = { module = "org.hsqldb:hsqldb", version.ref = "hsqldb" } gson = { module = "com.google.code.gson:gson", version.ref = "gson" } @@ -33,7 +43,15 @@ jackson = { module = "com.fasterxml.jackson.core:jackson-databind", version.ref json = { module = "com.googlecode.json-simple:json-simple", version.ref ="json_simple" } mail = { module = "com.sun.mail:javax.mail", version.ref ="mail" } sqlite-jdbc = { module = "org.xerial:sqlite-jdbc", version.ref = "sqlite" } -hypersistence = { module = "io.hypersistence:hypersistence-utils-hibernate-73", version.ref = "hypersistence" } +hypersistence = { module = "io.hypersistence:hypersistence-utils-hibernate-63", version.ref = "hypersistence" } +vaadin-bom = { module = "com.vaadin:vaadin-bom", version.ref = "vaadin" } +camel-bom = { module = "org.apache.camel.springboot:camel-spring-boot-bom", version.ref = "camel"} +artemis = { module = "org.apache.activemq:artemis-jms-server", version.ref = "artemis" } +#asciidoctorGradleJvmGems = { module = "org.asciidoctor:asciidoctor-gradle-jvm-gems", version.ref= "asciidoctor" } +#asciidoctorGradleJvm = { module = "org.asciidoctor:asciidoctor-gradle-jvm", version.ref= "asciidoctor" } +#asciidoctorGradleJvmPdf = { module = "org.asciidoctor:asciidoctor-gradle-jvm-pdf", version.ref= "asciidoctor" } +#rouge = { module = "rubygems:rouge", version.ref = "rouge" } +#diagram = { module = "rubygems:asciidoctor-diagram", version.ref = "diagram" } [bundles] logback = ["logbackCore", "logbackClassic"] @@ -41,6 +59,13 @@ logback = ["logbackCore", "logbackClassic"] [plugins] spotbugs = { id = "com.github.spotbugs", version.ref = "spotbugs" } sonarqube = { id = "org.sonarqube", version.ref = "sonarqube" } +#asciidoctorPdf = { id = "org.asciidoctor.jvm.pdf", version.ref = "asciidoctor" } +#asciidoctorConvert = { id = "org.asciidoctor.jvm.convert", version.ref = "asciidoctor" } +#asciidoctorGems = { id = "org.asciidoctor.jvm.gems", version.ref = "asciidoctor" } +javaConvention = { id = "de.cimt.java-conventions", version.ref = "cimtConventions" } +applicationConvention = { id = "de.cimt.application-conventions", version.ref = "cimtConventions" } +libraryConvention = { id = "de.cimt.library-conventions", version.ref = "cimtConventions" } +#asciidoctorConvention = { id = "de.cimt.asciidoctor-conventions", version.ref = "cimtConventions" } spring-boot = { id = "org.springframework.boot", version.ref = "springboot"} spring-dependencies = { id = "io.spring.dependency-management", version.ref = "springdependencies" } vaadin = { id = "com.vaadin", version.ref = "vaadin" } diff --git a/kontor-spring/gradle/wrapper/gradle-wrapper.jar b/kontor-spring/gradle/wrapper/gradle-wrapper.jar index b1b8ef5..d64cd49 100644 Binary files a/kontor-spring/gradle/wrapper/gradle-wrapper.jar and b/kontor-spring/gradle/wrapper/gradle-wrapper.jar differ diff --git a/kontor-spring/gradle/wrapper/gradle-wrapper.properties b/kontor-spring/gradle/wrapper/gradle-wrapper.properties index df6a6ad..a80b22c 100644 --- a/kontor-spring/gradle/wrapper/gradle-wrapper.properties +++ b/kontor-spring/gradle/wrapper/gradle-wrapper.properties @@ -1,9 +1,7 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-9.5.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-bin.zip networkTimeout=10000 -retries=0 -retryBackOffMs=500 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/kontor-spring/gradlew b/kontor-spring/gradlew index b9bb139..1aa94a4 100755 --- a/kontor-spring/gradlew +++ b/kontor-spring/gradlew @@ -1,7 +1,7 @@ #!/bin/sh # -# Copyright © 2015 the original authors. +# Copyright © 2015-2021 the original authors. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -15,8 +15,6 @@ # See the License for the specific language governing permissions and # limitations under the License. # -# SPDX-License-Identifier: Apache-2.0 -# ############################################################################## # @@ -57,7 +55,7 @@ # Darwin, MinGW, and NonStop. # # (3) This script is generated from the Groovy template -# https://github.com/gradle/gradle/blob/3d91ce3b8caaf77ad09f381f43615b715b53f72c/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt # within the Gradle project. # # You can find Gradle at https://github.com/gradle/gradle/. @@ -86,7 +84,7 @@ done # shellcheck disable=SC2034 APP_BASE_NAME=${0##*/} # Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) -APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s\n' "$PWD" ) || exit +APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD=maximum @@ -114,6 +112,7 @@ case "$( uname )" in #( NONSTOP* ) nonstop=true ;; esac +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar # Determine the Java command to use to start the JVM. @@ -171,6 +170,7 @@ fi # For Cygwin or MSYS, switch paths to Windows format before running java if "$cygwin" || "$msys" ; then APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) + CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) JAVACMD=$( cygpath --unix "$JAVACMD" ) @@ -203,14 +203,15 @@ fi DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' # Collect all arguments for the java command: -# * DEFAULT_JVM_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments, +# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments, # and any embedded shellness will be escaped. # * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be # treated as '${Hostname}' itself on the command line. set -- \ "-Dorg.gradle.appname=$APP_BASE_NAME" \ - -jar "$APP_HOME/gradle/wrapper/gradle-wrapper.jar" \ + -classpath "$CLASSPATH" \ + org.gradle.wrapper.GradleWrapperMain \ "$@" # Stop when "xargs" is not available. diff --git a/kontor-spring/gradlew.bat b/kontor-spring/gradlew.bat index 24c62d5..25da30d 100644 --- a/kontor-spring/gradlew.bat +++ b/kontor-spring/gradlew.bat @@ -13,8 +13,6 @@ @rem See the License for the specific language governing permissions and @rem limitations under the License. @rem -@rem SPDX-License-Identifier: Apache-2.0 -@rem @if "%DEBUG%"=="" @echo off @rem ########################################################################## @@ -23,8 +21,8 @@ @rem @rem ########################################################################## -@rem Set local scope for the variables, and ensure extensions are enabled -setlocal EnableExtensions +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal set DIRNAME=%~dp0 if "%DIRNAME%"=="" set DIRNAME=. @@ -51,7 +49,7 @@ echo. 1>&2 echo Please set the JAVA_HOME variable in your environment to match the 1>&2 echo location of your Java installation. 1>&2 -"%COMSPEC%" /c exit 1 +goto fail :findJavaFromJavaHome set JAVA_HOME=%JAVA_HOME:"=% @@ -65,18 +63,30 @@ echo. 1>&2 echo Please set the JAVA_HOME variable in your environment to match the 1>&2 echo location of your Java installation. 1>&2 -"%COMSPEC%" /c exit 1 +goto fail :execute @rem Setup the command line +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar @rem Execute Gradle -@rem endlocal doesn't take effect until after the line is parsed and variables are expanded -@rem which allows us to clear the local environment before executing the java command -endlocal & "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %* & call :exitWithErrorLevel +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* -:exitWithErrorLevel -@rem Use "%COMSPEC%" /c exit to allow operators to work properly in scripts -"%COMSPEC%" /c exit %ERRORLEVEL% +:end +@rem End local scope for the variables with windows NT shell +if %ERRORLEVEL% equ 0 goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +set EXIT_CODE=%ERRORLEVEL% +if %EXIT_CODE% equ 0 set EXIT_CODE=1 +if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% +exit /b %EXIT_CODE% + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/kontor-spring/logs/spring-boot-logger.log b/kontor-spring/logs/spring-boot-logger.log deleted file mode 100644 index aa3a532..0000000 --- a/kontor-spring/logs/spring-boot-logger.log +++ /dev/null @@ -1,2904 +0,0 @@ -2026-08-13 09:56:33,394 INFO o.s.b.StartupInfoLogger [Test worker] Starting KontorSpringApplicationTests using Java 25.0.2 with PID 1663976 (started by tpeetz in /home/tpeetz/projects/kontor/kontor-spring) -2026-08-13 09:56:33,398 INFO o.s.b.SpringApplication [Test worker] The following 4 profiles are active: "local", "dev", "test", "prod" -2026-08-13 09:56:35,117 INFO o.s.d.r.c.RepositoryConfigurationDelegate [Test worker] Bootstrapping Spring Data JPA repositories in DEFAULT mode. -2026-08-13 09:56:35,157 INFO o.s.d.r.c.RepositoryConfigurationDelegate [Test worker] Finished Spring Data repository scanning in 21 ms. Found 0 JPA repository interfaces. -2026-08-13 09:56:36,179 INFO o.h.j.i.u.LogHelper [Test worker] HHH008540: Processing PersistenceUnitInfo [name: default] -2026-08-13 09:56:36,241 INFO o.h.Version [Test worker] HHH000001: Hibernate ORM core version 7.4.1.Final -2026-08-13 09:56:36,935 INFO o.s.o.j.p.SpringPersistenceUnitInfo [Test worker] No LoadTimeWeaver setup: ignoring JPA class transformer -2026-08-13 09:56:36,992 INFO c.z.h.HikariDataSource [Test worker] HikariPool-1 - Starting... -2026-08-13 09:56:37,273 INFO c.z.h.p.HikariPool [Test worker] HikariPool-1 - Added connection org.postgresql.jdbc.PgConnection@be9bf2e -2026-08-13 09:56:37,277 INFO c.z.h.HikariDataSource [Test worker] HikariPool-1 - Start completed. -2026-08-13 09:56:37,361 INFO o.h.e.j.e.i.JdbcEnvironmentInitiator [Test worker] HHH10001005: Database info: - Database JDBC URL [jdbc:postgresql://localhost:5432/kontor] - Database driver: PostgreSQL JDBC Driver - Database dialect: PostgreSQLDialect - Database version: 17.7 - Default catalog/schema: kontor/public - Autocommit mode: undefined/unknown - Isolation level: READ_COMMITTED [default READ_COMMITTED] - JDBC fetch size: none - Pool: DataSourceConnectionProvider - Minimum pool size: undefined/unknown - Maximum pool size: undefined/unknown -2026-08-13 09:56:37,599 INFO o.h.v.i.u.Version [Test worker] HV000001: Hibernate Validator 9.1.0.Final -2026-08-13 09:56:37,955 INFO o.h.e.t.j.p.i.JtaPlatformInitiator [Test worker] HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) -2026-08-13 09:56:38,007 INFO o.s.o.j.AbstractEntityManagerFactoryBean [Test worker] Initialized JPA EntityManagerFactory for persistence unit 'default' -2026-08-13 09:56:38,148 WARN o.s.b.j.a.JpaBaseConfiguration$JpaWebConfiguration [Test worker] spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning -2026-08-13 09:56:39,715 DEBUG o.a.a.a.u.UUIDGenerator [Test worker] using hardware address 5e:5c:62:ffffff8d:27:-27 -2026-08-13 09:56:40,158 WARN o.s.b.s.a.UserDetailsServiceAutoConfiguration [Test worker] - -Using generated security password: e3296083-cd14-4a2c-b536-dfffa38120e7 - -This generated password is for development use only. Your security configuration must be updated before running your application in production. - -2026-08-13 09:56:40,189 INFO o.s.s.c.a.a.c.InitializeUserDetailsBeanManagerConfigurer$InitializeUserDetailsManagerConfigurer [Test worker] Global AuthenticationManager configured with UserDetailsService bean with name inMemoryUserDetailsManager -2026-08-13 09:56:40,437 INFO o.s.b.a.e.w.EndpointLinksResolver [Test worker] Exposing 5 endpoints beneath base path '/actuator' -2026-08-13 09:56:40,818 INFO o.a.c.i.e.AbstractCamelContext [Test worker] Apache Camel 4.10.6 (camel-1) is starting -2026-08-13 09:56:40,836 INFO o.a.c.i.e.AbstractCamelContext [Test worker] Routes startup (total:0) -2026-08-13 09:56:40,837 INFO o.a.c.i.e.AbstractCamelContext [Test worker] Apache Camel 4.10.6 (camel-1) started in 16ms (build:0ms init:0ms start:16ms boot:2s54ms) -2026-08-13 09:56:40,843 INFO o.s.b.StartupInfoLogger [Test worker] Started KontorSpringApplicationTests in 8.084 seconds (process running for 9.848) -2026-08-13 09:56:41,654 INFO o.a.c.i.e.AbstractCamelContext [SpringApplicationShutdownHook] Apache Camel 4.10.6 (camel-1) is shutting down (timeout:45s) -2026-08-13 09:56:41,658 INFO o.a.c.s.CamelLogger [SpringApplicationShutdownHook] Routes stopped (total:0) -2026-08-13 09:56:41,663 INFO o.a.c.i.e.AbstractCamelContext [SpringApplicationShutdownHook] Apache Camel 4.10.6 (camel-1) shutdown in 9ms (uptime:0s) -2026-08-13 09:56:41,672 INFO o.s.o.j.AbstractEntityManagerFactoryBean [SpringApplicationShutdownHook] Closing JPA EntityManagerFactory for persistence unit 'default' -2026-08-13 09:56:41,675 INFO c.z.h.HikariDataSource [SpringApplicationShutdownHook] HikariPool-1 - Shutdown initiated... -2026-08-13 09:56:41,680 INFO c.z.h.HikariDataSource [SpringApplicationShutdownHook] HikariPool-1 - Shutdown completed. -2026-08-13 09:56:43,166 INFO o.s.b.StartupInfoLogger [restartedMain] Starting KontorApplication using Java 25.0.2 with PID 1666082 (/home/tpeetz/projects/kontor/kontor-spring/build/classes/java/main started by tpeetz in /home/tpeetz/projects/kontor/kontor-spring) -2026-08-13 09:56:43,170 INFO o.s.b.SpringApplication [restartedMain] The following 4 profiles are active: "local", "dev", "test", "prod" -2026-08-13 09:56:43,227 INFO o.s.b.l.LogLevel [restartedMain] For additional web related logging consider setting the 'logging.level.web' property to 'DEBUG' -2026-08-13 09:56:44,292 INFO o.s.d.r.c.RepositoryConfigurationDelegate [restartedMain] Bootstrapping Spring Data JPA repositories in DEFAULT mode. -2026-08-13 09:56:44,309 INFO o.s.d.r.c.RepositoryConfigurationDelegate [restartedMain] Finished Spring Data repository scanning in 8 ms. Found 0 JPA repository interfaces. -2026-08-13 09:56:45,083 INFO o.s.b.t.TomcatWebServer [restartedMain] Tomcat initialized with port 8085 (http) -2026-08-13 09:56:45,096 INFO o.a.j.l.DirectJDKLog [restartedMain] Initializing ProtocolHandler ["http-nio-8085"] -2026-08-13 09:56:45,098 INFO o.a.j.l.DirectJDKLog [restartedMain] Starting service [Tomcat] -2026-08-13 09:56:45,098 INFO o.a.j.l.DirectJDKLog [restartedMain] Starting Servlet engine: [Apache Tomcat/11.0.24] -2026-08-13 09:56:45,137 INFO o.s.b.w.c.s.WebApplicationContextInitializer [restartedMain] Root WebApplicationContext: initialization completed in 1909 ms -2026-08-13 09:56:45,549 INFO o.h.j.i.u.LogHelper [restartedMain] HHH008540: Processing PersistenceUnitInfo [name: default] -2026-08-13 09:56:45,593 INFO o.h.Version [restartedMain] HHH000001: Hibernate ORM core version 7.4.1.Final -2026-08-13 09:56:45,967 INFO o.s.o.j.p.SpringPersistenceUnitInfo [restartedMain] No LoadTimeWeaver setup: ignoring JPA class transformer -2026-08-13 09:56:45,994 INFO c.z.h.HikariDataSource [restartedMain] HikariPool-1 - Starting... -2026-08-13 09:56:46,104 INFO c.z.h.p.HikariPool [restartedMain] HikariPool-1 - Added connection org.postgresql.jdbc.PgConnection@5a940c65 -2026-08-13 09:56:46,106 INFO c.z.h.HikariDataSource [restartedMain] HikariPool-1 - Start completed. -2026-08-13 09:56:46,156 INFO o.h.e.j.e.i.JdbcEnvironmentInitiator [restartedMain] HHH10001005: Database info: - Database JDBC URL [jdbc:postgresql://localhost:5432/kontor] - Database driver: PostgreSQL JDBC Driver - Database dialect: PostgreSQLDialect - Database version: 17.7 - Default catalog/schema: kontor/public - Autocommit mode: undefined/unknown - Isolation level: READ_COMMITTED [default READ_COMMITTED] - JDBC fetch size: none - Pool: DataSourceConnectionProvider - Minimum pool size: undefined/unknown - Maximum pool size: undefined/unknown -2026-08-13 09:56:46,336 INFO o.h.v.i.u.Version [restartedMain] HV000001: Hibernate Validator 9.1.0.Final -2026-08-13 09:56:46,754 INFO o.h.e.t.j.p.i.JtaPlatformInitiator [restartedMain] HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) -2026-08-13 09:56:46,833 INFO o.s.o.j.AbstractEntityManagerFactoryBean [restartedMain] Initialized JPA EntityManagerFactory for persistence unit 'default' -2026-08-13 09:56:46,875 WARN o.s.b.j.a.JpaBaseConfiguration$JpaWebConfiguration [restartedMain] spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning -2026-08-13 09:56:47,623 DEBUG o.a.a.a.u.UUIDGenerator [restartedMain] using hardware address 5e:5c:62:ffffff8d:27:-27 -2026-08-13 09:56:47,773 WARN o.s.b.s.a.UserDetailsServiceAutoConfiguration [restartedMain] - -Using generated security password: 1c49f0f4-3a70-4576-b59e-30f0a9b9b6c2 - -This generated password is for development use only. Your security configuration must be updated before running your application in production. - -2026-08-13 09:56:47,799 INFO o.s.s.c.a.a.c.InitializeUserDetailsBeanManagerConfigurer$InitializeUserDetailsManagerConfigurer [restartedMain] Global AuthenticationManager configured with UserDetailsService bean with name inMemoryUserDetailsManager -2026-08-13 09:56:47,912 INFO o.s.b.a.e.w.EndpointLinksResolver [restartedMain] Exposing 5 endpoints beneath base path '/actuator' -2026-08-13 09:56:48,104 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereHandler com.vaadin.flow.server.communication.PushAtmosphereHandler mapped to context-path: /* -2026-08-13 09:56:48,105 INFO o.a.c.AtmosphereFramework [restartedMain] Installed the following AtmosphereInterceptor mapped to AtmosphereHandler com.vaadin.flow.server.communication.PushAtmosphereHandler -2026-08-13 09:56:48,135 INFO o.a.c.AtmosphereFramework [restartedMain] Atmosphere is using org.atmosphere.util.VoidAnnotationProcessor for processing annotation -2026-08-13 09:56:48,141 INFO o.a.u.ForkJoinPool [restartedMain] Using ForkJoinPool java.util.concurrent.ForkJoinPool. Set the org.atmosphere.cpr.broadcaster.maxAsyncWriteThreads to -1 to fully use its power. -2026-08-13 09:56:48,146 INFO o.a.c.AtmosphereFramework [restartedMain] Installed WebSocketProtocol org.atmosphere.websocket.protocol.SimpleHttpProtocol -2026-08-13 09:56:48,150 INFO o.a.c.JSR356AsyncSupport [restartedMain] JSR 356 Mapping path /VAADIN/push -2026-08-13 09:56:48,160 INFO o.a.c.AtmosphereFramework [restartedMain] Installing Default AtmosphereInterceptors -2026-08-13 09:56:48,161 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.CorsInterceptor : CORS Interceptor Support -2026-08-13 09:56:48,162 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.CacheHeadersInterceptor : Default Response's Headers Interceptor -2026-08-13 09:56:48,162 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.PaddingAtmosphereInterceptor : Browser Padding Interceptor Support -2026-08-13 09:56:48,163 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.AndroidAtmosphereInterceptor : Android Interceptor Support -2026-08-13 09:56:48,163 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.HeartbeatInterceptor : Heartbeat Interceptor Support -2026-08-13 09:56:48,164 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.SSEAtmosphereInterceptor : SSE Interceptor Support -2026-08-13 09:56:48,164 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.JSONPAtmosphereInterceptor : JSONP Interceptor Support -2026-08-13 09:56:48,165 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.JavaScriptProtocol : Atmosphere JavaScript Protocol -2026-08-13 09:56:48,165 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.WebSocketMessageSuspendInterceptor : org.atmosphere.interceptor.WebSocketMessageSuspendInterceptor -2026-08-13 09:56:48,166 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.OnDisconnectInterceptor : Browser disconnection detection -2026-08-13 09:56:48,166 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.IdleResourceInterceptor : org.atmosphere.interceptor.IdleResourceInterceptor -2026-08-13 09:56:48,166 INFO o.a.c.AtmosphereFramework [restartedMain] Set org.atmosphere.cpr.AtmosphereInterceptor.disableDefaults to disable them. -2026-08-13 09:56:48,166 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor CORS Interceptor Support with priority FIRST_BEFORE_DEFAULT -2026-08-13 09:56:48,167 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor Default Response's Headers Interceptor with priority AFTER_DEFAULT -2026-08-13 09:56:48,167 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor Browser Padding Interceptor Support with priority AFTER_DEFAULT -2026-08-13 09:56:48,168 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor Android Interceptor Support with priority AFTER_DEFAULT -2026-08-13 09:56:48,168 INFO o.a.i.HeartbeatInterceptor [restartedMain] HeartbeatInterceptor configured with padding value 'X', client frequency 0 seconds and server frequency 60 seconds -2026-08-13 09:56:48,168 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor Heartbeat Interceptor Support with priority AFTER_DEFAULT -2026-08-13 09:56:48,168 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor SSE Interceptor Support with priority AFTER_DEFAULT -2026-08-13 09:56:48,168 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor JSONP Interceptor Support with priority AFTER_DEFAULT -2026-08-13 09:56:48,168 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor Atmosphere JavaScript Protocol with priority AFTER_DEFAULT -2026-08-13 09:56:48,168 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor org.atmosphere.interceptor.WebSocketMessageSuspendInterceptor with priority AFTER_DEFAULT -2026-08-13 09:56:48,168 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor Browser disconnection detection with priority AFTER_DEFAULT -2026-08-13 09:56:48,168 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor org.atmosphere.interceptor.IdleResourceInterceptor with priority BEFORE_DEFAULT -2026-08-13 09:56:48,169 INFO o.a.c.AtmosphereFramework [restartedMain] Using EndpointMapper class org.atmosphere.util.DefaultEndpointMapper -2026-08-13 09:56:48,169 INFO o.a.c.AtmosphereFramework [restartedMain] Using BroadcasterCache: org.atmosphere.cache.UUIDBroadcasterCache -2026-08-13 09:56:48,169 INFO o.a.c.AtmosphereFramework [restartedMain] Default Broadcaster Class: org.atmosphere.cpr.DefaultBroadcaster -2026-08-13 09:56:48,169 INFO o.a.c.AtmosphereFramework [restartedMain] Broadcaster Shared List Resources: false -2026-08-13 09:56:48,170 INFO o.a.c.AtmosphereFramework [restartedMain] Broadcaster Polling Wait Time 100 -2026-08-13 09:56:48,170 INFO o.a.c.AtmosphereFramework [restartedMain] Shared ExecutorService supported: true -2026-08-13 09:56:48,170 INFO o.a.c.AtmosphereFramework [restartedMain] Messaging ExecutorService Pool Size unavailable - Not instance of ThreadPoolExecutor -2026-08-13 09:56:48,170 INFO o.a.c.AtmosphereFramework [restartedMain] Async I/O Thread Pool Size: 200 -2026-08-13 09:56:48,170 INFO o.a.c.AtmosphereFramework [restartedMain] Using BroadcasterFactory: org.atmosphere.cpr.DefaultBroadcasterFactory -2026-08-13 09:56:48,171 INFO o.a.c.AtmosphereFramework [restartedMain] Using AtmosphereResurceFactory: org.atmosphere.cpr.DefaultAtmosphereResourceFactory -2026-08-13 09:56:48,172 INFO o.a.c.AtmosphereFramework [restartedMain] Using WebSocketProcessor: org.atmosphere.websocket.DefaultWebSocketProcessor -2026-08-13 09:56:48,174 INFO o.a.c.AtmosphereFramework [restartedMain] Invoke AtmosphereInterceptor on WebSocket message true -2026-08-13 09:56:48,175 INFO o.a.c.AtmosphereFramework [restartedMain] HttpSession supported: true -2026-08-13 09:56:48,175 INFO o.a.c.AtmosphereFramework [restartedMain] Atmosphere is using org.atmosphere.inject.InjectableObjectFactory for dependency injection and object creation -2026-08-13 09:56:48,175 INFO o.a.c.AtmosphereFramework [restartedMain] Atmosphere is using async support: org.atmosphere.container.JSR356AsyncSupport running under container: Apache Tomcat/11.0.24 using jakarta.servlet/3.0 and jsr356/WebSocket API -2026-08-13 09:56:48,176 INFO o.a.c.AtmosphereFramework [restartedMain] Atmosphere Framework 3.0.5.slf4jvaadin1 started. -2026-08-13 09:56:48,180 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor Track Message Size Interceptor using | with priority BEFORE_DEFAULT -2026-08-13 09:56:48,222 INFO o.a.j.l.DirectJDKLog [restartedMain] Starting ProtocolHandler ["http-nio-8085"] -2026-08-13 09:56:48,247 INFO c.v.f.s.DefaultDeploymentConfiguration [restartedMain] Vaadin is running in production mode. -2026-08-13 09:56:48,356 INFO o.s.b.t.TomcatWebServer [restartedMain] Tomcat started on port 8085 (http) with context path '/' -2026-08-13 09:56:48,423 INFO o.a.c.i.e.AbstractCamelContext [restartedMain] Apache Camel 4.10.6 (camel-1) is starting -2026-08-13 09:56:48,431 INFO o.a.c.i.e.AbstractCamelContext [restartedMain] Routes startup (total:0) -2026-08-13 09:56:48,431 INFO o.a.c.i.e.AbstractCamelContext [restartedMain] Apache Camel 4.10.6 (camel-1) started in 7ms (build:0ms init:0ms start:7ms boot:1s226ms) -2026-08-13 09:56:48,434 INFO o.s.b.StartupInfoLogger [restartedMain] Started KontorApplication in 6.075 seconds (process running for 6.603) -2026-08-13 09:57:07,922 INFO o.s.b.t.GracefulShutdown [SpringApplicationShutdownHook] Commencing graceful shutdown. Waiting for active requests to complete -2026-08-13 09:57:07,924 INFO o.s.b.t.GracefulShutdown [tomcat-shutdown] Graceful shutdown complete -2026-08-13 09:57:07,927 INFO o.a.c.i.e.AbstractCamelContext [SpringApplicationShutdownHook] Apache Camel 4.10.6 (camel-1) is shutting down (timeout:45s) -2026-08-13 09:57:07,930 INFO o.a.c.s.CamelLogger [SpringApplicationShutdownHook] Routes stopped (total:0) -2026-08-13 09:57:07,932 INFO o.a.c.i.e.AbstractCamelContext [SpringApplicationShutdownHook] Apache Camel 4.10.6 (camel-1) shutdown in 5ms (uptime:19s) -2026-08-13 09:57:07,937 INFO o.s.o.j.AbstractEntityManagerFactoryBean [SpringApplicationShutdownHook] Closing JPA EntityManagerFactory for persistence unit 'default' -2026-08-13 09:57:07,939 INFO c.z.h.HikariDataSource [SpringApplicationShutdownHook] HikariPool-1 - Shutdown initiated... -2026-08-13 09:57:07,942 INFO c.z.h.HikariDataSource [SpringApplicationShutdownHook] HikariPool-1 - Shutdown completed. -2026-08-13 10:00:33,716 INFO o.s.b.StartupInfoLogger [restartedMain] Starting KontorApplication using Java 25.0.2 with PID 1701183 (/home/tpeetz/projects/kontor/kontor-spring/build/classes/java/main started by tpeetz in /home/tpeetz/projects/kontor/kontor-spring) -2026-08-13 10:00:33,718 INFO o.s.b.SpringApplication [restartedMain] The following 4 profiles are active: "local", "dev", "test", "prod" -2026-08-13 10:00:33,753 INFO o.s.b.l.LogLevel [restartedMain] For additional web related logging consider setting the 'logging.level.web' property to 'DEBUG' -2026-08-13 10:00:34,526 INFO o.s.d.r.c.RepositoryConfigurationDelegate [restartedMain] Bootstrapping Spring Data JPA repositories in DEFAULT mode. -2026-08-13 10:00:34,540 INFO o.s.d.r.c.RepositoryConfigurationDelegate [restartedMain] Finished Spring Data repository scanning in 7 ms. Found 0 JPA repository interfaces. -2026-08-13 10:00:35,123 INFO o.s.b.t.TomcatWebServer [restartedMain] Tomcat initialized with port 8085 (http) -2026-08-13 10:00:35,132 INFO o.a.j.l.DirectJDKLog [restartedMain] Initializing ProtocolHandler ["http-nio-8085"] -2026-08-13 10:00:35,134 INFO o.a.j.l.DirectJDKLog [restartedMain] Starting service [Tomcat] -2026-08-13 10:00:35,134 INFO o.a.j.l.DirectJDKLog [restartedMain] Starting Servlet engine: [Apache Tomcat/11.0.24] -2026-08-13 10:00:35,162 INFO o.s.b.w.c.s.WebApplicationContextInitializer [restartedMain] Root WebApplicationContext: initialization completed in 1407 ms -2026-08-13 10:00:37,685 INFO c.v.f.s.VaadinServletContextInitializer$DevModeServletContextListener [restartedMain] Search for subclasses and classes with annotations took 2339 ms -2026-08-13 10:00:37,744 INFO c.v.b.d.s.DevModeInitializer [restartedMain] Starting dev-mode updaters in /home/tpeetz/projects/kontor/kontor-spring folder. -2026-08-13 10:00:37,773 INFO c.v.f.s.f.s.FullDependenciesScanner [restartedMain] Visited 106 classes. Took 16 ms. -2026-08-13 10:00:37,775 INFO c.v.f.s.f.BundleValidationUtil [restartedMain] Checking if a development mode bundle build is needed -2026-08-13 10:00:37,897 INFO c.v.f.s.f.BundleValidationUtil [restartedMain] A development mode bundle build is not needed -2026-08-13 10:00:37,920 INFO c.v.f.s.f.TaskCopyFrontendFiles [vaadin-dev-server-1] Copying frontend resources from jar files ... -2026-08-13 10:00:37,973 INFO c.v.f.s.f.TaskCopyFrontendFiles [vaadin-dev-server-1] Visited 20 resources. Took 53 ms. -2026-08-13 10:00:38,003 INFO o.h.j.i.u.LogHelper [restartedMain] HHH008540: Processing PersistenceUnitInfo [name: default] -2026-08-13 10:00:38,035 INFO o.h.Version [restartedMain] HHH000001: Hibernate ORM core version 7.4.1.Final -2026-08-13 10:00:38,298 INFO o.s.o.j.p.SpringPersistenceUnitInfo [restartedMain] No LoadTimeWeaver setup: ignoring JPA class transformer -2026-08-13 10:00:38,319 INFO c.z.h.HikariDataSource [restartedMain] HikariPool-1 - Starting... -2026-08-13 10:00:38,400 INFO c.z.h.p.HikariPool [restartedMain] HikariPool-1 - Added connection org.postgresql.jdbc.PgConnection@4b540e7b -2026-08-13 10:00:38,401 INFO c.z.h.HikariDataSource [restartedMain] HikariPool-1 - Start completed. -2026-08-13 10:00:38,444 INFO o.h.e.j.e.i.JdbcEnvironmentInitiator [restartedMain] HHH10001005: Database info: - Database JDBC URL [jdbc:postgresql://localhost:5432/kontor] - Database driver: PostgreSQL JDBC Driver - Database dialect: PostgreSQLDialect - Database version: 17.7 - Default catalog/schema: kontor/public - Autocommit mode: undefined/unknown - Isolation level: READ_COMMITTED [default READ_COMMITTED] - JDBC fetch size: none - Pool: DataSourceConnectionProvider - Minimum pool size: undefined/unknown - Maximum pool size: undefined/unknown -2026-08-13 10:00:38,554 INFO o.h.v.i.u.Version [restartedMain] HV000001: Hibernate Validator 9.1.0.Final -2026-08-13 10:00:38,826 INFO o.h.e.t.j.p.i.JtaPlatformInitiator [restartedMain] HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) -2026-08-13 10:00:38,873 INFO o.s.o.j.AbstractEntityManagerFactoryBean [restartedMain] Initialized JPA EntityManagerFactory for persistence unit 'default' -2026-08-13 10:00:38,931 WARN o.s.b.j.a.JpaBaseConfiguration$JpaWebConfiguration [restartedMain] spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning -2026-08-13 10:00:39,510 DEBUG o.a.a.a.u.UUIDGenerator [restartedMain] using hardware address 5e:5c:62:ffffff8d:27:-27 -2026-08-13 10:00:39,597 WARN o.s.b.s.a.UserDetailsServiceAutoConfiguration [restartedMain] - -Using generated security password: 8e8f195a-7cb8-4de8-bcbc-a240206ecbb3 - -This generated password is for development use only. Your security configuration must be updated before running your application in production. - -2026-08-13 10:00:39,616 INFO o.s.s.c.a.a.c.InitializeUserDetailsBeanManagerConfigurer$InitializeUserDetailsManagerConfigurer [restartedMain] Global AuthenticationManager configured with UserDetailsService bean with name inMemoryUserDetailsManager -2026-08-13 10:00:39,709 INFO o.s.b.a.e.w.EndpointLinksResolver [restartedMain] Exposing 5 endpoints beneath base path '/actuator' -2026-08-13 10:00:39,835 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereHandler com.vaadin.flow.server.communication.PushAtmosphereHandler mapped to context-path: /* -2026-08-13 10:00:39,836 INFO o.a.c.AtmosphereFramework [restartedMain] Installed the following AtmosphereInterceptor mapped to AtmosphereHandler com.vaadin.flow.server.communication.PushAtmosphereHandler -2026-08-13 10:00:39,855 INFO o.a.c.AtmosphereFramework [restartedMain] Atmosphere is using org.atmosphere.util.VoidAnnotationProcessor for processing annotation -2026-08-13 10:00:39,859 INFO o.a.u.ForkJoinPool [restartedMain] Using ForkJoinPool java.util.concurrent.ForkJoinPool. Set the org.atmosphere.cpr.broadcaster.maxAsyncWriteThreads to -1 to fully use its power. -2026-08-13 10:00:39,862 INFO o.a.c.AtmosphereFramework [restartedMain] Installed WebSocketProtocol org.atmosphere.websocket.protocol.SimpleHttpProtocol -2026-08-13 10:00:39,865 INFO o.a.c.JSR356AsyncSupport [restartedMain] JSR 356 Mapping path /VAADIN/push -2026-08-13 10:00:39,872 INFO o.a.c.AtmosphereFramework [restartedMain] Installing Default AtmosphereInterceptors -2026-08-13 10:00:39,873 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.CorsInterceptor : CORS Interceptor Support -2026-08-13 10:00:39,873 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.CacheHeadersInterceptor : Default Response's Headers Interceptor -2026-08-13 10:00:39,874 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.PaddingAtmosphereInterceptor : Browser Padding Interceptor Support -2026-08-13 10:00:39,874 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.AndroidAtmosphereInterceptor : Android Interceptor Support -2026-08-13 10:00:39,875 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.HeartbeatInterceptor : Heartbeat Interceptor Support -2026-08-13 10:00:39,875 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.SSEAtmosphereInterceptor : SSE Interceptor Support -2026-08-13 10:00:39,875 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.JSONPAtmosphereInterceptor : JSONP Interceptor Support -2026-08-13 10:00:39,876 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.JavaScriptProtocol : Atmosphere JavaScript Protocol -2026-08-13 10:00:39,876 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.WebSocketMessageSuspendInterceptor : org.atmosphere.interceptor.WebSocketMessageSuspendInterceptor -2026-08-13 10:00:39,876 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.OnDisconnectInterceptor : Browser disconnection detection -2026-08-13 10:00:39,877 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.IdleResourceInterceptor : org.atmosphere.interceptor.IdleResourceInterceptor -2026-08-13 10:00:39,877 INFO o.a.c.AtmosphereFramework [restartedMain] Set org.atmosphere.cpr.AtmosphereInterceptor.disableDefaults to disable them. -2026-08-13 10:00:39,877 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor CORS Interceptor Support with priority FIRST_BEFORE_DEFAULT -2026-08-13 10:00:39,877 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor Default Response's Headers Interceptor with priority AFTER_DEFAULT -2026-08-13 10:00:39,878 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor Browser Padding Interceptor Support with priority AFTER_DEFAULT -2026-08-13 10:00:39,878 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor Android Interceptor Support with priority AFTER_DEFAULT -2026-08-13 10:00:39,878 INFO o.a.i.HeartbeatInterceptor [restartedMain] HeartbeatInterceptor configured with padding value 'X', client frequency 0 seconds and server frequency 60 seconds -2026-08-13 10:00:39,878 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor Heartbeat Interceptor Support with priority AFTER_DEFAULT -2026-08-13 10:00:39,878 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor SSE Interceptor Support with priority AFTER_DEFAULT -2026-08-13 10:00:39,878 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor JSONP Interceptor Support with priority AFTER_DEFAULT -2026-08-13 10:00:39,878 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor Atmosphere JavaScript Protocol with priority AFTER_DEFAULT -2026-08-13 10:00:39,879 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor org.atmosphere.interceptor.WebSocketMessageSuspendInterceptor with priority AFTER_DEFAULT -2026-08-13 10:00:39,879 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor Browser disconnection detection with priority AFTER_DEFAULT -2026-08-13 10:00:39,879 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor org.atmosphere.interceptor.IdleResourceInterceptor with priority BEFORE_DEFAULT -2026-08-13 10:00:39,879 INFO o.a.c.AtmosphereFramework [restartedMain] Using EndpointMapper class org.atmosphere.util.DefaultEndpointMapper -2026-08-13 10:00:39,879 INFO o.a.c.AtmosphereFramework [restartedMain] Using BroadcasterCache: org.atmosphere.cache.UUIDBroadcasterCache -2026-08-13 10:00:39,879 INFO o.a.c.AtmosphereFramework [restartedMain] Default Broadcaster Class: org.atmosphere.cpr.DefaultBroadcaster -2026-08-13 10:00:39,880 INFO o.a.c.AtmosphereFramework [restartedMain] Broadcaster Shared List Resources: false -2026-08-13 10:00:39,880 INFO o.a.c.AtmosphereFramework [restartedMain] Broadcaster Polling Wait Time 100 -2026-08-13 10:00:39,880 INFO o.a.c.AtmosphereFramework [restartedMain] Shared ExecutorService supported: true -2026-08-13 10:00:39,880 INFO o.a.c.AtmosphereFramework [restartedMain] Messaging ExecutorService Pool Size unavailable - Not instance of ThreadPoolExecutor -2026-08-13 10:00:39,880 INFO o.a.c.AtmosphereFramework [restartedMain] Async I/O Thread Pool Size: 200 -2026-08-13 10:00:39,880 INFO o.a.c.AtmosphereFramework [restartedMain] Using BroadcasterFactory: org.atmosphere.cpr.DefaultBroadcasterFactory -2026-08-13 10:00:39,880 INFO o.a.c.AtmosphereFramework [restartedMain] Using AtmosphereResurceFactory: org.atmosphere.cpr.DefaultAtmosphereResourceFactory -2026-08-13 10:00:39,880 INFO o.a.c.AtmosphereFramework [restartedMain] Using WebSocketProcessor: org.atmosphere.websocket.DefaultWebSocketProcessor -2026-08-13 10:00:39,881 INFO o.a.c.AtmosphereFramework [restartedMain] Invoke AtmosphereInterceptor on WebSocket message true -2026-08-13 10:00:39,881 INFO o.a.c.AtmosphereFramework [restartedMain] HttpSession supported: true -2026-08-13 10:00:39,882 INFO o.a.c.AtmosphereFramework [restartedMain] Atmosphere is using org.atmosphere.inject.InjectableObjectFactory for dependency injection and object creation -2026-08-13 10:00:39,882 INFO o.a.c.AtmosphereFramework [restartedMain] Atmosphere is using async support: org.atmosphere.container.JSR356AsyncSupport running under container: Apache Tomcat/11.0.24 using jakarta.servlet/3.0 and jsr356/WebSocket API -2026-08-13 10:00:39,882 INFO o.a.c.AtmosphereFramework [restartedMain] Atmosphere Framework 3.0.5.slf4jvaadin1 started. -2026-08-13 10:00:39,884 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor Track Message Size Interceptor using | with priority BEFORE_DEFAULT -2026-08-13 10:00:39,911 INFO o.a.j.l.DirectJDKLog [restartedMain] Starting ProtocolHandler ["http-nio-8085"] -2026-08-13 10:00:39,927 INFO c.v.f.s.DefaultDeploymentConfiguration [restartedMain] -Vaadin is running in DEVELOPMENT mode - do not use for production deployments. -2026-08-13 10:00:39,964 INFO o.s.b.t.TomcatWebServer [restartedMain] Tomcat started on port 8085 (http) with context path '/' -2026-08-13 10:00:39,997 INFO o.a.c.i.e.AbstractCamelContext [restartedMain] Apache Camel 4.10.6 (camel-1) is starting -2026-08-13 10:00:40,003 INFO o.a.c.i.e.AbstractCamelContext [restartedMain] Routes startup (total:0) -2026-08-13 10:00:40,003 INFO o.a.c.i.e.AbstractCamelContext [restartedMain] Apache Camel 4.10.6 (camel-1) started in 5ms (build:0ms init:0ms start:5ms boot:825ms) -2026-08-13 10:00:40,005 INFO o.s.b.StartupInfoLogger [restartedMain] Started KontorApplication in 6.68 seconds (process running for 6.973) -2026-08-13 10:00:40,059 INFO c.v.b.d.DevModeHandlerManagerImpl [restartedMain] Application running at http://localhost:8085/ -2026-08-13 10:00:49,700 INFO o.s.b.t.GracefulShutdown [SpringApplicationShutdownHook] Commencing graceful shutdown. Waiting for active requests to complete -2026-08-13 10:00:49,702 INFO o.s.b.t.GracefulShutdown [tomcat-shutdown] Graceful shutdown complete -2026-08-13 10:00:49,705 INFO o.a.c.i.e.AbstractCamelContext [SpringApplicationShutdownHook] Apache Camel 4.10.6 (camel-1) is shutting down (timeout:45s) -2026-08-13 10:00:49,708 INFO o.a.c.s.CamelLogger [SpringApplicationShutdownHook] Routes stopped (total:0) -2026-08-13 10:00:49,711 INFO o.a.c.i.e.AbstractCamelContext [SpringApplicationShutdownHook] Apache Camel 4.10.6 (camel-1) shutdown in 6ms (uptime:9s) -2026-08-13 10:00:49,717 INFO o.s.o.j.AbstractEntityManagerFactoryBean [SpringApplicationShutdownHook] Closing JPA EntityManagerFactory for persistence unit 'default' -2026-08-13 10:00:49,720 INFO c.z.h.HikariDataSource [SpringApplicationShutdownHook] HikariPool-1 - Shutdown initiated... -2026-08-13 10:00:49,722 INFO c.z.h.HikariDataSource [SpringApplicationShutdownHook] HikariPool-1 - Shutdown completed. -2026-08-13 10:04:34,354 INFO o.s.b.StartupInfoLogger [restartedMain] Starting KontorApplication using Java 25.0.2 with PID 1726511 (/home/tpeetz/projects/kontor/kontor-spring/build/classes/java/main started by tpeetz in /home/tpeetz/projects/kontor/kontor-spring) -2026-08-13 10:04:34,357 INFO o.s.b.SpringApplication [restartedMain] The following 4 profiles are active: "local", "dev", "test", "prod" -2026-08-13 10:04:34,407 INFO o.s.b.l.LogLevel [restartedMain] For additional web related logging consider setting the 'logging.level.web' property to 'DEBUG' -2026-08-13 10:04:35,289 INFO o.s.d.r.c.RepositoryConfigurationDelegate [restartedMain] Bootstrapping Spring Data JPA repositories in DEFAULT mode. -2026-08-13 10:04:35,302 INFO o.s.d.r.c.RepositoryConfigurationDelegate [restartedMain] Finished Spring Data repository scanning in 7 ms. Found 0 JPA repository interfaces. -2026-08-13 10:04:35,842 INFO o.s.b.t.TomcatWebServer [restartedMain] Tomcat initialized with port 8085 (http) -2026-08-13 10:04:35,851 INFO o.a.j.l.DirectJDKLog [restartedMain] Initializing ProtocolHandler ["http-nio-8085"] -2026-08-13 10:04:35,852 INFO o.a.j.l.DirectJDKLog [restartedMain] Starting service [Tomcat] -2026-08-13 10:04:35,853 INFO o.a.j.l.DirectJDKLog [restartedMain] Starting Servlet engine: [Apache Tomcat/11.0.24] -2026-08-13 10:04:35,880 INFO o.s.b.w.c.s.WebApplicationContextInitializer [restartedMain] Root WebApplicationContext: initialization completed in 1472 ms -2026-08-13 10:04:38,713 INFO c.v.f.s.VaadinServletContextInitializer$DevModeServletContextListener [restartedMain] Search for subclasses and classes with annotations took 2664 ms -2026-08-13 10:04:38,788 INFO c.v.b.d.s.DevModeInitializer [restartedMain] Starting dev-mode updaters in /home/tpeetz/projects/kontor/kontor-spring folder. -2026-08-13 10:04:38,820 INFO c.v.f.s.f.s.FullDependenciesScanner [restartedMain] Visited 106 classes. Took 18 ms. -2026-08-13 10:04:38,822 INFO c.v.f.s.f.BundleValidationUtil [restartedMain] Checking if a development mode bundle build is needed -2026-08-13 10:04:38,951 INFO c.v.f.s.f.BundleValidationUtil [restartedMain] A development mode bundle build is not needed -2026-08-13 10:04:38,978 INFO c.v.f.s.f.TaskCopyFrontendFiles [vaadin-dev-server-1] Copying frontend resources from jar files ... -2026-08-13 10:04:39,072 INFO c.v.f.s.f.TaskCopyFrontendFiles [vaadin-dev-server-1] Visited 20 resources. Took 94 ms. -2026-08-13 10:04:39,081 INFO o.h.j.i.u.LogHelper [restartedMain] HHH008540: Processing PersistenceUnitInfo [name: default] -2026-08-13 10:04:39,118 INFO o.h.Version [restartedMain] HHH000001: Hibernate ORM core version 7.4.1.Final -2026-08-13 10:04:39,456 INFO o.s.o.j.p.SpringPersistenceUnitInfo [restartedMain] No LoadTimeWeaver setup: ignoring JPA class transformer -2026-08-13 10:04:39,478 INFO c.z.h.HikariDataSource [restartedMain] HikariPool-1 - Starting... -2026-08-13 10:04:39,576 INFO c.z.h.p.HikariPool [restartedMain] HikariPool-1 - Added connection org.postgresql.jdbc.PgConnection@4954ed7d -2026-08-13 10:04:39,577 INFO c.z.h.HikariDataSource [restartedMain] HikariPool-1 - Start completed. -2026-08-13 10:04:39,621 INFO o.h.e.j.e.i.JdbcEnvironmentInitiator [restartedMain] HHH10001005: Database info: - Database JDBC URL [jdbc:postgresql://localhost:5432/kontor] - Database driver: PostgreSQL JDBC Driver - Database dialect: PostgreSQLDialect - Database version: 17.7 - Default catalog/schema: kontor/public - Autocommit mode: undefined/unknown - Isolation level: READ_COMMITTED [default READ_COMMITTED] - JDBC fetch size: none - Pool: DataSourceConnectionProvider - Minimum pool size: undefined/unknown - Maximum pool size: undefined/unknown -2026-08-13 10:04:39,742 INFO o.h.v.i.u.Version [restartedMain] HV000001: Hibernate Validator 9.1.0.Final -2026-08-13 10:04:39,995 INFO o.h.e.t.j.p.i.JtaPlatformInitiator [restartedMain] HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) -2026-08-13 10:04:40,038 INFO o.s.o.j.AbstractEntityManagerFactoryBean [restartedMain] Initialized JPA EntityManagerFactory for persistence unit 'default' -2026-08-13 10:04:40,102 WARN o.s.b.j.a.JpaBaseConfiguration$JpaWebConfiguration [restartedMain] spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning -2026-08-13 10:04:40,679 DEBUG o.a.a.a.u.UUIDGenerator [restartedMain] using hardware address 5e:5c:62:ffffff8d:27:-27 -2026-08-13 10:04:40,822 WARN o.s.b.s.a.UserDetailsServiceAutoConfiguration [restartedMain] - -Using generated security password: 3ef90a9f-2c7c-4111-82b2-99d2b8cc9cc2 - -This generated password is for development use only. Your security configuration must be updated before running your application in production. - -2026-08-13 10:04:40,852 INFO o.s.s.c.a.a.c.InitializeUserDetailsBeanManagerConfigurer$InitializeUserDetailsManagerConfigurer [restartedMain] Global AuthenticationManager configured with UserDetailsService bean with name inMemoryUserDetailsManager -2026-08-13 10:04:40,980 INFO o.s.b.a.e.w.EndpointLinksResolver [restartedMain] Exposing 5 endpoints beneath base path '/actuator' -2026-08-13 10:04:41,136 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereHandler com.vaadin.flow.server.communication.PushAtmosphereHandler mapped to context-path: /* -2026-08-13 10:04:41,137 INFO o.a.c.AtmosphereFramework [restartedMain] Installed the following AtmosphereInterceptor mapped to AtmosphereHandler com.vaadin.flow.server.communication.PushAtmosphereHandler -2026-08-13 10:04:41,162 INFO o.a.c.AtmosphereFramework [restartedMain] Atmosphere is using org.atmosphere.util.VoidAnnotationProcessor for processing annotation -2026-08-13 10:04:41,167 INFO o.a.u.ForkJoinPool [restartedMain] Using ForkJoinPool java.util.concurrent.ForkJoinPool. Set the org.atmosphere.cpr.broadcaster.maxAsyncWriteThreads to -1 to fully use its power. -2026-08-13 10:04:41,171 INFO o.a.c.AtmosphereFramework [restartedMain] Installed WebSocketProtocol org.atmosphere.websocket.protocol.SimpleHttpProtocol -2026-08-13 10:04:41,175 INFO o.a.c.JSR356AsyncSupport [restartedMain] JSR 356 Mapping path /VAADIN/push -2026-08-13 10:04:41,184 INFO o.a.c.AtmosphereFramework [restartedMain] Installing Default AtmosphereInterceptors -2026-08-13 10:04:41,185 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.CorsInterceptor : CORS Interceptor Support -2026-08-13 10:04:41,185 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.CacheHeadersInterceptor : Default Response's Headers Interceptor -2026-08-13 10:04:41,185 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.PaddingAtmosphereInterceptor : Browser Padding Interceptor Support -2026-08-13 10:04:41,186 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.AndroidAtmosphereInterceptor : Android Interceptor Support -2026-08-13 10:04:41,186 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.HeartbeatInterceptor : Heartbeat Interceptor Support -2026-08-13 10:04:41,187 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.SSEAtmosphereInterceptor : SSE Interceptor Support -2026-08-13 10:04:41,187 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.JSONPAtmosphereInterceptor : JSONP Interceptor Support -2026-08-13 10:04:41,188 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.JavaScriptProtocol : Atmosphere JavaScript Protocol -2026-08-13 10:04:41,188 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.WebSocketMessageSuspendInterceptor : org.atmosphere.interceptor.WebSocketMessageSuspendInterceptor -2026-08-13 10:04:41,188 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.OnDisconnectInterceptor : Browser disconnection detection -2026-08-13 10:04:41,189 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.IdleResourceInterceptor : org.atmosphere.interceptor.IdleResourceInterceptor -2026-08-13 10:04:41,189 INFO o.a.c.AtmosphereFramework [restartedMain] Set org.atmosphere.cpr.AtmosphereInterceptor.disableDefaults to disable them. -2026-08-13 10:04:41,189 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor CORS Interceptor Support with priority FIRST_BEFORE_DEFAULT -2026-08-13 10:04:41,189 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor Default Response's Headers Interceptor with priority AFTER_DEFAULT -2026-08-13 10:04:41,190 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor Browser Padding Interceptor Support with priority AFTER_DEFAULT -2026-08-13 10:04:41,190 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor Android Interceptor Support with priority AFTER_DEFAULT -2026-08-13 10:04:41,190 INFO o.a.i.HeartbeatInterceptor [restartedMain] HeartbeatInterceptor configured with padding value 'X', client frequency 0 seconds and server frequency 60 seconds -2026-08-13 10:04:41,190 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor Heartbeat Interceptor Support with priority AFTER_DEFAULT -2026-08-13 10:04:41,190 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor SSE Interceptor Support with priority AFTER_DEFAULT -2026-08-13 10:04:41,191 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor JSONP Interceptor Support with priority AFTER_DEFAULT -2026-08-13 10:04:41,191 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor Atmosphere JavaScript Protocol with priority AFTER_DEFAULT -2026-08-13 10:04:41,191 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor org.atmosphere.interceptor.WebSocketMessageSuspendInterceptor with priority AFTER_DEFAULT -2026-08-13 10:04:41,191 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor Browser disconnection detection with priority AFTER_DEFAULT -2026-08-13 10:04:41,191 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor org.atmosphere.interceptor.IdleResourceInterceptor with priority BEFORE_DEFAULT -2026-08-13 10:04:41,192 INFO o.a.c.AtmosphereFramework [restartedMain] Using EndpointMapper class org.atmosphere.util.DefaultEndpointMapper -2026-08-13 10:04:41,192 INFO o.a.c.AtmosphereFramework [restartedMain] Using BroadcasterCache: org.atmosphere.cache.UUIDBroadcasterCache -2026-08-13 10:04:41,192 INFO o.a.c.AtmosphereFramework [restartedMain] Default Broadcaster Class: org.atmosphere.cpr.DefaultBroadcaster -2026-08-13 10:04:41,192 INFO o.a.c.AtmosphereFramework [restartedMain] Broadcaster Shared List Resources: false -2026-08-13 10:04:41,192 INFO o.a.c.AtmosphereFramework [restartedMain] Broadcaster Polling Wait Time 100 -2026-08-13 10:04:41,193 INFO o.a.c.AtmosphereFramework [restartedMain] Shared ExecutorService supported: true -2026-08-13 10:04:41,193 INFO o.a.c.AtmosphereFramework [restartedMain] Messaging ExecutorService Pool Size unavailable - Not instance of ThreadPoolExecutor -2026-08-13 10:04:41,193 INFO o.a.c.AtmosphereFramework [restartedMain] Async I/O Thread Pool Size: 200 -2026-08-13 10:04:41,193 INFO o.a.c.AtmosphereFramework [restartedMain] Using BroadcasterFactory: org.atmosphere.cpr.DefaultBroadcasterFactory -2026-08-13 10:04:41,193 INFO o.a.c.AtmosphereFramework [restartedMain] Using AtmosphereResurceFactory: org.atmosphere.cpr.DefaultAtmosphereResourceFactory -2026-08-13 10:04:41,193 INFO o.a.c.AtmosphereFramework [restartedMain] Using WebSocketProcessor: org.atmosphere.websocket.DefaultWebSocketProcessor -2026-08-13 10:04:41,195 INFO o.a.c.AtmosphereFramework [restartedMain] Invoke AtmosphereInterceptor on WebSocket message true -2026-08-13 10:04:41,195 INFO o.a.c.AtmosphereFramework [restartedMain] HttpSession supported: true -2026-08-13 10:04:41,195 INFO o.a.c.AtmosphereFramework [restartedMain] Atmosphere is using org.atmosphere.inject.InjectableObjectFactory for dependency injection and object creation -2026-08-13 10:04:41,195 INFO o.a.c.AtmosphereFramework [restartedMain] Atmosphere is using async support: org.atmosphere.container.JSR356AsyncSupport running under container: Apache Tomcat/11.0.24 using jakarta.servlet/3.0 and jsr356/WebSocket API -2026-08-13 10:04:41,195 INFO o.a.c.AtmosphereFramework [restartedMain] Atmosphere Framework 3.0.5.slf4jvaadin1 started. -2026-08-13 10:04:41,198 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor Track Message Size Interceptor using | with priority BEFORE_DEFAULT -2026-08-13 10:04:41,236 INFO o.a.j.l.DirectJDKLog [restartedMain] Starting ProtocolHandler ["http-nio-8085"] -2026-08-13 10:04:41,254 INFO c.v.f.s.DefaultDeploymentConfiguration [restartedMain] -Vaadin is running in DEVELOPMENT mode - do not use for production deployments. -2026-08-13 10:04:41,297 INFO o.s.b.t.TomcatWebServer [restartedMain] Tomcat started on port 8085 (http) with context path '/' -2026-08-13 10:04:41,334 INFO o.a.c.i.e.AbstractCamelContext [restartedMain] Apache Camel 4.10.6 (camel-1) is starting -2026-08-13 10:04:41,340 INFO o.a.c.i.e.AbstractCamelContext [restartedMain] Routes startup (total:0) -2026-08-13 10:04:41,340 INFO o.a.c.i.e.AbstractCamelContext [restartedMain] Apache Camel 4.10.6 (camel-1) started in 6ms (build:0ms init:0ms start:6ms boot:972ms) -2026-08-13 10:04:41,343 INFO o.s.b.StartupInfoLogger [restartedMain] Started KontorApplication in 7.507 seconds (process running for 7.902) -2026-08-13 10:04:41,395 INFO c.v.b.d.DevModeHandlerManagerImpl [restartedMain] Application running at http://localhost:8085/ -2026-08-13 10:04:49,400 INFO o.a.j.l.DirectJDKLog [http-nio-8085-exec-2] Initializing Spring DispatcherServlet 'dispatcherServlet' -2026-08-13 10:04:49,401 INFO o.s.w.s.FrameworkServlet [http-nio-8085-exec-2] Initializing Servlet 'dispatcherServlet' -2026-08-13 10:04:49,404 INFO o.s.w.s.FrameworkServlet [http-nio-8085-exec-2] Completed initialization in 3 ms -2026-08-13 10:05:46,135 INFO o.s.b.t.GracefulShutdown [SpringApplicationShutdownHook] Commencing graceful shutdown. Waiting for active requests to complete -2026-08-13 10:05:46,139 INFO o.s.b.t.GracefulShutdown [tomcat-shutdown] Graceful shutdown complete -2026-08-13 10:05:46,143 INFO o.a.c.i.e.AbstractCamelContext [SpringApplicationShutdownHook] Apache Camel 4.10.6 (camel-1) is shutting down (timeout:45s) -2026-08-13 10:05:46,151 INFO o.a.c.s.CamelLogger [SpringApplicationShutdownHook] Routes stopped (total:0) -2026-08-13 10:05:46,155 INFO o.a.c.i.e.AbstractCamelContext [SpringApplicationShutdownHook] Apache Camel 4.10.6 (camel-1) shutdown in 12ms (uptime:1m4s) -2026-08-13 10:05:46,162 INFO o.s.o.j.AbstractEntityManagerFactoryBean [SpringApplicationShutdownHook] Closing JPA EntityManagerFactory for persistence unit 'default' -2026-08-13 10:05:46,166 INFO c.z.h.HikariDataSource [SpringApplicationShutdownHook] HikariPool-1 - Shutdown initiated... -2026-08-13 10:05:46,170 INFO c.z.h.HikariDataSource [SpringApplicationShutdownHook] HikariPool-1 - Shutdown completed. -2026-08-13 10:07:18,092 INFO o.s.b.StartupInfoLogger [restartedMain] Starting KontorApplication using Java 25.0.2 with PID 1754166 (/home/tpeetz/projects/kontor/kontor-spring/build/classes/java/main started by tpeetz in /home/tpeetz/projects/kontor/kontor-spring) -2026-08-13 10:07:18,095 INFO o.s.b.SpringApplication [restartedMain] The following 4 profiles are active: "local", "dev", "test", "prod" -2026-08-13 10:07:18,145 INFO o.s.b.l.LogLevel [restartedMain] For additional web related logging consider setting the 'logging.level.web' property to 'DEBUG' -2026-08-13 10:07:18,913 INFO o.s.d.r.c.RepositoryConfigurationDelegate [restartedMain] Bootstrapping Spring Data JPA repositories in DEFAULT mode. -2026-08-13 10:07:18,930 INFO o.s.d.r.c.RepositoryConfigurationDelegate [restartedMain] Finished Spring Data repository scanning in 10 ms. Found 0 JPA repository interfaces. -2026-08-13 10:07:19,560 INFO o.s.b.t.TomcatWebServer [restartedMain] Tomcat initialized with port 8085 (http) -2026-08-13 10:07:19,571 INFO o.a.j.l.DirectJDKLog [restartedMain] Initializing ProtocolHandler ["http-nio-8085"] -2026-08-13 10:07:19,572 INFO o.a.j.l.DirectJDKLog [restartedMain] Starting service [Tomcat] -2026-08-13 10:07:19,573 INFO o.a.j.l.DirectJDKLog [restartedMain] Starting Servlet engine: [Apache Tomcat/11.0.24] -2026-08-13 10:07:19,612 INFO o.s.b.w.c.s.WebApplicationContextInitializer [restartedMain] Root WebApplicationContext: initialization completed in 1466 ms -2026-08-13 10:07:22,846 INFO c.v.f.s.VaadinServletContextInitializer$DevModeServletContextListener [restartedMain] Search for subclasses and classes with annotations took 2948 ms -2026-08-13 10:07:22,944 INFO c.v.b.d.s.DevModeInitializer [restartedMain] Starting dev-mode updaters in /home/tpeetz/projects/kontor/kontor-spring folder. -2026-08-13 10:07:22,985 INFO c.v.f.s.f.s.FullDependenciesScanner [restartedMain] Visited 106 classes. Took 25 ms. -2026-08-13 10:07:22,987 INFO c.v.f.s.f.BundleValidationUtil [restartedMain] Checking if a development mode bundle build is needed -2026-08-13 10:07:23,170 INFO c.v.f.s.f.BundleValidationUtil [restartedMain] A development mode bundle build is not needed -2026-08-13 10:07:23,203 INFO c.v.f.s.f.TaskCopyFrontendFiles [vaadin-dev-server-1] Copying frontend resources from jar files ... -2026-08-13 10:07:23,282 INFO c.v.f.s.f.TaskCopyFrontendFiles [vaadin-dev-server-1] Visited 20 resources. Took 79 ms. -2026-08-13 10:07:23,319 INFO o.h.j.i.u.LogHelper [restartedMain] HHH008540: Processing PersistenceUnitInfo [name: default] -2026-08-13 10:07:23,395 INFO o.h.Version [restartedMain] HHH000001: Hibernate ORM core version 7.4.1.Final -2026-08-13 10:07:23,742 INFO o.s.o.j.p.SpringPersistenceUnitInfo [restartedMain] No LoadTimeWeaver setup: ignoring JPA class transformer -2026-08-13 10:07:23,768 INFO c.z.h.HikariDataSource [restartedMain] HikariPool-1 - Starting... -2026-08-13 10:07:23,888 INFO c.z.h.p.HikariPool [restartedMain] HikariPool-1 - Added connection org.postgresql.jdbc.PgConnection@1c2b5f2b -2026-08-13 10:07:23,890 INFO c.z.h.HikariDataSource [restartedMain] HikariPool-1 - Start completed. -2026-08-13 10:07:23,947 INFO o.h.e.j.e.i.JdbcEnvironmentInitiator [restartedMain] HHH10001005: Database info: - Database JDBC URL [jdbc:postgresql://localhost:5432/kontor] - Database driver: PostgreSQL JDBC Driver - Database dialect: PostgreSQLDialect - Database version: 17.7 - Default catalog/schema: kontor/public - Autocommit mode: undefined/unknown - Isolation level: READ_COMMITTED [default READ_COMMITTED] - JDBC fetch size: none - Pool: DataSourceConnectionProvider - Minimum pool size: undefined/unknown - Maximum pool size: undefined/unknown -2026-08-13 10:07:24,086 INFO o.h.v.i.u.Version [restartedMain] HV000001: Hibernate Validator 9.1.0.Final -2026-08-13 10:07:24,443 INFO o.h.e.t.j.p.i.JtaPlatformInitiator [restartedMain] HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) -2026-08-13 10:07:24,513 INFO o.s.o.j.AbstractEntityManagerFactoryBean [restartedMain] Initialized JPA EntityManagerFactory for persistence unit 'default' -2026-08-13 10:07:24,589 WARN o.s.b.j.a.JpaBaseConfiguration$JpaWebConfiguration [restartedMain] spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning -2026-08-13 10:07:25,392 DEBUG o.a.a.a.u.UUIDGenerator [restartedMain] using hardware address 5e:5c:62:ffffff8d:27:-27 -2026-08-13 10:07:25,522 WARN o.s.b.s.a.UserDetailsServiceAutoConfiguration [restartedMain] - -Using generated security password: 763bffb8-5405-4545-b39d-999c0d99dd8e - -This generated password is for development use only. Your security configuration must be updated before running your application in production. - -2026-08-13 10:07:25,546 INFO o.s.s.c.a.a.c.InitializeUserDetailsBeanManagerConfigurer$InitializeUserDetailsManagerConfigurer [restartedMain] Global AuthenticationManager configured with UserDetailsService bean with name inMemoryUserDetailsManager -2026-08-13 10:07:25,651 INFO o.s.b.a.e.w.EndpointLinksResolver [restartedMain] Exposing 5 endpoints beneath base path '/actuator' -2026-08-13 10:07:25,794 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereHandler com.vaadin.flow.server.communication.PushAtmosphereHandler mapped to context-path: /* -2026-08-13 10:07:25,794 INFO o.a.c.AtmosphereFramework [restartedMain] Installed the following AtmosphereInterceptor mapped to AtmosphereHandler com.vaadin.flow.server.communication.PushAtmosphereHandler -2026-08-13 10:07:25,817 INFO o.a.c.AtmosphereFramework [restartedMain] Atmosphere is using org.atmosphere.util.VoidAnnotationProcessor for processing annotation -2026-08-13 10:07:25,823 INFO o.a.u.ForkJoinPool [restartedMain] Using ForkJoinPool java.util.concurrent.ForkJoinPool. Set the org.atmosphere.cpr.broadcaster.maxAsyncWriteThreads to -1 to fully use its power. -2026-08-13 10:07:25,826 INFO o.a.c.AtmosphereFramework [restartedMain] Installed WebSocketProtocol org.atmosphere.websocket.protocol.SimpleHttpProtocol -2026-08-13 10:07:25,830 INFO o.a.c.JSR356AsyncSupport [restartedMain] JSR 356 Mapping path /VAADIN/push -2026-08-13 10:07:25,841 INFO o.a.c.AtmosphereFramework [restartedMain] Installing Default AtmosphereInterceptors -2026-08-13 10:07:25,842 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.CorsInterceptor : CORS Interceptor Support -2026-08-13 10:07:25,842 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.CacheHeadersInterceptor : Default Response's Headers Interceptor -2026-08-13 10:07:25,843 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.PaddingAtmosphereInterceptor : Browser Padding Interceptor Support -2026-08-13 10:07:25,843 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.AndroidAtmosphereInterceptor : Android Interceptor Support -2026-08-13 10:07:25,844 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.HeartbeatInterceptor : Heartbeat Interceptor Support -2026-08-13 10:07:25,844 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.SSEAtmosphereInterceptor : SSE Interceptor Support -2026-08-13 10:07:25,844 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.JSONPAtmosphereInterceptor : JSONP Interceptor Support -2026-08-13 10:07:25,845 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.JavaScriptProtocol : Atmosphere JavaScript Protocol -2026-08-13 10:07:25,845 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.WebSocketMessageSuspendInterceptor : org.atmosphere.interceptor.WebSocketMessageSuspendInterceptor -2026-08-13 10:07:25,846 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.OnDisconnectInterceptor : Browser disconnection detection -2026-08-13 10:07:25,846 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.IdleResourceInterceptor : org.atmosphere.interceptor.IdleResourceInterceptor -2026-08-13 10:07:25,855 INFO o.a.c.AtmosphereFramework [restartedMain] Set org.atmosphere.cpr.AtmosphereInterceptor.disableDefaults to disable them. -2026-08-13 10:07:25,856 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor CORS Interceptor Support with priority FIRST_BEFORE_DEFAULT -2026-08-13 10:07:25,856 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor Default Response's Headers Interceptor with priority AFTER_DEFAULT -2026-08-13 10:07:25,857 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor Browser Padding Interceptor Support with priority AFTER_DEFAULT -2026-08-13 10:07:25,857 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor Android Interceptor Support with priority AFTER_DEFAULT -2026-08-13 10:07:25,857 INFO o.a.i.HeartbeatInterceptor [restartedMain] HeartbeatInterceptor configured with padding value 'X', client frequency 0 seconds and server frequency 60 seconds -2026-08-13 10:07:25,857 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor Heartbeat Interceptor Support with priority AFTER_DEFAULT -2026-08-13 10:07:25,857 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor SSE Interceptor Support with priority AFTER_DEFAULT -2026-08-13 10:07:25,857 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor JSONP Interceptor Support with priority AFTER_DEFAULT -2026-08-13 10:07:25,858 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor Atmosphere JavaScript Protocol with priority AFTER_DEFAULT -2026-08-13 10:07:25,858 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor org.atmosphere.interceptor.WebSocketMessageSuspendInterceptor with priority AFTER_DEFAULT -2026-08-13 10:07:25,858 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor Browser disconnection detection with priority AFTER_DEFAULT -2026-08-13 10:07:25,858 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor org.atmosphere.interceptor.IdleResourceInterceptor with priority BEFORE_DEFAULT -2026-08-13 10:07:25,859 INFO o.a.c.AtmosphereFramework [restartedMain] Using EndpointMapper class org.atmosphere.util.DefaultEndpointMapper -2026-08-13 10:07:25,859 INFO o.a.c.AtmosphereFramework [restartedMain] Using BroadcasterCache: org.atmosphere.cache.UUIDBroadcasterCache -2026-08-13 10:07:25,859 INFO o.a.c.AtmosphereFramework [restartedMain] Default Broadcaster Class: org.atmosphere.cpr.DefaultBroadcaster -2026-08-13 10:07:25,859 INFO o.a.c.AtmosphereFramework [restartedMain] Broadcaster Shared List Resources: false -2026-08-13 10:07:25,859 INFO o.a.c.AtmosphereFramework [restartedMain] Broadcaster Polling Wait Time 100 -2026-08-13 10:07:25,859 INFO o.a.c.AtmosphereFramework [restartedMain] Shared ExecutorService supported: true -2026-08-13 10:07:25,860 INFO o.a.c.AtmosphereFramework [restartedMain] Messaging ExecutorService Pool Size unavailable - Not instance of ThreadPoolExecutor -2026-08-13 10:07:25,860 INFO o.a.c.AtmosphereFramework [restartedMain] Async I/O Thread Pool Size: 200 -2026-08-13 10:07:25,860 INFO o.a.c.AtmosphereFramework [restartedMain] Using BroadcasterFactory: org.atmosphere.cpr.DefaultBroadcasterFactory -2026-08-13 10:07:25,860 INFO o.a.c.AtmosphereFramework [restartedMain] Using AtmosphereResurceFactory: org.atmosphere.cpr.DefaultAtmosphereResourceFactory -2026-08-13 10:07:25,860 INFO o.a.c.AtmosphereFramework [restartedMain] Using WebSocketProcessor: org.atmosphere.websocket.DefaultWebSocketProcessor -2026-08-13 10:07:25,862 INFO o.a.c.AtmosphereFramework [restartedMain] Invoke AtmosphereInterceptor on WebSocket message true -2026-08-13 10:07:25,862 INFO o.a.c.AtmosphereFramework [restartedMain] HttpSession supported: true -2026-08-13 10:07:25,862 INFO o.a.c.AtmosphereFramework [restartedMain] Atmosphere is using org.atmosphere.inject.InjectableObjectFactory for dependency injection and object creation -2026-08-13 10:07:25,862 INFO o.a.c.AtmosphereFramework [restartedMain] Atmosphere is using async support: org.atmosphere.container.JSR356AsyncSupport running under container: Apache Tomcat/11.0.24 using jakarta.servlet/3.0 and jsr356/WebSocket API -2026-08-13 10:07:25,862 INFO o.a.c.AtmosphereFramework [restartedMain] Atmosphere Framework 3.0.5.slf4jvaadin1 started. -2026-08-13 10:07:25,865 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor Track Message Size Interceptor using | with priority BEFORE_DEFAULT -2026-08-13 10:07:25,898 INFO o.a.j.l.DirectJDKLog [restartedMain] Starting ProtocolHandler ["http-nio-8085"] -2026-08-13 10:07:25,919 INFO c.v.f.s.DefaultDeploymentConfiguration [restartedMain] -Vaadin is running in DEVELOPMENT mode - do not use for production deployments. -2026-08-13 10:07:25,960 INFO o.s.b.t.TomcatWebServer [restartedMain] Tomcat started on port 8085 (http) with context path '/' -2026-08-13 10:07:26,000 INFO o.a.c.i.e.AbstractCamelContext [restartedMain] Apache Camel 4.10.6 (camel-1) is starting -2026-08-13 10:07:26,007 INFO o.a.c.i.e.AbstractCamelContext [restartedMain] Routes startup (total:0) -2026-08-13 10:07:26,008 INFO o.a.c.i.e.AbstractCamelContext [restartedMain] Apache Camel 4.10.6 (camel-1) started in 6ms (build:0ms init:0ms start:6ms boot:993ms) -2026-08-13 10:07:26,010 INFO o.s.b.StartupInfoLogger [restartedMain] Started KontorApplication in 8.431 seconds (process running for 9.0) -2026-08-13 10:07:26,068 INFO c.v.b.d.DevModeHandlerManagerImpl [restartedMain] Application running at http://localhost:8085/ -2026-08-13 10:08:11,297 INFO o.a.j.l.DirectJDKLog [http-nio-8085-exec-1] Initializing Spring DispatcherServlet 'dispatcherServlet' -2026-08-13 10:08:11,297 INFO o.s.w.s.FrameworkServlet [http-nio-8085-exec-1] Initializing Servlet 'dispatcherServlet' -2026-08-13 10:08:11,299 INFO o.s.w.s.FrameworkServlet [http-nio-8085-exec-1] Completed initialization in 2 ms -2026-08-13 10:25:42,025 INFO o.s.b.t.GracefulShutdown [SpringApplicationShutdownHook] Commencing graceful shutdown. Waiting for active requests to complete -2026-08-13 10:25:42,028 INFO o.s.b.t.GracefulShutdown [tomcat-shutdown] Graceful shutdown complete -2026-08-13 10:25:42,031 INFO o.a.c.i.e.AbstractCamelContext [SpringApplicationShutdownHook] Apache Camel 4.10.6 (camel-1) is shutting down (timeout:45s) -2026-08-13 10:25:42,035 INFO o.a.c.s.CamelLogger [SpringApplicationShutdownHook] Routes stopped (total:0) -2026-08-13 10:25:42,038 INFO o.a.c.i.e.AbstractCamelContext [SpringApplicationShutdownHook] Apache Camel 4.10.6 (camel-1) shutdown in 7ms (uptime:18m16s) -2026-08-13 10:25:42,044 INFO o.s.o.j.AbstractEntityManagerFactoryBean [SpringApplicationShutdownHook] Closing JPA EntityManagerFactory for persistence unit 'default' -2026-08-13 10:25:42,047 INFO c.z.h.HikariDataSource [SpringApplicationShutdownHook] HikariPool-1 - Shutdown initiated... -2026-08-13 10:25:42,049 INFO c.z.h.HikariDataSource [SpringApplicationShutdownHook] HikariPool-1 - Shutdown completed. -2026-08-13 10:25:52,965 INFO o.s.b.StartupInfoLogger [restartedMain] Starting KontorApplication using Java 25.0.2 with PID 1917820 (/home/tpeetz/projects/kontor/kontor-spring/build/classes/java/main started by tpeetz in /home/tpeetz/projects/kontor/kontor-spring) -2026-08-13 10:25:52,968 INFO o.s.b.SpringApplication [restartedMain] The following 4 profiles are active: "local", "dev", "test", "prod" -2026-08-13 10:25:53,003 INFO o.s.b.l.LogLevel [restartedMain] For additional web related logging consider setting the 'logging.level.web' property to 'DEBUG' -2026-08-13 10:25:53,693 INFO o.s.d.r.c.RepositoryConfigurationDelegate [restartedMain] Bootstrapping Spring Data JPA repositories in DEFAULT mode. -2026-08-13 10:25:53,777 INFO o.s.d.r.c.RepositoryConfigurationDelegate [restartedMain] Finished Spring Data repository scanning in 78 ms. Found 5 JPA repository interfaces. -2026-08-13 10:25:54,293 INFO o.s.b.t.TomcatWebServer [restartedMain] Tomcat initialized with port 8085 (http) -2026-08-13 10:25:54,302 INFO o.a.j.l.DirectJDKLog [restartedMain] Initializing ProtocolHandler ["http-nio-8085"] -2026-08-13 10:25:54,304 INFO o.a.j.l.DirectJDKLog [restartedMain] Starting service [Tomcat] -2026-08-13 10:25:54,304 INFO o.a.j.l.DirectJDKLog [restartedMain] Starting Servlet engine: [Apache Tomcat/11.0.24] -2026-08-13 10:25:54,344 INFO o.s.b.w.c.s.WebApplicationContextInitializer [restartedMain] Root WebApplicationContext: initialization completed in 1340 ms -2026-08-13 10:25:57,260 INFO c.v.f.s.VaadinServletContextInitializer$DevModeServletContextListener [restartedMain] Search for subclasses and classes with annotations took 2699 ms -2026-08-13 10:25:57,339 INFO c.v.b.d.s.DevModeInitializer [restartedMain] Starting dev-mode updaters in /home/tpeetz/projects/kontor/kontor-spring folder. -2026-08-13 10:25:57,365 INFO c.v.f.s.f.s.FullDependenciesScanner [restartedMain] Visited 106 classes. Took 14 ms. -2026-08-13 10:25:57,366 INFO c.v.f.s.f.BundleValidationUtil [restartedMain] Checking if a development mode bundle build is needed -2026-08-13 10:25:57,467 INFO c.v.f.s.f.BundleValidationUtil [restartedMain] A development mode bundle build is not needed -2026-08-13 10:25:57,491 INFO c.v.f.s.f.TaskCopyFrontendFiles [vaadin-dev-server-1] Copying frontend resources from jar files ... -2026-08-13 10:25:57,561 INFO c.v.f.s.f.TaskCopyFrontendFiles [vaadin-dev-server-1] Visited 20 resources. Took 69 ms. -2026-08-13 10:25:57,592 INFO o.h.j.i.u.LogHelper [restartedMain] HHH008540: Processing PersistenceUnitInfo [name: default] -2026-08-13 10:25:57,625 INFO o.h.Version [restartedMain] HHH000001: Hibernate ORM core version 7.4.1.Final -2026-08-13 10:25:57,986 INFO o.s.o.j.p.SpringPersistenceUnitInfo [restartedMain] No LoadTimeWeaver setup: ignoring JPA class transformer -2026-08-13 10:25:58,016 INFO c.z.h.HikariDataSource [restartedMain] HikariPool-1 - Starting... -2026-08-13 10:25:58,129 INFO c.z.h.p.HikariPool [restartedMain] HikariPool-1 - Added connection org.postgresql.jdbc.PgConnection@33d48759 -2026-08-13 10:25:58,132 INFO c.z.h.HikariDataSource [restartedMain] HikariPool-1 - Start completed. -2026-08-13 10:25:58,189 INFO o.h.e.j.e.i.JdbcEnvironmentInitiator [restartedMain] HHH10001005: Database info: - Database JDBC URL [jdbc:postgresql://localhost:5432/kontor] - Database driver: PostgreSQL JDBC Driver - Database dialect: PostgreSQLDialect - Database version: 17.7 - Default catalog/schema: kontor/public - Autocommit mode: undefined/unknown - Isolation level: READ_COMMITTED [default READ_COMMITTED] - JDBC fetch size: none - Pool: DataSourceConnectionProvider - Minimum pool size: undefined/unknown - Maximum pool size: undefined/unknown -2026-08-13 10:25:58,475 INFO o.h.v.i.u.Version [restartedMain] HV000001: Hibernate Validator 9.1.0.Final -2026-08-13 10:25:59,277 INFO o.h.e.t.j.p.i.JtaPlatformInitiator [restartedMain] HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) -2026-08-13 10:25:59,366 INFO o.s.o.j.AbstractEntityManagerFactoryBean [restartedMain] Initialized JPA EntityManagerFactory for persistence unit 'default' -2026-08-13 10:25:59,449 INFO o.s.d.j.r.q.QueryEnhancerFactories [restartedMain] Hibernate is in classpath; If applicable, HQL parser will be used. -2026-08-13 10:26:00,239 WARN o.s.b.j.a.JpaBaseConfiguration$JpaWebConfiguration [restartedMain] spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning -2026-08-13 10:26:00,651 DEBUG o.a.a.a.u.UUIDGenerator [restartedMain] using hardware address 5e:5c:62:ffffff8d:27:-27 -2026-08-13 10:26:00,800 WARN o.s.b.s.a.UserDetailsServiceAutoConfiguration [restartedMain] - -Using generated security password: 377b0862-d125-484b-a233-9496393a1ade - -This generated password is for development use only. Your security configuration must be updated before running your application in production. - -2026-08-13 10:26:00,831 INFO o.s.s.c.a.a.c.InitializeUserDetailsBeanManagerConfigurer$InitializeUserDetailsManagerConfigurer [restartedMain] Global AuthenticationManager configured with UserDetailsService bean with name inMemoryUserDetailsManager -2026-08-13 10:26:00,983 INFO o.s.b.a.e.w.EndpointLinksResolver [restartedMain] Exposing 5 endpoints beneath base path '/actuator' -2026-08-13 10:26:01,131 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereHandler com.vaadin.flow.server.communication.PushAtmosphereHandler mapped to context-path: /* -2026-08-13 10:26:01,132 INFO o.a.c.AtmosphereFramework [restartedMain] Installed the following AtmosphereInterceptor mapped to AtmosphereHandler com.vaadin.flow.server.communication.PushAtmosphereHandler -2026-08-13 10:26:01,154 INFO o.a.c.AtmosphereFramework [restartedMain] Atmosphere is using org.atmosphere.util.VoidAnnotationProcessor for processing annotation -2026-08-13 10:26:01,159 INFO o.a.u.ForkJoinPool [restartedMain] Using ForkJoinPool java.util.concurrent.ForkJoinPool. Set the org.atmosphere.cpr.broadcaster.maxAsyncWriteThreads to -1 to fully use its power. -2026-08-13 10:26:01,163 INFO o.a.c.AtmosphereFramework [restartedMain] Installed WebSocketProtocol org.atmosphere.websocket.protocol.SimpleHttpProtocol -2026-08-13 10:26:01,166 INFO o.a.c.JSR356AsyncSupport [restartedMain] JSR 356 Mapping path /VAADIN/push -2026-08-13 10:26:01,174 INFO o.a.c.AtmosphereFramework [restartedMain] Installing Default AtmosphereInterceptors -2026-08-13 10:26:01,175 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.CorsInterceptor : CORS Interceptor Support -2026-08-13 10:26:01,176 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.CacheHeadersInterceptor : Default Response's Headers Interceptor -2026-08-13 10:26:01,176 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.PaddingAtmosphereInterceptor : Browser Padding Interceptor Support -2026-08-13 10:26:01,176 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.AndroidAtmosphereInterceptor : Android Interceptor Support -2026-08-13 10:26:01,177 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.HeartbeatInterceptor : Heartbeat Interceptor Support -2026-08-13 10:26:01,177 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.SSEAtmosphereInterceptor : SSE Interceptor Support -2026-08-13 10:26:01,177 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.JSONPAtmosphereInterceptor : JSONP Interceptor Support -2026-08-13 10:26:01,178 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.JavaScriptProtocol : Atmosphere JavaScript Protocol -2026-08-13 10:26:01,178 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.WebSocketMessageSuspendInterceptor : org.atmosphere.interceptor.WebSocketMessageSuspendInterceptor -2026-08-13 10:26:01,179 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.OnDisconnectInterceptor : Browser disconnection detection -2026-08-13 10:26:01,179 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.IdleResourceInterceptor : org.atmosphere.interceptor.IdleResourceInterceptor -2026-08-13 10:26:01,179 INFO o.a.c.AtmosphereFramework [restartedMain] Set org.atmosphere.cpr.AtmosphereInterceptor.disableDefaults to disable them. -2026-08-13 10:26:01,180 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor CORS Interceptor Support with priority FIRST_BEFORE_DEFAULT -2026-08-13 10:26:01,180 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor Default Response's Headers Interceptor with priority AFTER_DEFAULT -2026-08-13 10:26:01,181 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor Browser Padding Interceptor Support with priority AFTER_DEFAULT -2026-08-13 10:26:01,181 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor Android Interceptor Support with priority AFTER_DEFAULT -2026-08-13 10:26:01,181 INFO o.a.i.HeartbeatInterceptor [restartedMain] HeartbeatInterceptor configured with padding value 'X', client frequency 0 seconds and server frequency 60 seconds -2026-08-13 10:26:01,181 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor Heartbeat Interceptor Support with priority AFTER_DEFAULT -2026-08-13 10:26:01,181 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor SSE Interceptor Support with priority AFTER_DEFAULT -2026-08-13 10:26:01,182 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor JSONP Interceptor Support with priority AFTER_DEFAULT -2026-08-13 10:26:01,182 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor Atmosphere JavaScript Protocol with priority AFTER_DEFAULT -2026-08-13 10:26:01,182 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor org.atmosphere.interceptor.WebSocketMessageSuspendInterceptor with priority AFTER_DEFAULT -2026-08-13 10:26:01,182 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor Browser disconnection detection with priority AFTER_DEFAULT -2026-08-13 10:26:01,182 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor org.atmosphere.interceptor.IdleResourceInterceptor with priority BEFORE_DEFAULT -2026-08-13 10:26:01,183 INFO o.a.c.AtmosphereFramework [restartedMain] Using EndpointMapper class org.atmosphere.util.DefaultEndpointMapper -2026-08-13 10:26:01,183 INFO o.a.c.AtmosphereFramework [restartedMain] Using BroadcasterCache: org.atmosphere.cache.UUIDBroadcasterCache -2026-08-13 10:26:01,183 INFO o.a.c.AtmosphereFramework [restartedMain] Default Broadcaster Class: org.atmosphere.cpr.DefaultBroadcaster -2026-08-13 10:26:01,183 INFO o.a.c.AtmosphereFramework [restartedMain] Broadcaster Shared List Resources: false -2026-08-13 10:26:01,183 INFO o.a.c.AtmosphereFramework [restartedMain] Broadcaster Polling Wait Time 100 -2026-08-13 10:26:01,183 INFO o.a.c.AtmosphereFramework [restartedMain] Shared ExecutorService supported: true -2026-08-13 10:26:01,184 INFO o.a.c.AtmosphereFramework [restartedMain] Messaging ExecutorService Pool Size unavailable - Not instance of ThreadPoolExecutor -2026-08-13 10:26:01,184 INFO o.a.c.AtmosphereFramework [restartedMain] Async I/O Thread Pool Size: 200 -2026-08-13 10:26:01,184 INFO o.a.c.AtmosphereFramework [restartedMain] Using BroadcasterFactory: org.atmosphere.cpr.DefaultBroadcasterFactory -2026-08-13 10:26:01,184 INFO o.a.c.AtmosphereFramework [restartedMain] Using AtmosphereResurceFactory: org.atmosphere.cpr.DefaultAtmosphereResourceFactory -2026-08-13 10:26:01,184 INFO o.a.c.AtmosphereFramework [restartedMain] Using WebSocketProcessor: org.atmosphere.websocket.DefaultWebSocketProcessor -2026-08-13 10:26:01,185 INFO o.a.c.AtmosphereFramework [restartedMain] Invoke AtmosphereInterceptor on WebSocket message true -2026-08-13 10:26:01,186 INFO o.a.c.AtmosphereFramework [restartedMain] HttpSession supported: true -2026-08-13 10:26:01,186 INFO o.a.c.AtmosphereFramework [restartedMain] Atmosphere is using org.atmosphere.inject.InjectableObjectFactory for dependency injection and object creation -2026-08-13 10:26:01,186 INFO o.a.c.AtmosphereFramework [restartedMain] Atmosphere is using async support: org.atmosphere.container.JSR356AsyncSupport running under container: Apache Tomcat/11.0.24 using jakarta.servlet/3.0 and jsr356/WebSocket API -2026-08-13 10:26:01,186 INFO o.a.c.AtmosphereFramework [restartedMain] Atmosphere Framework 3.0.5.slf4jvaadin1 started. -2026-08-13 10:26:01,189 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor Track Message Size Interceptor using | with priority BEFORE_DEFAULT -2026-08-13 10:26:01,217 INFO o.a.j.l.DirectJDKLog [restartedMain] Starting ProtocolHandler ["http-nio-8085"] -2026-08-13 10:26:01,232 INFO c.v.f.s.DefaultDeploymentConfiguration [restartedMain] -Vaadin is running in DEVELOPMENT mode - do not use for production deployments. -2026-08-13 10:26:01,277 INFO o.s.b.t.TomcatWebServer [restartedMain] Tomcat started on port 8085 (http) with context path '/' -2026-08-13 10:26:01,384 WARN o.s.c.s.AbstractApplicationContext [restartedMain] Exception encountered during context initialization - cancelling refresh attempt: org.apache.camel.FailedToCreateRouteException: Failed to create route read-queue-media-link-add: Route(read-queue-media-link-add)[From[jms:queue:media.link.a... because of No endpoint could be found for: jms://queue:media.link.add, please check your classpath contains the needed Camel component jar. -2026-08-13 10:26:01,386 INFO o.s.b.t.GracefulShutdown [restartedMain] Commencing graceful shutdown. Waiting for active requests to complete -2026-08-13 10:26:01,387 INFO o.a.j.l.DirectJDKLog [tomcat-shutdown] Pausing ProtocolHandler ["http-nio-8085"] -2026-08-13 10:26:01,388 INFO o.s.b.t.GracefulShutdown [tomcat-shutdown] Graceful shutdown complete -2026-08-13 10:26:01,389 INFO o.a.j.l.DirectJDKLog [restartedMain] Stopping ProtocolHandler ["http-nio-8085"] -2026-08-13 10:26:01,394 INFO o.s.o.j.AbstractEntityManagerFactoryBean [restartedMain] Closing JPA EntityManagerFactory for persistence unit 'default' -2026-08-13 10:26:01,396 INFO c.z.h.HikariDataSource [restartedMain] HikariPool-1 - Shutdown initiated... -2026-08-13 10:26:01,398 INFO c.z.h.HikariDataSource [restartedMain] HikariPool-1 - Shutdown completed. -2026-08-13 10:26:01,408 INFO o.s.b.a.l.ConditionEvaluationReportLogger [restartedMain] - -Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled. -2026-08-13 10:26:01,418 ERROR o.s.b.SpringApplication [restartedMain] Application run failed -org.apache.camel.FailedToCreateRouteException: Failed to create route read-queue-media-link-add: Route(read-queue-media-link-add)[From[jms:queue:media.link.a... because of No endpoint could be found for: jms://queue:media.link.add, please check your classpath contains the needed Camel component jar. - at org.apache.camel.reifier.RouteReifier.createRoute(RouteReifier.java:92) - at org.apache.camel.impl.DefaultModelReifierFactory.createRoute(DefaultModelReifierFactory.java:49) - at org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:741) - at org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:602) - at org.apache.camel.impl.engine.AbstractCamelContext.doInit(AbstractCamelContext.java:2470) - at org.apache.camel.support.service.BaseService.init(BaseService.java:85) - at org.apache.camel.impl.engine.AbstractCamelContext.init(AbstractCamelContext.java:2100) - at org.apache.camel.support.service.BaseService.start(BaseService.java:115) - at org.apache.camel.impl.engine.AbstractCamelContext.start(AbstractCamelContext.java:2119) - at org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:211) - at org.apache.camel.spring.SpringCamelContext.start(SpringCamelContext.java:121) - at org.apache.camel.spring.SpringCamelContext.onApplicationEvent(SpringCamelContext.java:153) - at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:180) - at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:173) - at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:151) - at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:448) - at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:381) - at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:1016) - at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:624) - at org.springframework.boot.web.server.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:143) - at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:756) - at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:445) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:321) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:1365) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:1354) - at de.thpeetz.kontor.KontorApplication.main(KontorApplication.java:21) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) - at java.base/java.lang.reflect.Method.invoke(Method.java:565) - at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:52) -Caused by: org.apache.camel.NoSuchEndpointException: No endpoint could be found for: jms://queue:media.link.add, please check your classpath contains the needed Camel component jar. - at org.apache.camel.impl.engine.AbstractCamelContext.doGetEndpoint(AbstractCamelContext.java:860) - at org.apache.camel.impl.engine.AbstractCamelContext.getEndpoint(AbstractCamelContext.java:741) - at org.apache.camel.support.CamelContextHelper.getMandatoryEndpoint(CamelContextHelper.java:66) - at org.apache.camel.reifier.AbstractReifier.resolveEndpoint(AbstractReifier.java:199) - at org.apache.camel.reifier.RouteReifier.doCreateRoute(RouteReifier.java:106) - at org.apache.camel.reifier.RouteReifier.createRoute(RouteReifier.java:86) - ... 28 common frames omitted -2026-08-13 10:29:21,522 INFO o.s.b.StartupInfoLogger [restartedMain] Starting KontorApplication using Java 25.0.2 with PID 1948403 (/home/tpeetz/projects/kontor/kontor-spring/build/classes/java/main started by tpeetz in /home/tpeetz/projects/kontor/kontor-spring) -2026-08-13 10:29:21,525 INFO o.s.b.SpringApplication [restartedMain] The following 4 profiles are active: "local", "dev", "test", "prod" -2026-08-13 10:29:21,585 INFO o.s.b.l.LogLevel [restartedMain] For additional web related logging consider setting the 'logging.level.web' property to 'DEBUG' -2026-08-13 10:29:22,649 INFO o.s.d.r.c.RepositoryConfigurationDelegate [restartedMain] Bootstrapping Spring Data JPA repositories in DEFAULT mode. -2026-08-13 10:29:22,762 INFO o.s.d.r.c.RepositoryConfigurationDelegate [restartedMain] Finished Spring Data repository scanning in 102 ms. Found 5 JPA repository interfaces. -2026-08-13 10:29:23,433 INFO o.s.b.t.TomcatWebServer [restartedMain] Tomcat initialized with port 8085 (http) -2026-08-13 10:29:23,448 INFO o.a.j.l.DirectJDKLog [restartedMain] Initializing ProtocolHandler ["http-nio-8085"] -2026-08-13 10:29:23,450 INFO o.a.j.l.DirectJDKLog [restartedMain] Starting service [Tomcat] -2026-08-13 10:29:23,451 INFO o.a.j.l.DirectJDKLog [restartedMain] Starting Servlet engine: [Apache Tomcat/11.0.24] -2026-08-13 10:29:23,506 INFO o.s.b.w.c.s.WebApplicationContextInitializer [restartedMain] Root WebApplicationContext: initialization completed in 1919 ms -2026-08-13 10:29:27,310 INFO c.v.f.s.VaadinServletContextInitializer$DevModeServletContextListener [restartedMain] Search for subclasses and classes with annotations took 3474 ms -2026-08-13 10:29:27,371 INFO c.v.b.d.s.DevModeInitializer [restartedMain] Starting dev-mode updaters in /home/tpeetz/projects/kontor/kontor-spring folder. -2026-08-13 10:29:27,403 INFO c.v.f.s.f.s.FullDependenciesScanner [restartedMain] Visited 106 classes. Took 16 ms. -2026-08-13 10:29:27,405 INFO c.v.f.s.f.BundleValidationUtil [restartedMain] Checking if a development mode bundle build is needed -2026-08-13 10:29:27,556 INFO c.v.f.s.f.BundleValidationUtil [restartedMain] A development mode bundle build is not needed -2026-08-13 10:29:27,587 INFO c.v.f.s.f.TaskCopyFrontendFiles [vaadin-dev-server-1] Copying frontend resources from jar files ... -2026-08-13 10:29:27,706 INFO c.v.f.s.f.TaskCopyFrontendFiles [vaadin-dev-server-1] Visited 20 resources. Took 119 ms. -2026-08-13 10:29:27,742 INFO o.h.j.i.u.LogHelper [restartedMain] HHH008540: Processing PersistenceUnitInfo [name: default] -2026-08-13 10:29:27,820 INFO o.h.Version [restartedMain] HHH000001: Hibernate ORM core version 7.4.1.Final -2026-08-13 10:29:28,335 INFO o.s.o.j.p.SpringPersistenceUnitInfo [restartedMain] No LoadTimeWeaver setup: ignoring JPA class transformer -2026-08-13 10:29:28,366 INFO c.z.h.HikariDataSource [restartedMain] HikariPool-1 - Starting... -2026-08-13 10:29:28,481 INFO c.z.h.p.HikariPool [restartedMain] HikariPool-1 - Added connection org.postgresql.jdbc.PgConnection@62e72015 -2026-08-13 10:29:28,482 INFO c.z.h.HikariDataSource [restartedMain] HikariPool-1 - Start completed. -2026-08-13 10:29:28,534 INFO o.h.e.j.e.i.JdbcEnvironmentInitiator [restartedMain] HHH10001005: Database info: - Database JDBC URL [jdbc:postgresql://localhost:5432/kontor] - Database driver: PostgreSQL JDBC Driver - Database dialect: PostgreSQLDialect - Database version: 17.7 - Default catalog/schema: kontor/public - Autocommit mode: undefined/unknown - Isolation level: READ_COMMITTED [default READ_COMMITTED] - JDBC fetch size: none - Pool: DataSourceConnectionProvider - Minimum pool size: undefined/unknown - Maximum pool size: undefined/unknown -2026-08-13 10:29:28,777 INFO o.h.v.i.u.Version [restartedMain] HV000001: Hibernate Validator 9.1.0.Final -2026-08-13 10:29:29,434 INFO o.h.e.t.j.p.i.JtaPlatformInitiator [restartedMain] HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) -2026-08-13 10:29:29,496 INFO o.s.o.j.AbstractEntityManagerFactoryBean [restartedMain] Initialized JPA EntityManagerFactory for persistence unit 'default' -2026-08-13 10:29:29,582 INFO o.s.d.j.r.q.QueryEnhancerFactories [restartedMain] Hibernate is in classpath; If applicable, HQL parser will be used. -2026-08-13 10:29:30,505 WARN o.s.b.j.a.JpaBaseConfiguration$JpaWebConfiguration [restartedMain] spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning -2026-08-13 10:29:30,984 DEBUG o.a.a.a.u.UUIDGenerator [restartedMain] using hardware address 5e:5c:62:ffffff8d:27:-27 -2026-08-13 10:29:31,092 WARN o.s.b.s.a.UserDetailsServiceAutoConfiguration [restartedMain] - -Using generated security password: f6a73213-b216-4901-8897-f0c68112c170 - -This generated password is for development use only. Your security configuration must be updated before running your application in production. - -2026-08-13 10:29:31,115 INFO o.s.s.c.a.a.c.InitializeUserDetailsBeanManagerConfigurer$InitializeUserDetailsManagerConfigurer [restartedMain] Global AuthenticationManager configured with UserDetailsService bean with name inMemoryUserDetailsManager -2026-08-13 10:29:31,225 INFO o.s.b.a.e.w.EndpointLinksResolver [restartedMain] Exposing 5 endpoints beneath base path '/actuator' -2026-08-13 10:29:31,366 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereHandler com.vaadin.flow.server.communication.PushAtmosphereHandler mapped to context-path: /* -2026-08-13 10:29:31,366 INFO o.a.c.AtmosphereFramework [restartedMain] Installed the following AtmosphereInterceptor mapped to AtmosphereHandler com.vaadin.flow.server.communication.PushAtmosphereHandler -2026-08-13 10:29:31,391 INFO o.a.c.AtmosphereFramework [restartedMain] Atmosphere is using org.atmosphere.util.VoidAnnotationProcessor for processing annotation -2026-08-13 10:29:31,396 INFO o.a.u.ForkJoinPool [restartedMain] Using ForkJoinPool java.util.concurrent.ForkJoinPool. Set the org.atmosphere.cpr.broadcaster.maxAsyncWriteThreads to -1 to fully use its power. -2026-08-13 10:29:31,401 INFO o.a.c.AtmosphereFramework [restartedMain] Installed WebSocketProtocol org.atmosphere.websocket.protocol.SimpleHttpProtocol -2026-08-13 10:29:31,405 INFO o.a.c.JSR356AsyncSupport [restartedMain] JSR 356 Mapping path /VAADIN/push -2026-08-13 10:29:31,414 INFO o.a.c.AtmosphereFramework [restartedMain] Installing Default AtmosphereInterceptors -2026-08-13 10:29:31,415 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.CorsInterceptor : CORS Interceptor Support -2026-08-13 10:29:31,415 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.CacheHeadersInterceptor : Default Response's Headers Interceptor -2026-08-13 10:29:31,415 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.PaddingAtmosphereInterceptor : Browser Padding Interceptor Support -2026-08-13 10:29:31,416 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.AndroidAtmosphereInterceptor : Android Interceptor Support -2026-08-13 10:29:31,416 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.HeartbeatInterceptor : Heartbeat Interceptor Support -2026-08-13 10:29:31,417 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.SSEAtmosphereInterceptor : SSE Interceptor Support -2026-08-13 10:29:31,417 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.JSONPAtmosphereInterceptor : JSONP Interceptor Support -2026-08-13 10:29:31,418 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.JavaScriptProtocol : Atmosphere JavaScript Protocol -2026-08-13 10:29:31,418 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.WebSocketMessageSuspendInterceptor : org.atmosphere.interceptor.WebSocketMessageSuspendInterceptor -2026-08-13 10:29:31,418 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.OnDisconnectInterceptor : Browser disconnection detection -2026-08-13 10:29:31,418 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.IdleResourceInterceptor : org.atmosphere.interceptor.IdleResourceInterceptor -2026-08-13 10:29:31,418 INFO o.a.c.AtmosphereFramework [restartedMain] Set org.atmosphere.cpr.AtmosphereInterceptor.disableDefaults to disable them. -2026-08-13 10:29:31,419 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor CORS Interceptor Support with priority FIRST_BEFORE_DEFAULT -2026-08-13 10:29:31,419 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor Default Response's Headers Interceptor with priority AFTER_DEFAULT -2026-08-13 10:29:31,419 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor Browser Padding Interceptor Support with priority AFTER_DEFAULT -2026-08-13 10:29:31,419 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor Android Interceptor Support with priority AFTER_DEFAULT -2026-08-13 10:29:31,420 INFO o.a.i.HeartbeatInterceptor [restartedMain] HeartbeatInterceptor configured with padding value 'X', client frequency 0 seconds and server frequency 60 seconds -2026-08-13 10:29:31,420 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor Heartbeat Interceptor Support with priority AFTER_DEFAULT -2026-08-13 10:29:31,420 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor SSE Interceptor Support with priority AFTER_DEFAULT -2026-08-13 10:29:31,420 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor JSONP Interceptor Support with priority AFTER_DEFAULT -2026-08-13 10:29:31,420 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor Atmosphere JavaScript Protocol with priority AFTER_DEFAULT -2026-08-13 10:29:31,420 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor org.atmosphere.interceptor.WebSocketMessageSuspendInterceptor with priority AFTER_DEFAULT -2026-08-13 10:29:31,420 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor Browser disconnection detection with priority AFTER_DEFAULT -2026-08-13 10:29:31,420 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor org.atmosphere.interceptor.IdleResourceInterceptor with priority BEFORE_DEFAULT -2026-08-13 10:29:31,421 INFO o.a.c.AtmosphereFramework [restartedMain] Using EndpointMapper class org.atmosphere.util.DefaultEndpointMapper -2026-08-13 10:29:31,421 INFO o.a.c.AtmosphereFramework [restartedMain] Using BroadcasterCache: org.atmosphere.cache.UUIDBroadcasterCache -2026-08-13 10:29:31,421 INFO o.a.c.AtmosphereFramework [restartedMain] Default Broadcaster Class: org.atmosphere.cpr.DefaultBroadcaster -2026-08-13 10:29:31,421 INFO o.a.c.AtmosphereFramework [restartedMain] Broadcaster Shared List Resources: false -2026-08-13 10:29:31,421 INFO o.a.c.AtmosphereFramework [restartedMain] Broadcaster Polling Wait Time 100 -2026-08-13 10:29:31,421 INFO o.a.c.AtmosphereFramework [restartedMain] Shared ExecutorService supported: true -2026-08-13 10:29:31,422 INFO o.a.c.AtmosphereFramework [restartedMain] Messaging ExecutorService Pool Size unavailable - Not instance of ThreadPoolExecutor -2026-08-13 10:29:31,422 INFO o.a.c.AtmosphereFramework [restartedMain] Async I/O Thread Pool Size: 200 -2026-08-13 10:29:31,422 INFO o.a.c.AtmosphereFramework [restartedMain] Using BroadcasterFactory: org.atmosphere.cpr.DefaultBroadcasterFactory -2026-08-13 10:29:31,422 INFO o.a.c.AtmosphereFramework [restartedMain] Using AtmosphereResurceFactory: org.atmosphere.cpr.DefaultAtmosphereResourceFactory -2026-08-13 10:29:31,423 INFO o.a.c.AtmosphereFramework [restartedMain] Using WebSocketProcessor: org.atmosphere.websocket.DefaultWebSocketProcessor -2026-08-13 10:29:31,425 INFO o.a.c.AtmosphereFramework [restartedMain] Invoke AtmosphereInterceptor on WebSocket message true -2026-08-13 10:29:31,426 INFO o.a.c.AtmosphereFramework [restartedMain] HttpSession supported: true -2026-08-13 10:29:31,426 INFO o.a.c.AtmosphereFramework [restartedMain] Atmosphere is using org.atmosphere.inject.InjectableObjectFactory for dependency injection and object creation -2026-08-13 10:29:31,426 INFO o.a.c.AtmosphereFramework [restartedMain] Atmosphere is using async support: org.atmosphere.container.JSR356AsyncSupport running under container: Apache Tomcat/11.0.24 using jakarta.servlet/3.0 and jsr356/WebSocket API -2026-08-13 10:29:31,426 INFO o.a.c.AtmosphereFramework [restartedMain] Atmosphere Framework 3.0.5.slf4jvaadin1 started. -2026-08-13 10:29:31,429 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor Track Message Size Interceptor using | with priority BEFORE_DEFAULT -2026-08-13 10:29:31,465 INFO o.a.j.l.DirectJDKLog [restartedMain] Starting ProtocolHandler ["http-nio-8085"] -2026-08-13 10:29:31,485 INFO c.v.f.s.DefaultDeploymentConfiguration [restartedMain] -Vaadin is running in DEVELOPMENT mode - do not use for production deployments. -2026-08-13 10:29:31,530 INFO o.s.b.t.TomcatWebServer [restartedMain] Tomcat started on port 8085 (http) with context path '/' -2026-08-13 10:29:31,721 INFO o.a.c.i.e.AbstractCamelContext [restartedMain] Apache Camel 4.10.6 (camel-1) is starting -2026-08-13 10:29:31,747 DEBUG o.a.a.a.c.c.i.ClientSessionFactoryImpl [restartedMain] Trying reconnection attempt 0/1 -2026-08-13 10:29:31,747 DEBUG o.a.a.a.c.c.i.ClientSessionFactoryImpl [restartedMain] Trying to connect with connectorFactory=org.apache.activemq.artemis.core.remoting.impl.netty.NettyConnectorFactory@30520b44 and currentConnectorConfig: TransportConfiguration(name=null, factory=org-apache-activemq-artemis-core-remoting-impl-netty-NettyConnectorFactory)?port=61616&host=localhost -2026-08-13 10:29:31,813 DEBUG o.a.a.a.c.r.i.n.NettyConnector [restartedMain] Connector NettyConnector [host=localhost, port=61616, httpEnabled=false, httpUpgradeEnabled=false, useServlet=false, servletPath=/messaging/ActiveMQServlet, sslEnabled=false, useNio=true] using native epoll -2026-08-13 10:29:31,829 DEBUG o.a.a.a.c.r.i.n.NettyConnector [restartedMain] Started EPOLL Netty Connector version 4.2.15.Final to localhost:61616 -2026-08-13 10:29:31,830 DEBUG o.a.a.a.c.r.i.n.NettyConnector [restartedMain] Remote destination: localhost/127.0.0.1:61616 -2026-08-13 10:29:31,879 DEBUG o.a.a.a.c.r.i.n.NettyConnector$1 [Thread-0 (activemq-client-remoting)] Added ActiveMQClientChannelHandler to Channel with id = 63f6e354 -2026-08-13 10:29:31,889 DEBUG o.a.a.a.c.c.i.ClientSessionFactoryImpl [restartedMain] Connected with the currentConnectorConfig=TransportConfiguration(name=null, factory=org-apache-activemq-artemis-core-remoting-impl-netty-NettyConnectorFactory)?port=61616&host=localhost -2026-08-13 10:29:31,955 DEBUG o.a.a.a.c.c.i.ClientSessionFactoryImpl [restartedMain] Reconnection successful -2026-08-13 10:29:31,956 DEBUG o.a.a.a.c.c.i.ClientSessionFactoryImpl [restartedMain] ClientSessionFactoryImpl received backup update for primary/backup pair = TransportConfiguration(name=null, factory=org-apache-activemq-artemis-core-remoting-impl-netty-NettyConnectorFactory)?port=61616&host=localhost / null but it didn't belong to TransportConfiguration(name=null, factory=org-apache-activemq-artemis-core-remoting-impl-netty-NettyConnectorFactory)?port=61616&host=localhost -2026-08-13 10:29:32,072 DEBUG o.s.j.c.SingleConnectionFactory [restartedMain] Established shared JMS Connection: org.apache.activemq.artemis.jms.client.ActiveMQConnection@6854e81e -2026-08-13 10:29:32,078 INFO o.a.c.i.e.AbstractCamelContext [restartedMain] Routes startup (total:3) -2026-08-13 10:29:32,078 INFO o.a.c.i.e.AbstractCamelContext [restartedMain] Started read-queue-media-link-add (jms://queue:media.link.add) -2026-08-13 10:29:32,078 INFO o.a.c.i.e.AbstractCamelContext [restartedMain] Started read-queue-media-lofi-add (jms://queue:media.lofi.add) -2026-08-13 10:29:32,079 INFO o.a.c.i.e.AbstractCamelContext [restartedMain] Started read-queue-media-video-add (jms://queue:media.video.add) -2026-08-13 10:29:32,079 INFO o.a.c.i.e.AbstractCamelContext [restartedMain] Apache Camel 4.10.6 (camel-1) started in 357ms (build:0ms init:0ms start:357ms boot:1s451ms) -2026-08-13 10:29:32,082 INFO o.s.b.StartupInfoLogger [restartedMain] Started KontorApplication in 11.114 seconds (process running for 11.638) -2026-08-13 10:29:32,085 DEBUG o.s.j.c.CachingConnectionFactory [Camel (camel-1) thread #1 - JmsConsumer[media.link.add]] Registering cached JMS Session for mode 1: ActiveMQSession->ClientSessionImpl [name=1bac56e0-96f1-11f1-a41c-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@73d78468, metaData=()]@10407167 -2026-08-13 10:29:32,086 DEBUG o.s.j.c.CachingConnectionFactory [Camel (camel-1) thread #2 - JmsConsumer[media.lofi.add]] Registering cached JMS Session for mode 1: ActiveMQSession->ClientSessionImpl [name=1bad6851-96f1-11f1-a41c-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@73d78468, metaData=()]@59b8f661 -2026-08-13 10:29:32,087 DEBUG o.s.j.c.CachingConnectionFactory [Camel (camel-1) thread #3 - JmsConsumer[media.video.add]] Registering cached JMS Session for mode 1: ActiveMQSession->ClientSessionImpl [name=1baddd82-96f1-11f1-a41c-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@73d78468, metaData=()]@7de1527c -2026-08-13 10:29:32,158 INFO c.v.b.d.DevModeHandlerManagerImpl [restartedMain] Application running at http://localhost:8085/ -2026-08-13 11:05:53,200 INFO o.s.b.t.GracefulShutdown [SpringApplicationShutdownHook] Commencing graceful shutdown. Waiting for active requests to complete -2026-08-13 11:05:53,205 INFO o.s.b.t.GracefulShutdown [tomcat-shutdown] Graceful shutdown complete -2026-08-13 11:05:53,212 INFO o.a.c.i.e.AbstractCamelContext [SpringApplicationShutdownHook] Apache Camel 4.10.6 (camel-1) is shutting down (timeout:45s) -2026-08-13 11:05:53,281 DEBUG o.s.j.c.CachingConnectionFactory$CachedSessionInvocationHandler [Camel (camel-1) thread #1 - JmsConsumer[media.link.add]] Closing cached Session: ActiveMQSession->ClientSessionImpl [name=1bac56e0-96f1-11f1-a41c-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@73d78468, metaData=()]@10407167 -2026-08-13 11:05:53,281 DEBUG o.a.a.a.c.c.i.ClientSessionImpl [Camel (camel-1) thread #1 - JmsConsumer[media.link.add]] Calling close on session ClientSessionImpl [name=1bac56e0-96f1-11f1-a41c-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@73d78468, metaData=()]@10407167 -2026-08-13 11:05:53,285 DEBUG o.a.a.a.c.c.i.ClientSessionImpl [Camel (camel-1) thread #1 - JmsConsumer[media.link.add]] calling cleanup on ClientSessionImpl [name=1bac56e0-96f1-11f1-a41c-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@73d78468, metaData=()]@10407167 -2026-08-13 11:05:53,328 DEBUG o.s.j.c.CachingConnectionFactory$CachedSessionInvocationHandler [Camel (camel-1) thread #2 - JmsConsumer[media.lofi.add]] Closing cached Session: ActiveMQSession->ClientSessionImpl [name=1bad6851-96f1-11f1-a41c-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@73d78468, metaData=()]@59b8f661 -2026-08-13 11:05:53,328 DEBUG o.a.a.a.c.c.i.ClientSessionImpl [Camel (camel-1) thread #2 - JmsConsumer[media.lofi.add]] Calling close on session ClientSessionImpl [name=1bad6851-96f1-11f1-a41c-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@73d78468, metaData=()]@59b8f661 -2026-08-13 11:05:53,329 DEBUG o.a.a.a.c.c.i.ClientSessionImpl [Camel (camel-1) thread #2 - JmsConsumer[media.lofi.add]] calling cleanup on ClientSessionImpl [name=1bad6851-96f1-11f1-a41c-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@73d78468, metaData=()]@59b8f661 -2026-08-13 11:05:53,333 INFO o.a.c.s.CamelLogger [SpringApplicationShutdownHook] Routes stopped (total:3) -2026-08-13 11:05:53,334 INFO o.a.c.s.CamelLogger [SpringApplicationShutdownHook] Stopped read-queue-media-video-add (jms://queue:media.video.add) -2026-08-13 11:05:53,334 INFO o.a.c.s.CamelLogger [SpringApplicationShutdownHook] Stopped read-queue-media-lofi-add (jms://queue:media.lofi.add) -2026-08-13 11:05:53,334 INFO o.a.c.s.CamelLogger [SpringApplicationShutdownHook] Stopped read-queue-media-link-add (jms://queue:media.link.add) -2026-08-13 11:05:53,340 INFO o.a.c.i.e.AbstractCamelContext [SpringApplicationShutdownHook] Apache Camel 4.10.6 (camel-1) shutdown in 127ms (uptime:36m21s) -2026-08-13 11:05:53,341 DEBUG o.s.j.c.CachingConnectionFactory$CachedSessionInvocationHandler [SpringApplicationShutdownHook] Closing cached Session: ActiveMQSession->ClientSessionImpl [name=1baddd82-96f1-11f1-a41c-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@73d78468, metaData=()]@7de1527c -2026-08-13 11:05:53,341 DEBUG o.a.a.a.c.c.i.ClientSessionImpl [SpringApplicationShutdownHook] Calling close on session ClientSessionImpl [name=1baddd82-96f1-11f1-a41c-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@73d78468, metaData=()]@7de1527c -2026-08-13 11:05:53,342 DEBUG o.a.a.a.c.c.i.ClientSessionImpl [SpringApplicationShutdownHook] calling cleanup on ClientSessionImpl [name=1baddd82-96f1-11f1-a41c-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@73d78468, metaData=()]@7de1527c -2026-08-13 11:05:53,342 DEBUG o.s.j.c.SingleConnectionFactory [SpringApplicationShutdownHook] Closing shared JMS Connection: org.apache.activemq.artemis.jms.client.ActiveMQConnection@6854e81e -2026-08-13 11:05:53,343 DEBUG o.a.a.a.c.c.i.ClientSessionImpl [SpringApplicationShutdownHook] Calling close on session ClientSessionImpl [name=1b9fd3bf-96f1-11f1-a41c-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@73d78468, metaData=(jms-session=,)]@74289533 -2026-08-13 11:05:53,344 DEBUG o.a.a.a.c.c.i.ClientSessionImpl [SpringApplicationShutdownHook] calling cleanup on ClientSessionImpl [name=1b9fd3bf-96f1-11f1-a41c-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@73d78468, metaData=(jms-session=,)]@74289533 -2026-08-13 11:05:53,347 DEBUG o.a.a.a.c.c.i.ClientSessionFactoryImpl [Thread-1 (activemq-client-global)] Failure captured on connectionID=63f6e354, performing failover or reconnection now -org.apache.activemq.artemis.api.core.ActiveMQNotConnectedException: [errorType=NOT_CONNECTED message=AMQ219006: Channel disconnected] - at org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl.connectionDestroyed(ClientSessionFactoryImpl.java:413) - at org.apache.activemq.artemis.core.remoting.impl.netty.NettyConnector$Listener.lambda$connectionDestroyed$0(NettyConnector.java:1199) - at org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:59) - at org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:32) - at org.apache.activemq.artemis.utils.actors.ProcessorBase.executePendingTasks(ProcessorBase.java:69) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1090) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614) - at org.apache.activemq.artemis.utils.ActiveMQThreadFactory$1.run(ActiveMQThreadFactory.java:120) -2026-08-13 11:05:53,352 DEBUG o.a.a.a.c.c.i.ClientSessionImpl [SpringApplicationShutdownHook] Session was already closed, giving up now, this=ClientSessionImpl [name=1b9fd3bf-96f1-11f1-a41c-5e5c628d27e5, username=artemis, closed=true, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@73d78468, metaData=(jms-session=,)]@74289533 -2026-08-13 11:05:53,359 INFO o.s.o.j.AbstractEntityManagerFactoryBean [SpringApplicationShutdownHook] Closing JPA EntityManagerFactory for persistence unit 'default' -2026-08-13 11:05:53,363 INFO c.z.h.HikariDataSource [SpringApplicationShutdownHook] HikariPool-1 - Shutdown initiated... -2026-08-13 11:05:53,365 INFO c.z.h.HikariDataSource [SpringApplicationShutdownHook] HikariPool-1 - Shutdown completed. -2026-08-13 11:06:04,370 INFO o.s.b.StartupInfoLogger [restartedMain] Starting KontorApplication using Java 25.0.2 with PID 2266227 (/home/tpeetz/projects/kontor/kontor-spring/build/classes/java/main started by tpeetz in /home/tpeetz/projects/kontor/kontor-spring) -2026-08-13 11:06:04,372 INFO o.s.b.SpringApplication [restartedMain] The following 1 profile is active: "prod" -2026-08-13 11:06:04,411 INFO o.s.b.l.LogLevel [restartedMain] Devtools property defaults active! Set 'spring.devtools.add-properties' to 'false' to disable -2026-08-13 11:06:04,411 INFO o.s.b.l.LogLevel [restartedMain] For additional web related logging consider setting the 'logging.level.web' property to 'DEBUG' -2026-08-13 11:06:05,121 INFO o.s.d.r.c.RepositoryConfigurationDelegate [restartedMain] Bootstrapping Spring Data JPA repositories in DEFAULT mode. -2026-08-13 11:06:05,209 INFO o.s.d.r.c.RepositoryConfigurationDelegate [restartedMain] Finished Spring Data repository scanning in 82 ms. Found 6 JPA repository interfaces. -2026-08-13 11:06:05,749 INFO o.s.b.t.TomcatWebServer [restartedMain] Tomcat initialized with port 8100 (http) -2026-08-13 11:06:05,760 INFO o.a.j.l.DirectJDKLog [restartedMain] Initializing ProtocolHandler ["http-nio-8100"] -2026-08-13 11:06:05,762 INFO o.a.j.l.DirectJDKLog [restartedMain] Starting service [Tomcat] -2026-08-13 11:06:05,762 INFO o.a.j.l.DirectJDKLog [restartedMain] Starting Servlet engine: [Apache Tomcat/11.0.24] -2026-08-13 11:06:05,796 INFO o.s.b.w.c.s.WebApplicationContextInitializer [restartedMain] Root WebApplicationContext: initialization completed in 1384 ms -2026-08-13 11:06:08,293 INFO c.v.f.s.VaadinServletContextInitializer$DevModeServletContextListener [restartedMain] Search for subclasses and classes with annotations took 2296 ms -2026-08-13 11:06:08,349 INFO c.v.b.d.s.DevModeInitializer [restartedMain] Starting dev-mode updaters in /home/tpeetz/projects/kontor/kontor-spring folder. -2026-08-13 11:06:08,379 INFO c.v.f.s.f.s.FullDependenciesScanner [restartedMain] Visited 106 classes. Took 16 ms. -2026-08-13 11:06:08,380 INFO c.v.f.s.f.BundleValidationUtil [restartedMain] Checking if a development mode bundle build is needed -2026-08-13 11:06:08,478 INFO c.v.f.s.f.BundleValidationUtil [restartedMain] A development mode bundle build is not needed -2026-08-13 11:06:08,501 INFO c.v.f.s.f.TaskCopyFrontendFiles [vaadin-dev-server-1] Copying frontend resources from jar files ... -2026-08-13 11:06:08,559 INFO c.v.f.s.f.TaskCopyFrontendFiles [vaadin-dev-server-1] Visited 20 resources. Took 58 ms. -2026-08-13 11:06:08,591 INFO o.h.j.i.u.LogHelper [restartedMain] HHH008540: Processing PersistenceUnitInfo [name: default] -2026-08-13 11:06:08,625 INFO o.h.Version [restartedMain] HHH000001: Hibernate ORM core version 7.4.1.Final -2026-08-13 11:06:08,893 INFO o.s.o.j.p.SpringPersistenceUnitInfo [restartedMain] No LoadTimeWeaver setup: ignoring JPA class transformer -2026-08-13 11:06:08,912 INFO c.z.h.HikariDataSource [restartedMain] HikariPool-1 - Starting... -2026-08-13 11:06:20,551 WARN o.h.e.j.s.SqlExceptionHelper [restartedMain] HHH000247: ErrorCode: 0, SQLState: 08001 -2026-08-13 11:06:20,551 WARN o.h.e.j.s.SqlExceptionHelper [restartedMain] Der Verbindungsversuch schlug fehl. -2026-08-13 11:06:20,552 WARN o.h.e.j.e.i.JdbcEnvironmentInitiator [restartedMain] HHH100046: Could not obtain connection to query JDBC database metadata -org.hibernate.exception.JDBCConnectionException: Unable to obtain isolated JDBC connection [Der Verbindungsversuch schlug fehl.] [n/a] - at org.hibernate.exception.internal.SQLStateConversionDelegate.convert(SQLStateConversionDelegate.java:80) - at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:34) - at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:115) - at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:101) - at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcIsolationDelegate.delegateWork(JdbcIsolationDelegate.java:51) - at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.getJdbcEnvironmentUsingJdbcMetadata(JdbcEnvironmentInitiator.java:366) - at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.getJdbcEnvironment(JdbcEnvironmentInitiator.java:143) - at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:120) - at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:80) - at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.initiateService(StandardServiceRegistryImpl.java:133) - at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:260) - at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:235) - at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:212) - at org.hibernate.boot.model.relational.Database.(Database.java:44) - at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.getDatabase(InFlightMetadataCollectorImpl.java:251) - at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.(InFlightMetadataCollectorImpl.java:203) - at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:180) - at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.metadata(EntityManagerFactoryBuilderImpl.java:1388) - at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.populateSessionFactoryBuilder(EntityManagerFactoryBuilderImpl.java:1468) - at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1450) - at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:93) - at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:443) - at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:436) - at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:411) - at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:419) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1862) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1811) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:603) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:525) - at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:333) - at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:371) - at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:331) - at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:201) - at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:977) - at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:621) - at org.springframework.boot.web.server.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:143) - at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:756) - at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:445) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:321) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:1365) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:1354) - at de.thpeetz.kontor.KontorApplication.main(KontorApplication.java:21) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) - at java.base/java.lang.reflect.Method.invoke(Method.java:565) - at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:52) -Caused by: org.postgresql.util.PSQLException: Der Verbindungsversuch schlug fehl. - at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:437) - at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:52) - at org.postgresql.jdbc.PgConnection.(PgConnection.java:290) - at org.postgresql.Driver.makeConnection(Driver.java:448) - at org.postgresql.Driver.connect(Driver.java:298) - at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:144) - at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:373) - at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:210) - at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:488) - at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:576) - at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:97) - at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:111) - at org.hibernate.engine.jdbc.connections.internal.DataSourceConnectionProvider.getConnection(DataSourceConnectionProvider.java:149) - at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator$ConnectionProviderJdbcConnectionAccess.obtainConnection(JdbcEnvironmentInitiator.java:508) - at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcIsolationDelegate.delegateWork(JdbcIsolationDelegate.java:48) - ... 40 common frames omitted -Caused by: java.net.UnknownHostException: postgres - at java.base/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:569) - at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:284) - at java.base/java.net.Socket.connect(Socket.java:659) - at org.postgresql.core.PGStream.createSocket(PGStream.java:271) - at org.postgresql.core.PGStream.(PGStream.java:132) - at org.postgresql.core.v3.ConnectionFactoryImpl.tryConnect(ConnectionFactoryImpl.java:219) - at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:365) - ... 54 common frames omitted -2026-08-13 11:06:20,554 ERROR o.s.o.j.AbstractEntityManagerFactoryBean [restartedMain] Failed to initialize JPA EntityManagerFactory: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment] due to: Unable to determine Dialect without JDBC metadata (please set 'jakarta.persistence.jdbc.url' for common cases or 'hibernate.dialect' when a custom Dialect implementation must be provided) -2026-08-13 11:06:20,555 WARN o.s.c.s.AbstractApplicationContext [restartedMain] Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/hibernate/autoconfigure/HibernateJpaConfiguration.class]: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment] due to: Unable to determine Dialect without JDBC metadata (please set 'jakarta.persistence.jdbc.url' for common cases or 'hibernate.dialect' when a custom Dialect implementation must be provided) -2026-08-13 11:06:20,558 INFO o.a.j.l.DirectJDKLog [restartedMain] Stopping service [Tomcat] -2026-08-13 11:06:20,561 WARN o.a.j.l.DirectJDKLog [restartedMain] The web application [ROOT] appears to have started a thread named [vaadin-file-watcher-1] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread: - java.base/jdk.internal.misc.Unsafe.park(Native Method) - java.base/java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:408) - java.base/java.util.concurrent.LinkedTransferQueue$DualNode.await(LinkedTransferQueue.java:452) - java.base/java.util.concurrent.SynchronousQueue$Transferer.xferLifo(SynchronousQueue.java:194) - java.base/java.util.concurrent.SynchronousQueue.xfer(SynchronousQueue.java:235) - java.base/java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:338) - java.base/java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1015) - java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076) - java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614) - java.base/java.lang.Thread.run(Thread.java:1474) -2026-08-13 11:06:20,561 WARN o.a.j.l.DirectJDKLog [restartedMain] The web application [ROOT] appears to have started a thread named [vaadin-file-watcher-2] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread: - java.base/jdk.internal.misc.Unsafe.park(Native Method) - java.base/java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:408) - java.base/java.util.concurrent.LinkedTransferQueue$DualNode.await(LinkedTransferQueue.java:452) - java.base/java.util.concurrent.SynchronousQueue$Transferer.xferLifo(SynchronousQueue.java:194) - java.base/java.util.concurrent.SynchronousQueue.xfer(SynchronousQueue.java:235) - java.base/java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:338) - java.base/java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1015) - java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076) - java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614) - java.base/java.lang.Thread.run(Thread.java:1474) -2026-08-13 11:06:20,561 WARN o.a.j.l.DirectJDKLog [restartedMain] The web application [ROOT] appears to have started a thread named [vaadin-file-watcher-3] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread: - java.base/jdk.internal.misc.Unsafe.park(Native Method) - java.base/java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:408) - java.base/java.util.concurrent.LinkedTransferQueue$DualNode.await(LinkedTransferQueue.java:452) - java.base/java.util.concurrent.SynchronousQueue$Transferer.xferLifo(SynchronousQueue.java:194) - java.base/java.util.concurrent.SynchronousQueue.xfer(SynchronousQueue.java:235) - java.base/java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:338) - java.base/java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1015) - java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076) - java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614) - java.base/java.lang.Thread.run(Thread.java:1474) -2026-08-13 11:06:20,567 INFO o.s.b.a.l.ConditionEvaluationReportLogger [restartedMain] - -Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled. -2026-08-13 11:06:20,577 ERROR o.s.b.SpringApplication [restartedMain] Application run failed -org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/hibernate/autoconfigure/HibernateJpaConfiguration.class]: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment] due to: Unable to determine Dialect without JDBC metadata (please set 'jakarta.persistence.jdbc.url' for common cases or 'hibernate.dialect' when a custom Dialect implementation must be provided) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1815) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:603) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:525) - at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:333) - at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:371) - at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:331) - at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:201) - at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:977) - at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:621) - at org.springframework.boot.web.server.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:143) - at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:756) - at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:445) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:321) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:1365) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:1354) - at de.thpeetz.kontor.KontorApplication.main(KontorApplication.java:21) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) - at java.base/java.lang.reflect.Method.invoke(Method.java:565) - at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:52) -Caused by: org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment] due to: Unable to determine Dialect without JDBC metadata (please set 'jakarta.persistence.jdbc.url' for common cases or 'hibernate.dialect' when a custom Dialect implementation must be provided) - at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:273) - at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:235) - at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:212) - at org.hibernate.boot.model.relational.Database.(Database.java:44) - at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.getDatabase(InFlightMetadataCollectorImpl.java:251) - at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.(InFlightMetadataCollectorImpl.java:203) - at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:180) - at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.metadata(EntityManagerFactoryBuilderImpl.java:1388) - at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.populateSessionFactoryBuilder(EntityManagerFactoryBuilderImpl.java:1468) - at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1450) - at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:93) - at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:443) - at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:436) - at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:411) - at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:419) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1862) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1811) - ... 18 common frames omitted -Caused by: org.hibernate.HibernateException: Unable to determine Dialect without JDBC metadata (please set 'jakarta.persistence.jdbc.url' for common cases or 'hibernate.dialect' when a custom Dialect implementation must be provided) - at org.hibernate.engine.jdbc.dialect.internal.DialectFactoryImpl.determineDialect(DialectFactoryImpl.java:190) - at org.hibernate.engine.jdbc.dialect.internal.DialectFactoryImpl.buildDialect(DialectFactoryImpl.java:86) - at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.getJdbcEnvironmentWithDefaults(JdbcEnvironmentInitiator.java:200) - at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.getJdbcEnvironmentUsingJdbcMetadata(JdbcEnvironmentInitiator.java:452) - at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.getJdbcEnvironment(JdbcEnvironmentInitiator.java:143) - at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:120) - at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:80) - at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.initiateService(StandardServiceRegistryImpl.java:133) - at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:260) - ... 34 common frames omitted -2026-08-13 11:10:55,948 INFO o.s.b.StartupInfoLogger [restartedMain] Starting KontorApplication using Java 25.0.2 with PID 2309224 (/home/tpeetz/projects/kontor/kontor-spring/build/classes/java/main started by tpeetz in /home/tpeetz/projects/kontor/kontor-spring) -2026-08-13 11:10:55,950 INFO o.s.b.SpringApplication [restartedMain] The following 1 profile is active: "local" -2026-08-13 11:10:55,993 INFO o.s.b.l.LogLevel [restartedMain] For additional web related logging consider setting the 'logging.level.web' property to 'DEBUG' -2026-08-13 11:10:56,676 INFO o.s.d.r.c.RepositoryConfigurationDelegate [restartedMain] Bootstrapping Spring Data JPA repositories in DEFAULT mode. -2026-08-13 11:10:56,795 INFO o.s.d.r.c.RepositoryConfigurationDelegate [restartedMain] Finished Spring Data repository scanning in 113 ms. Found 6 JPA repository interfaces. -2026-08-13 11:10:57,277 INFO o.s.b.t.TomcatWebServer [restartedMain] Tomcat initialized with port 8085 (http) -2026-08-13 11:10:57,285 INFO o.a.j.l.DirectJDKLog [restartedMain] Initializing ProtocolHandler ["http-nio-8085"] -2026-08-13 11:10:57,286 INFO o.a.j.l.DirectJDKLog [restartedMain] Starting service [Tomcat] -2026-08-13 11:10:57,286 INFO o.a.j.l.DirectJDKLog [restartedMain] Starting Servlet engine: [Apache Tomcat/11.0.24] -2026-08-13 11:10:57,315 INFO o.s.b.w.c.s.WebApplicationContextInitializer [restartedMain] Root WebApplicationContext: initialization completed in 1322 ms -2026-08-13 11:10:59,903 INFO c.v.f.s.VaadinServletContextInitializer$DevModeServletContextListener [restartedMain] Search for subclasses and classes with annotations took 2397 ms -2026-08-13 11:10:59,956 INFO c.v.b.d.s.DevModeInitializer [restartedMain] Starting dev-mode updaters in /home/tpeetz/projects/kontor/kontor-spring folder. -2026-08-13 11:10:59,980 INFO c.v.f.s.f.s.FullDependenciesScanner [restartedMain] Visited 106 classes. Took 13 ms. -2026-08-13 11:10:59,981 INFO c.v.f.s.f.BundleValidationUtil [restartedMain] Checking if a development mode bundle build is needed -2026-08-13 11:11:00,075 INFO c.v.f.s.f.BundleValidationUtil [restartedMain] A development mode bundle build is not needed -2026-08-13 11:11:00,097 INFO c.v.f.s.f.TaskCopyFrontendFiles [vaadin-dev-server-1] Copying frontend resources from jar files ... -2026-08-13 11:11:00,158 INFO c.v.f.s.f.TaskCopyFrontendFiles [vaadin-dev-server-1] Visited 20 resources. Took 61 ms. -2026-08-13 11:11:00,192 INFO o.h.j.i.u.LogHelper [restartedMain] HHH008540: Processing PersistenceUnitInfo [name: default] -2026-08-13 11:11:00,224 INFO o.h.Version [restartedMain] HHH000001: Hibernate ORM core version 7.4.1.Final -2026-08-13 11:11:00,501 INFO o.s.o.j.p.SpringPersistenceUnitInfo [restartedMain] No LoadTimeWeaver setup: ignoring JPA class transformer -2026-08-13 11:11:00,522 INFO c.z.h.HikariDataSource [restartedMain] HikariPool-1 - Starting... -2026-08-13 11:11:00,622 INFO c.z.h.p.HikariPool [restartedMain] HikariPool-1 - Added connection org.postgresql.jdbc.PgConnection@313a309b -2026-08-13 11:11:00,623 INFO c.z.h.HikariDataSource [restartedMain] HikariPool-1 - Start completed. -2026-08-13 11:11:00,668 INFO o.h.e.j.e.i.JdbcEnvironmentInitiator [restartedMain] HHH10001005: Database info: - Database JDBC URL [jdbc:postgresql://localhost:5432/kontor] - Database driver: PostgreSQL JDBC Driver - Database dialect: PostgreSQLDialect - Database version: 17.7 - Default catalog/schema: kontor/public - Autocommit mode: undefined/unknown - Isolation level: READ_COMMITTED [default READ_COMMITTED] - JDBC fetch size: none - Pool: DataSourceConnectionProvider - Minimum pool size: undefined/unknown - Maximum pool size: undefined/unknown -2026-08-13 11:11:00,963 INFO o.h.v.i.u.Version [restartedMain] HV000001: Hibernate Validator 9.1.0.Final -2026-08-13 11:11:01,634 INFO o.h.e.t.j.p.i.JtaPlatformInitiator [restartedMain] HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) -2026-08-13 11:11:01,703 WARN o.h.e.j.s.SqlExceptionHelper$StandardWarningHandler [restartedMain] HHH000247: ErrorCode: 0, SQLState: 00000 -2026-08-13 11:11:01,703 WARN o.h.e.j.s.SqlExceptionHelper$StandardWarningHandler [restartedMain] constraint "ukedab2e5jckaaoq2nprg2nyc2j" of relation "media_lofi" does not exist, skipping -2026-08-13 11:11:01,717 INFO o.s.o.j.AbstractEntityManagerFactoryBean [restartedMain] Initialized JPA EntityManagerFactory for persistence unit 'default' -2026-08-13 11:11:01,788 INFO o.s.d.j.r.q.QueryEnhancerFactories [restartedMain] Hibernate is in classpath; If applicable, HQL parser will be used. -2026-08-13 11:11:02,527 WARN o.s.b.j.a.JpaBaseConfiguration$JpaWebConfiguration [restartedMain] spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning -2026-08-13 11:11:02,950 DEBUG o.a.a.a.u.UUIDGenerator [restartedMain] using hardware address 5e:5c:62:ffffff8d:27:-27 -2026-08-13 11:11:03,053 WARN o.s.b.s.a.UserDetailsServiceAutoConfiguration [restartedMain] - -Using generated security password: 04312a83-babb-4cb9-a101-0475a3b0a93b - -This generated password is for development use only. Your security configuration must be updated before running your application in production. - -2026-08-13 11:11:03,071 INFO o.s.s.c.a.a.c.InitializeUserDetailsBeanManagerConfigurer$InitializeUserDetailsManagerConfigurer [restartedMain] Global AuthenticationManager configured with UserDetailsService bean with name inMemoryUserDetailsManager -2026-08-13 11:11:03,176 INFO o.s.b.a.e.w.EndpointLinksResolver [restartedMain] Exposing 5 endpoints beneath base path '/actuator' -2026-08-13 11:11:03,300 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereHandler com.vaadin.flow.server.communication.PushAtmosphereHandler mapped to context-path: /* -2026-08-13 11:11:03,301 INFO o.a.c.AtmosphereFramework [restartedMain] Installed the following AtmosphereInterceptor mapped to AtmosphereHandler com.vaadin.flow.server.communication.PushAtmosphereHandler -2026-08-13 11:11:03,320 INFO o.a.c.AtmosphereFramework [restartedMain] Atmosphere is using org.atmosphere.util.VoidAnnotationProcessor for processing annotation -2026-08-13 11:11:03,325 INFO o.a.u.ForkJoinPool [restartedMain] Using ForkJoinPool java.util.concurrent.ForkJoinPool. Set the org.atmosphere.cpr.broadcaster.maxAsyncWriteThreads to -1 to fully use its power. -2026-08-13 11:11:03,328 INFO o.a.c.AtmosphereFramework [restartedMain] Installed WebSocketProtocol org.atmosphere.websocket.protocol.SimpleHttpProtocol -2026-08-13 11:11:03,332 INFO o.a.c.JSR356AsyncSupport [restartedMain] JSR 356 Mapping path /VAADIN/push -2026-08-13 11:11:03,340 INFO o.a.c.AtmosphereFramework [restartedMain] Installing Default AtmosphereInterceptors -2026-08-13 11:11:03,340 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.CorsInterceptor : CORS Interceptor Support -2026-08-13 11:11:03,341 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.CacheHeadersInterceptor : Default Response's Headers Interceptor -2026-08-13 11:11:03,341 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.PaddingAtmosphereInterceptor : Browser Padding Interceptor Support -2026-08-13 11:11:03,342 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.AndroidAtmosphereInterceptor : Android Interceptor Support -2026-08-13 11:11:03,342 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.HeartbeatInterceptor : Heartbeat Interceptor Support -2026-08-13 11:11:03,342 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.SSEAtmosphereInterceptor : SSE Interceptor Support -2026-08-13 11:11:03,343 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.JSONPAtmosphereInterceptor : JSONP Interceptor Support -2026-08-13 11:11:03,343 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.JavaScriptProtocol : Atmosphere JavaScript Protocol -2026-08-13 11:11:03,343 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.WebSocketMessageSuspendInterceptor : org.atmosphere.interceptor.WebSocketMessageSuspendInterceptor -2026-08-13 11:11:03,344 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.OnDisconnectInterceptor : Browser disconnection detection -2026-08-13 11:11:03,344 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.IdleResourceInterceptor : org.atmosphere.interceptor.IdleResourceInterceptor -2026-08-13 11:11:03,344 INFO o.a.c.AtmosphereFramework [restartedMain] Set org.atmosphere.cpr.AtmosphereInterceptor.disableDefaults to disable them. -2026-08-13 11:11:03,344 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor CORS Interceptor Support with priority FIRST_BEFORE_DEFAULT -2026-08-13 11:11:03,344 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor Default Response's Headers Interceptor with priority AFTER_DEFAULT -2026-08-13 11:11:03,345 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor Browser Padding Interceptor Support with priority AFTER_DEFAULT -2026-08-13 11:11:03,345 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor Android Interceptor Support with priority AFTER_DEFAULT -2026-08-13 11:11:03,345 INFO o.a.i.HeartbeatInterceptor [restartedMain] HeartbeatInterceptor configured with padding value 'X', client frequency 0 seconds and server frequency 60 seconds -2026-08-13 11:11:03,345 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor Heartbeat Interceptor Support with priority AFTER_DEFAULT -2026-08-13 11:11:03,345 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor SSE Interceptor Support with priority AFTER_DEFAULT -2026-08-13 11:11:03,345 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor JSONP Interceptor Support with priority AFTER_DEFAULT -2026-08-13 11:11:03,345 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor Atmosphere JavaScript Protocol with priority AFTER_DEFAULT -2026-08-13 11:11:03,346 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor org.atmosphere.interceptor.WebSocketMessageSuspendInterceptor with priority AFTER_DEFAULT -2026-08-13 11:11:03,346 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor Browser disconnection detection with priority AFTER_DEFAULT -2026-08-13 11:11:03,346 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor org.atmosphere.interceptor.IdleResourceInterceptor with priority BEFORE_DEFAULT -2026-08-13 11:11:03,346 INFO o.a.c.AtmosphereFramework [restartedMain] Using EndpointMapper class org.atmosphere.util.DefaultEndpointMapper -2026-08-13 11:11:03,346 INFO o.a.c.AtmosphereFramework [restartedMain] Using BroadcasterCache: org.atmosphere.cache.UUIDBroadcasterCache -2026-08-13 11:11:03,346 INFO o.a.c.AtmosphereFramework [restartedMain] Default Broadcaster Class: org.atmosphere.cpr.DefaultBroadcaster -2026-08-13 11:11:03,346 INFO o.a.c.AtmosphereFramework [restartedMain] Broadcaster Shared List Resources: false -2026-08-13 11:11:03,347 INFO o.a.c.AtmosphereFramework [restartedMain] Broadcaster Polling Wait Time 100 -2026-08-13 11:11:03,347 INFO o.a.c.AtmosphereFramework [restartedMain] Shared ExecutorService supported: true -2026-08-13 11:11:03,347 INFO o.a.c.AtmosphereFramework [restartedMain] Messaging ExecutorService Pool Size unavailable - Not instance of ThreadPoolExecutor -2026-08-13 11:11:03,347 INFO o.a.c.AtmosphereFramework [restartedMain] Async I/O Thread Pool Size: 200 -2026-08-13 11:11:03,347 INFO o.a.c.AtmosphereFramework [restartedMain] Using BroadcasterFactory: org.atmosphere.cpr.DefaultBroadcasterFactory -2026-08-13 11:11:03,347 INFO o.a.c.AtmosphereFramework [restartedMain] Using AtmosphereResurceFactory: org.atmosphere.cpr.DefaultAtmosphereResourceFactory -2026-08-13 11:11:03,347 INFO o.a.c.AtmosphereFramework [restartedMain] Using WebSocketProcessor: org.atmosphere.websocket.DefaultWebSocketProcessor -2026-08-13 11:11:03,348 INFO o.a.c.AtmosphereFramework [restartedMain] Invoke AtmosphereInterceptor on WebSocket message true -2026-08-13 11:11:03,349 INFO o.a.c.AtmosphereFramework [restartedMain] HttpSession supported: true -2026-08-13 11:11:03,349 INFO o.a.c.AtmosphereFramework [restartedMain] Atmosphere is using org.atmosphere.inject.InjectableObjectFactory for dependency injection and object creation -2026-08-13 11:11:03,349 INFO o.a.c.AtmosphereFramework [restartedMain] Atmosphere is using async support: org.atmosphere.container.JSR356AsyncSupport running under container: Apache Tomcat/11.0.24 using jakarta.servlet/3.0 and jsr356/WebSocket API -2026-08-13 11:11:03,349 INFO o.a.c.AtmosphereFramework [restartedMain] Atmosphere Framework 3.0.5.slf4jvaadin1 started. -2026-08-13 11:11:03,352 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor Track Message Size Interceptor using | with priority BEFORE_DEFAULT -2026-08-13 11:11:03,376 INFO o.a.j.l.DirectJDKLog [restartedMain] Starting ProtocolHandler ["http-nio-8085"] -2026-08-13 11:11:03,394 INFO c.v.f.s.DefaultDeploymentConfiguration [restartedMain] -Vaadin is running in DEVELOPMENT mode - do not use for production deployments. -2026-08-13 11:11:03,434 INFO o.s.b.t.TomcatWebServer [restartedMain] Tomcat started on port 8085 (http) with context path '/' -2026-08-13 11:11:03,573 INFO o.a.c.i.e.AbstractCamelContext [restartedMain] Apache Camel 4.10.6 (camel-1) is starting -2026-08-13 11:11:03,589 DEBUG o.a.a.a.c.c.i.ClientSessionFactoryImpl [restartedMain] Trying reconnection attempt 0/1 -2026-08-13 11:11:03,590 DEBUG o.a.a.a.c.c.i.ClientSessionFactoryImpl [restartedMain] Trying to connect with connectorFactory=org.apache.activemq.artemis.core.remoting.impl.netty.NettyConnectorFactory@81a8546 and currentConnectorConfig: TransportConfiguration(name=null, factory=org-apache-activemq-artemis-core-remoting-impl-netty-NettyConnectorFactory)?port=61616&host=localhost -2026-08-13 11:11:03,636 DEBUG o.a.a.a.c.r.i.n.NettyConnector [restartedMain] Connector NettyConnector [host=localhost, port=61616, httpEnabled=false, httpUpgradeEnabled=false, useServlet=false, servletPath=/messaging/ActiveMQServlet, sslEnabled=false, useNio=true] using native epoll -2026-08-13 11:11:03,646 DEBUG o.a.a.a.c.r.i.n.NettyConnector [restartedMain] Started EPOLL Netty Connector version 4.2.15.Final to localhost:61616 -2026-08-13 11:11:03,647 DEBUG o.a.a.a.c.r.i.n.NettyConnector [restartedMain] Remote destination: localhost/127.0.0.1:61616 -2026-08-13 11:11:03,687 DEBUG o.a.a.a.c.r.i.n.NettyConnector$1 [Thread-0 (activemq-client-remoting)] Added ActiveMQClientChannelHandler to Channel with id = 641029e9 -2026-08-13 11:11:03,694 DEBUG o.a.a.a.c.c.i.ClientSessionFactoryImpl [restartedMain] Connected with the currentConnectorConfig=TransportConfiguration(name=null, factory=org-apache-activemq-artemis-core-remoting-impl-netty-NettyConnectorFactory)?port=61616&host=localhost -2026-08-13 11:11:03,744 DEBUG o.a.a.a.c.c.i.ClientSessionFactoryImpl [restartedMain] Reconnection successful -2026-08-13 11:11:03,745 DEBUG o.a.a.a.c.c.i.ClientSessionFactoryImpl [restartedMain] ClientSessionFactoryImpl received backup update for primary/backup pair = TransportConfiguration(name=null, factory=org-apache-activemq-artemis-core-remoting-impl-netty-NettyConnectorFactory)?port=61616&host=localhost / null but it didn't belong to TransportConfiguration(name=null, factory=org-apache-activemq-artemis-core-remoting-impl-netty-NettyConnectorFactory)?port=61616&host=localhost -2026-08-13 11:11:03,776 DEBUG o.s.j.c.SingleConnectionFactory [restartedMain] Established shared JMS Connection: org.apache.activemq.artemis.jms.client.ActiveMQConnection@788a057 -2026-08-13 11:11:03,781 INFO o.a.c.i.e.AbstractCamelContext [restartedMain] Routes startup (total:3) -2026-08-13 11:11:03,781 INFO o.a.c.i.e.AbstractCamelContext [restartedMain] Started read-queue-media-link-add (jms://queue:media.link.add) -2026-08-13 11:11:03,781 INFO o.a.c.i.e.AbstractCamelContext [restartedMain] Started read-queue-media-lofi-add (jms://queue:media.lofi.add) -2026-08-13 11:11:03,781 INFO o.a.c.i.e.AbstractCamelContext [restartedMain] Started read-queue-media-video-add (jms://queue:media.video.add) -2026-08-13 11:11:03,782 INFO o.a.c.i.e.AbstractCamelContext [restartedMain] Apache Camel 4.10.6 (camel-1) started in 208ms (build:0ms init:0ms start:208ms boot:1s258ms) -2026-08-13 11:11:03,784 INFO o.s.b.StartupInfoLogger [restartedMain] Started KontorApplication in 8.303 seconds (process running for 8.7) -2026-08-13 11:11:03,787 DEBUG o.s.j.c.CachingConnectionFactory [Camel (camel-1) thread #1 - JmsConsumer[media.link.add]] Registering cached JMS Session for mode 1: ActiveMQSession->ClientSessionImpl [name=e8d80ba5-96f6-11f1-81da-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@4039560f, metaData=()]@62723837 -2026-08-13 11:11:03,788 DEBUG o.s.j.c.CachingConnectionFactory [Camel (camel-1) thread #2 - JmsConsumer[media.lofi.add]] Registering cached JMS Session for mode 1: ActiveMQSession->ClientSessionImpl [name=e8d91d16-96f6-11f1-81da-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@4039560f, metaData=()]@73e20875 -2026-08-13 11:11:03,789 DEBUG o.s.j.c.CachingConnectionFactory [Camel (camel-1) thread #3 - JmsConsumer[media.video.add]] Registering cached JMS Session for mode 1: ActiveMQSession->ClientSessionImpl [name=e8d96b37-96f6-11f1-81da-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@4039560f, metaData=()]@54780271 -2026-08-13 11:11:03,837 INFO c.v.b.d.DevModeHandlerManagerImpl [restartedMain] Application running at http://localhost:8085/ -2026-08-13 11:52:03,255 INFO o.s.b.t.GracefulShutdown [SpringApplicationShutdownHook] Commencing graceful shutdown. Waiting for active requests to complete -2026-08-13 11:52:03,260 INFO o.s.b.t.GracefulShutdown [tomcat-shutdown] Graceful shutdown complete -2026-08-13 11:52:03,265 INFO o.a.c.i.e.AbstractCamelContext [SpringApplicationShutdownHook] Apache Camel 4.10.6 (camel-1) is shutting down (timeout:45s) -2026-08-13 11:52:03,942 DEBUG o.s.j.c.CachingConnectionFactory$CachedSessionInvocationHandler [Camel (camel-1) thread #2 - JmsConsumer[media.lofi.add]] Closing cached Session: ActiveMQSession->ClientSessionImpl [name=e8d91d16-96f6-11f1-81da-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@4039560f, metaData=()]@73e20875 -2026-08-13 11:52:03,943 DEBUG o.a.a.a.c.c.i.ClientSessionImpl [Camel (camel-1) thread #2 - JmsConsumer[media.lofi.add]] Calling close on session ClientSessionImpl [name=e8d91d16-96f6-11f1-81da-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@4039560f, metaData=()]@73e20875 -2026-08-13 11:52:03,945 DEBUG o.a.a.a.c.c.i.ClientSessionImpl [Camel (camel-1) thread #2 - JmsConsumer[media.lofi.add]] calling cleanup on ClientSessionImpl [name=e8d91d16-96f6-11f1-81da-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@4039560f, metaData=()]@73e20875 -2026-08-13 11:52:04,213 DEBUG o.s.j.c.CachingConnectionFactory$CachedSessionInvocationHandler [Camel (camel-1) thread #1 - JmsConsumer[media.link.add]] Closing cached Session: ActiveMQSession->ClientSessionImpl [name=e8d80ba5-96f6-11f1-81da-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@4039560f, metaData=()]@62723837 -2026-08-13 11:52:04,213 DEBUG o.a.a.a.c.c.i.ClientSessionImpl [Camel (camel-1) thread #1 - JmsConsumer[media.link.add]] Calling close on session ClientSessionImpl [name=e8d80ba5-96f6-11f1-81da-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@4039560f, metaData=()]@62723837 -2026-08-13 11:52:04,278 DEBUG o.a.a.a.c.c.i.ClientSessionImpl [Camel (camel-1) thread #1 - JmsConsumer[media.link.add]] calling cleanup on ClientSessionImpl [name=e8d80ba5-96f6-11f1-81da-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@4039560f, metaData=()]@62723837 -2026-08-13 11:52:04,282 INFO o.a.c.s.CamelLogger [SpringApplicationShutdownHook] Routes stopped (total:3) -2026-08-13 11:52:04,282 INFO o.a.c.s.CamelLogger [SpringApplicationShutdownHook] Stopped read-queue-media-video-add (jms://queue:media.video.add) -2026-08-13 11:52:04,282 INFO o.a.c.s.CamelLogger [SpringApplicationShutdownHook] Stopped read-queue-media-lofi-add (jms://queue:media.lofi.add) -2026-08-13 11:52:04,282 INFO o.a.c.s.CamelLogger [SpringApplicationShutdownHook] Stopped read-queue-media-link-add (jms://queue:media.link.add) -2026-08-13 11:52:04,287 INFO o.a.c.i.e.AbstractCamelContext [SpringApplicationShutdownHook] Apache Camel 4.10.6 (camel-1) shutdown in 1s21ms (uptime:41m0s) -2026-08-13 11:52:04,287 DEBUG o.s.j.c.CachingConnectionFactory$CachedSessionInvocationHandler [SpringApplicationShutdownHook] Closing cached Session: ActiveMQSession->ClientSessionImpl [name=e8d96b37-96f6-11f1-81da-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@4039560f, metaData=()]@54780271 -2026-08-13 11:52:04,288 DEBUG o.a.a.a.c.c.i.ClientSessionImpl [SpringApplicationShutdownHook] Calling close on session ClientSessionImpl [name=e8d96b37-96f6-11f1-81da-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@4039560f, metaData=()]@54780271 -2026-08-13 11:52:04,289 DEBUG o.a.a.a.c.c.i.ClientSessionImpl [SpringApplicationShutdownHook] calling cleanup on ClientSessionImpl [name=e8d96b37-96f6-11f1-81da-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@4039560f, metaData=()]@54780271 -2026-08-13 11:52:04,290 DEBUG o.s.j.c.SingleConnectionFactory [SpringApplicationShutdownHook] Closing shared JMS Connection: org.apache.activemq.artemis.jms.client.ActiveMQConnection@788a057 -2026-08-13 11:52:04,290 DEBUG o.a.a.a.c.c.i.ClientSessionImpl [SpringApplicationShutdownHook] Calling close on session ClientSessionImpl [name=e8d4b044-96f6-11f1-81da-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@4039560f, metaData=(jms-session=,)]@2607d088 -2026-08-13 11:52:04,291 DEBUG o.a.a.a.c.c.i.ClientSessionImpl [SpringApplicationShutdownHook] calling cleanup on ClientSessionImpl [name=e8d4b044-96f6-11f1-81da-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@4039560f, metaData=(jms-session=,)]@2607d088 -2026-08-13 11:52:04,294 DEBUG o.a.a.a.c.c.i.ClientSessionFactoryImpl [Thread-2 (activemq-client-global)] Failure captured on connectionID=641029e9, performing failover or reconnection now -org.apache.activemq.artemis.api.core.ActiveMQNotConnectedException: [errorType=NOT_CONNECTED message=AMQ219006: Channel disconnected] - at org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl.connectionDestroyed(ClientSessionFactoryImpl.java:413) - at org.apache.activemq.artemis.core.remoting.impl.netty.NettyConnector$Listener.lambda$connectionDestroyed$0(NettyConnector.java:1199) - at org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:59) - at org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:32) - at org.apache.activemq.artemis.utils.actors.ProcessorBase.executePendingTasks(ProcessorBase.java:69) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1090) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614) - at org.apache.activemq.artemis.utils.ActiveMQThreadFactory$1.run(ActiveMQThreadFactory.java:120) -2026-08-13 11:52:04,298 DEBUG o.a.a.a.c.c.i.ClientSessionImpl [SpringApplicationShutdownHook] Session was already closed, giving up now, this=ClientSessionImpl [name=e8d4b044-96f6-11f1-81da-5e5c628d27e5, username=artemis, closed=true, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@4039560f, metaData=(jms-session=,)]@2607d088 -2026-08-13 11:52:04,305 INFO o.s.o.j.AbstractEntityManagerFactoryBean [SpringApplicationShutdownHook] Closing JPA EntityManagerFactory for persistence unit 'default' -2026-08-13 11:52:04,310 INFO c.z.h.HikariDataSource [SpringApplicationShutdownHook] HikariPool-1 - Shutdown initiated... -2026-08-13 11:52:04,312 INFO c.z.h.HikariDataSource [SpringApplicationShutdownHook] HikariPool-1 - Shutdown completed. -2026-08-13 12:33:45,583 INFO o.s.b.StartupInfoLogger [restartedMain] Starting KontorApplication using Java 25.0.2 with PID 3036523 (/home/tpeetz/projects/kontor/kontor-spring/build/classes/java/main started by tpeetz in /home/tpeetz/projects/kontor/kontor-spring) -2026-08-13 12:33:45,585 INFO o.s.b.SpringApplication [restartedMain] The following 1 profile is active: "local" -2026-08-13 12:33:45,642 INFO o.s.b.l.LogLevel [restartedMain] For additional web related logging consider setting the 'logging.level.web' property to 'DEBUG' -2026-08-13 12:33:46,296 WARN o.s.c.s.AbstractApplicationContext [restartedMain] Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.support.BeanDefinitionOverrideException: Invalid bean definition with name 'userDetailsService' defined in class path resource [de/thpeetz/kontor/security/SecurityConfig.class]: Cannot register bean definition [Root bean: class=null; scope=; abstract=false; lazyInit=null; autowireMode=3; dependencyCheck=0; autowireCandidate=true; primary=false; fallback=false; factoryBeanName=securityConfig; factoryMethodName=userDetailsService; initMethodNames=null; destroyMethodNames=[(inferred)]; defined in class path resource [de/thpeetz/kontor/security/SecurityConfig.class]] for bean 'userDetailsService' since there is already [Generic bean: class=de.thpeetz.kontor.services.KontorUserDetailsService; scope=singleton; abstract=false; lazyInit=null; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; fallback=false; factoryBeanName=null; factoryMethodName=null; initMethodNames=null; destroyMethodNames=null; defined in file [/home/tpeetz/projects/kontor/kontor-spring/build/classes/java/main/de/thpeetz/kontor/services/KontorUserDetailsService.class]] bound. -2026-08-13 12:33:46,301 INFO o.s.b.a.l.ConditionEvaluationReportLogger [restartedMain] - -Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled. -2026-08-13 12:33:46,312 ERROR o.s.b.d.LoggingFailureAnalysisReporter [restartedMain] - -*************************** -APPLICATION FAILED TO START -*************************** - -Description: - -The bean 'userDetailsService', defined in class path resource [de/thpeetz/kontor/security/SecurityConfig.class], could not be registered. A bean with that name has already been defined in file [/home/tpeetz/projects/kontor/kontor-spring/build/classes/java/main/de/thpeetz/kontor/services/KontorUserDetailsService.class] and overriding is disabled. - -Action: - -Consider renaming one of the beans or enabling overriding by setting spring.main.allow-bean-definition-overriding=true - -2026-08-13 12:35:23,136 INFO o.s.b.StartupInfoLogger [restartedMain] Starting KontorApplication using Java 25.0.2 with PID 3054141 (/home/tpeetz/projects/kontor/kontor-spring/build/classes/java/main started by tpeetz in /home/tpeetz/projects/kontor/kontor-spring) -2026-08-13 12:35:23,138 INFO o.s.b.SpringApplication [restartedMain] The following 1 profile is active: "local" -2026-08-13 12:35:23,186 INFO o.s.b.l.LogLevel [restartedMain] For additional web related logging consider setting the 'logging.level.web' property to 'DEBUG' -2026-08-13 12:35:24,145 INFO o.s.d.r.c.RepositoryConfigurationDelegate [restartedMain] Bootstrapping Spring Data JPA repositories in DEFAULT mode. -2026-08-13 12:35:24,279 INFO o.s.d.r.c.RepositoryConfigurationDelegate [restartedMain] Finished Spring Data repository scanning in 127 ms. Found 34 JPA repository interfaces. -2026-08-13 12:35:24,873 INFO o.s.b.t.TomcatWebServer [restartedMain] Tomcat initialized with port 8085 (http) -2026-08-13 12:35:24,883 INFO o.a.j.l.DirectJDKLog [restartedMain] Initializing ProtocolHandler ["http-nio-8085"] -2026-08-13 12:35:24,884 INFO o.a.j.l.DirectJDKLog [restartedMain] Starting service [Tomcat] -2026-08-13 12:35:24,885 INFO o.a.j.l.DirectJDKLog [restartedMain] Starting Servlet engine: [Apache Tomcat/11.0.24] -2026-08-13 12:35:24,916 INFO o.s.b.w.c.s.WebApplicationContextInitializer [restartedMain] Root WebApplicationContext: initialization completed in 1730 ms -2026-08-13 12:35:27,768 INFO c.v.f.s.VaadinServletContextInitializer$DevModeServletContextListener [restartedMain] Search for subclasses and classes with annotations took 2554 ms -2026-08-13 12:35:27,834 INFO c.v.b.d.s.DevModeInitializer [restartedMain] Starting dev-mode updaters in /home/tpeetz/projects/kontor/kontor-spring folder. -2026-08-13 12:35:27,865 INFO c.v.f.s.f.s.FullDependenciesScanner [restartedMain] Visited 182 classes. Took 17 ms. -2026-08-13 12:35:27,866 INFO c.v.f.s.f.BundleValidationUtil [restartedMain] Checking if a development mode bundle build is needed -2026-08-13 12:35:27,969 INFO c.v.f.s.f.BundleValidationUtil [restartedMain] A development mode bundle build is not needed -2026-08-13 12:35:27,992 INFO c.v.f.s.f.TaskCopyFrontendFiles [vaadin-dev-server-1] Copying frontend resources from jar files ... -2026-08-13 12:35:28,050 INFO c.v.f.s.f.TaskCopyFrontendFiles [vaadin-dev-server-1] Visited 20 resources. Took 57 ms. -2026-08-13 12:35:28,095 INFO o.h.j.i.u.LogHelper [restartedMain] HHH008540: Processing PersistenceUnitInfo [name: default] -2026-08-13 12:35:28,130 INFO o.h.Version [restartedMain] HHH000001: Hibernate ORM core version 7.4.1.Final -2026-08-13 12:35:28,300 INFO c.z.h.HikariDataSource [restartedMain] HikariPool-1 - Starting... -2026-08-13 12:35:28,391 INFO c.z.h.p.HikariPool [restartedMain] HikariPool-1 - Added connection org.postgresql.jdbc.PgConnection@f0011b1 -2026-08-13 12:35:28,393 INFO c.z.h.HikariDataSource [restartedMain] HikariPool-1 - Start completed. -2026-08-13 12:35:28,441 INFO o.h.e.j.e.i.JdbcEnvironmentInitiator [restartedMain] HHH10001005: Database info: - Database JDBC URL [jdbc:postgresql://localhost:5432/kontor] - Database driver: PostgreSQL JDBC Driver - Database dialect: PostgreSQLDialect - Database version: 17.7 - Default catalog/schema: kontor/public - Autocommit mode: undefined/unknown - Isolation level: READ_COMMITTED [default READ_COMMITTED] - JDBC fetch size: none - Pool: DataSourceConnectionProvider - Minimum pool size: undefined/unknown - Maximum pool size: undefined/unknown -2026-08-13 12:35:28,449 WARN o.s.c.s.AbstractApplicationContext [restartedMain] Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/hibernate/autoconfigure/HibernateJpaConfiguration.class]: org/hibernate/query/BindableType -2026-08-13 12:35:28,451 INFO c.z.h.HikariDataSource [restartedMain] HikariPool-1 - Shutdown initiated... -2026-08-13 12:35:28,452 INFO c.z.h.HikariDataSource [restartedMain] HikariPool-1 - Shutdown completed. -2026-08-13 12:35:28,454 INFO o.a.j.l.DirectJDKLog [restartedMain] Stopping service [Tomcat] -2026-08-13 12:35:28,460 WARN o.a.j.l.DirectJDKLog [restartedMain] The web application [ROOT] appears to have started a thread named [vaadin-file-watcher-1] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread: - java.base/jdk.internal.misc.Unsafe.park(Native Method) - java.base/java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:408) - java.base/java.util.concurrent.LinkedTransferQueue$DualNode.await(LinkedTransferQueue.java:452) - java.base/java.util.concurrent.SynchronousQueue$Transferer.xferLifo(SynchronousQueue.java:194) - java.base/java.util.concurrent.SynchronousQueue.xfer(SynchronousQueue.java:235) - java.base/java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:338) - java.base/java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1015) - java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076) - java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614) - java.base/java.lang.Thread.run(Thread.java:1474) -2026-08-13 12:35:28,461 WARN o.a.j.l.DirectJDKLog [restartedMain] The web application [ROOT] appears to have started a thread named [vaadin-file-watcher-2] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread: - java.base/jdk.internal.misc.Unsafe.park(Native Method) - java.base/java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:408) - java.base/java.util.concurrent.LinkedTransferQueue$DualNode.await(LinkedTransferQueue.java:452) - java.base/java.util.concurrent.SynchronousQueue$Transferer.xferLifo(SynchronousQueue.java:194) - java.base/java.util.concurrent.SynchronousQueue.xfer(SynchronousQueue.java:235) - java.base/java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:338) - java.base/java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1015) - java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076) - java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614) - java.base/java.lang.Thread.run(Thread.java:1474) -2026-08-13 12:35:28,461 WARN o.a.j.l.DirectJDKLog [restartedMain] The web application [ROOT] appears to have started a thread named [vaadin-file-watcher-3] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread: - java.base/jdk.internal.misc.Unsafe.park(Native Method) - java.base/java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:408) - java.base/java.util.concurrent.LinkedTransferQueue$DualNode.await(LinkedTransferQueue.java:452) - java.base/java.util.concurrent.SynchronousQueue$Transferer.xferLifo(SynchronousQueue.java:194) - java.base/java.util.concurrent.SynchronousQueue.xfer(SynchronousQueue.java:235) - java.base/java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:338) - java.base/java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1015) - java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076) - java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614) - java.base/java.lang.Thread.run(Thread.java:1474) -2026-08-13 12:35:28,469 INFO o.s.b.a.l.ConditionEvaluationReportLogger [restartedMain] - -Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled. -2026-08-13 12:35:28,478 ERROR o.s.b.SpringApplication [restartedMain] Application run failed -org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/hibernate/autoconfigure/HibernateJpaConfiguration.class]: org/hibernate/query/BindableType - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1815) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:603) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:525) - at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:333) - at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:371) - at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:331) - at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:201) - at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:977) - at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:621) - at org.springframework.boot.web.server.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:143) - at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:756) - at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:445) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:321) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:1365) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:1354) - at de.thpeetz.kontor.KontorApplication.main(KontorApplication.java:21) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) - at java.base/java.lang.reflect.Method.invoke(Method.java:565) - at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:52) -Caused by: java.lang.NoClassDefFoundError: org/hibernate/query/BindableType - at java.base/java.lang.ClassLoader.defineClass1(Native Method) - at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:962) - at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:144) - at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:776) - at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:691) - at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:620) - at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:578) - at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:490) - at java.base/java.lang.ClassLoader.defineClass1(Native Method) - at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:962) - at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:144) - at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:776) - at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:691) - at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:620) - at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:578) - at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:490) - at io.hypersistence.utils.hibernate.type.HibernateTypesContributor.contribute(HibernateTypesContributor.java:113) - at org.hibernate.boot.internal.MetadataBuilderImpl.applyTypes(MetadataBuilderImpl.java:299) - at java.base/java.lang.Iterable.forEach(Iterable.java:75) - at java.base/java.util.Collections$UnmodifiableCollection.forEach(Collections.java:1118) - at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.applyTypeContributors(EntityManagerFactoryBuilderImpl.java:1359) - at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.applyMetamodelBuilderSettings(EntityManagerFactoryBuilderImpl.java:1336) - at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.(EntityManagerFactoryBuilderImpl.java:226) - at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.(EntityManagerFactoryBuilderImpl.java:164) - at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:93) - at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:443) - at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:436) - at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:411) - at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:419) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1862) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1811) - ... 18 common frames omitted -Caused by: java.lang.ClassNotFoundException: org.hibernate.query.BindableType - at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:580) - at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:490) - ... 49 common frames omitted -2026-08-13 12:36:52,828 INFO o.s.b.StartupInfoLogger [restartedMain] Starting KontorApplication using Java 25.0.2 with PID 3071130 (/home/tpeetz/projects/kontor/kontor-spring/build/classes/java/main started by tpeetz in /home/tpeetz/projects/kontor/kontor-spring) -2026-08-13 12:36:52,831 INFO o.s.b.SpringApplication [restartedMain] The following 1 profile is active: "local" -2026-08-13 12:36:52,882 INFO o.s.b.l.LogLevel [restartedMain] For additional web related logging consider setting the 'logging.level.web' property to 'DEBUG' -2026-08-13 12:36:53,749 INFO o.s.d.r.c.RepositoryConfigurationDelegate [restartedMain] Bootstrapping Spring Data JPA repositories in DEFAULT mode. -2026-08-13 12:36:53,897 INFO o.s.d.r.c.RepositoryConfigurationDelegate [restartedMain] Finished Spring Data repository scanning in 139 ms. Found 34 JPA repository interfaces. -2026-08-13 12:36:54,434 INFO o.s.b.t.TomcatWebServer [restartedMain] Tomcat initialized with port 8085 (http) -2026-08-13 12:36:54,443 INFO o.a.j.l.DirectJDKLog [restartedMain] Initializing ProtocolHandler ["http-nio-8085"] -2026-08-13 12:36:54,444 INFO o.a.j.l.DirectJDKLog [restartedMain] Starting service [Tomcat] -2026-08-13 12:36:54,444 INFO o.a.j.l.DirectJDKLog [restartedMain] Starting Servlet engine: [Apache Tomcat/11.0.24] -2026-08-13 12:36:54,488 INFO o.s.b.w.c.s.WebApplicationContextInitializer [restartedMain] Root WebApplicationContext: initialization completed in 1604 ms -2026-08-13 12:36:57,283 INFO c.v.f.s.VaadinServletContextInitializer$DevModeServletContextListener [restartedMain] Search for subclasses and classes with annotations took 2493 ms -2026-08-13 12:36:57,336 INFO c.v.b.d.s.DevModeInitializer [restartedMain] Starting dev-mode updaters in /home/tpeetz/projects/kontor/kontor-spring folder. -2026-08-13 12:36:57,361 INFO c.v.f.s.f.s.FullDependenciesScanner [restartedMain] Visited 182 classes. Took 15 ms. -2026-08-13 12:36:57,362 INFO c.v.f.s.f.BundleValidationUtil [restartedMain] Checking if a development mode bundle build is needed -2026-08-13 12:36:57,456 INFO c.v.f.s.f.BundleValidationUtil [restartedMain] A development mode bundle build is not needed -2026-08-13 12:36:57,478 INFO c.v.f.s.f.TaskCopyFrontendFiles [vaadin-dev-server-1] Copying frontend resources from jar files ... -2026-08-13 12:36:57,567 INFO c.v.f.s.f.TaskCopyFrontendFiles [vaadin-dev-server-1] Visited 20 resources. Took 89 ms. -2026-08-13 12:36:57,595 INFO o.h.j.i.u.LogHelper [restartedMain] HHH008540: Processing PersistenceUnitInfo [name: default] -2026-08-13 12:36:57,634 INFO o.h.Version [restartedMain] HHH000001: Hibernate ORM core version 7.4.1.Final -2026-08-13 12:36:57,829 INFO c.z.h.HikariDataSource [restartedMain] HikariPool-1 - Starting... -2026-08-13 12:36:57,917 INFO c.z.h.p.HikariPool [restartedMain] HikariPool-1 - Added connection org.postgresql.jdbc.PgConnection@53794ff0 -2026-08-13 12:36:57,918 INFO c.z.h.HikariDataSource [restartedMain] HikariPool-1 - Start completed. -2026-08-13 12:36:57,959 INFO o.h.e.j.e.i.JdbcEnvironmentInitiator [restartedMain] HHH10001005: Database info: - Database JDBC URL [jdbc:postgresql://localhost:5432/kontor] - Database driver: PostgreSQL JDBC Driver - Database dialect: PostgreSQLDialect - Database version: 17.7 - Default catalog/schema: kontor/public - Autocommit mode: undefined/unknown - Isolation level: READ_COMMITTED [default READ_COMMITTED] - JDBC fetch size: none - Pool: DataSourceConnectionProvider - Minimum pool size: undefined/unknown - Maximum pool size: undefined/unknown -2026-08-13 12:36:57,967 WARN o.s.c.s.AbstractApplicationContext [restartedMain] Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/hibernate/autoconfigure/HibernateJpaConfiguration.class]: org/hibernate/query/BindableType -2026-08-13 12:36:57,968 INFO c.z.h.HikariDataSource [restartedMain] HikariPool-1 - Shutdown initiated... -2026-08-13 12:36:57,969 INFO c.z.h.HikariDataSource [restartedMain] HikariPool-1 - Shutdown completed. -2026-08-13 12:36:57,971 INFO o.a.j.l.DirectJDKLog [restartedMain] Stopping service [Tomcat] -2026-08-13 12:36:57,975 WARN o.a.j.l.DirectJDKLog [restartedMain] The web application [ROOT] appears to have started a thread named [vaadin-file-watcher-1] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread: - java.base/jdk.internal.misc.Unsafe.park(Native Method) - java.base/java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:408) - java.base/java.util.concurrent.LinkedTransferQueue$DualNode.await(LinkedTransferQueue.java:452) - java.base/java.util.concurrent.SynchronousQueue$Transferer.xferLifo(SynchronousQueue.java:194) - java.base/java.util.concurrent.SynchronousQueue.xfer(SynchronousQueue.java:235) - java.base/java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:338) - java.base/java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1015) - java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076) - java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614) - java.base/java.lang.Thread.run(Thread.java:1474) -2026-08-13 12:36:57,975 WARN o.a.j.l.DirectJDKLog [restartedMain] The web application [ROOT] appears to have started a thread named [vaadin-file-watcher-2] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread: - java.base/jdk.internal.misc.Unsafe.park(Native Method) - java.base/java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:408) - java.base/java.util.concurrent.LinkedTransferQueue$DualNode.await(LinkedTransferQueue.java:452) - java.base/java.util.concurrent.SynchronousQueue$Transferer.xferLifo(SynchronousQueue.java:194) - java.base/java.util.concurrent.SynchronousQueue.xfer(SynchronousQueue.java:235) - java.base/java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:338) - java.base/java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1015) - java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076) - java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614) - java.base/java.lang.Thread.run(Thread.java:1474) -2026-08-13 12:36:57,975 WARN o.a.j.l.DirectJDKLog [restartedMain] The web application [ROOT] appears to have started a thread named [vaadin-file-watcher-3] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread: - java.base/jdk.internal.misc.Unsafe.park(Native Method) - java.base/java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:408) - java.base/java.util.concurrent.LinkedTransferQueue$DualNode.await(LinkedTransferQueue.java:452) - java.base/java.util.concurrent.SynchronousQueue$Transferer.xferLifo(SynchronousQueue.java:194) - java.base/java.util.concurrent.SynchronousQueue.xfer(SynchronousQueue.java:235) - java.base/java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:338) - java.base/java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1015) - java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076) - java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614) - java.base/java.lang.Thread.run(Thread.java:1474) -2026-08-13 12:36:57,982 INFO o.s.b.a.l.ConditionEvaluationReportLogger [restartedMain] - -Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled. -2026-08-13 12:36:57,992 ERROR o.s.b.SpringApplication [restartedMain] Application run failed -org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/hibernate/autoconfigure/HibernateJpaConfiguration.class]: org/hibernate/query/BindableType - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1815) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:603) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:525) - at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:333) - at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:371) - at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:331) - at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:201) - at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:977) - at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:621) - at org.springframework.boot.web.server.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:143) - at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:756) - at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:445) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:321) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:1365) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:1354) - at de.thpeetz.kontor.KontorApplication.main(KontorApplication.java:21) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) - at java.base/java.lang.reflect.Method.invoke(Method.java:565) - at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:52) -Caused by: java.lang.NoClassDefFoundError: org/hibernate/query/BindableType - at java.base/java.lang.ClassLoader.defineClass1(Native Method) - at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:962) - at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:144) - at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:776) - at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:691) - at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:620) - at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:578) - at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:490) - at java.base/java.lang.ClassLoader.defineClass1(Native Method) - at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:962) - at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:144) - at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:776) - at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:691) - at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:620) - at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:578) - at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:490) - at io.hypersistence.utils.hibernate.type.HibernateTypesContributor.contribute(HibernateTypesContributor.java:113) - at org.hibernate.boot.internal.MetadataBuilderImpl.applyTypes(MetadataBuilderImpl.java:299) - at java.base/java.lang.Iterable.forEach(Iterable.java:75) - at java.base/java.util.Collections$UnmodifiableCollection.forEach(Collections.java:1118) - at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.applyTypeContributors(EntityManagerFactoryBuilderImpl.java:1359) - at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.applyMetamodelBuilderSettings(EntityManagerFactoryBuilderImpl.java:1336) - at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.(EntityManagerFactoryBuilderImpl.java:226) - at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.(EntityManagerFactoryBuilderImpl.java:164) - at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:93) - at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:443) - at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:436) - at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:411) - at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:419) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1862) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1811) - ... 18 common frames omitted -Caused by: java.lang.ClassNotFoundException: org.hibernate.query.BindableType - at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:580) - at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:490) - ... 49 common frames omitted -2026-08-13 12:38:08,093 INFO o.s.b.StartupInfoLogger [restartedMain] Starting KontorApplication using Java 25.0.2 with PID 3085008 (/home/tpeetz/projects/kontor/kontor-spring/build/classes/java/main started by tpeetz in /home/tpeetz/projects/kontor/kontor-spring) -2026-08-13 12:38:08,096 INFO o.s.b.SpringApplication [restartedMain] The following 1 profile is active: "local" -2026-08-13 12:38:08,154 INFO o.s.b.l.LogLevel [restartedMain] For additional web related logging consider setting the 'logging.level.web' property to 'DEBUG' -2026-08-13 12:38:09,890 INFO o.s.d.r.c.RepositoryConfigurationDelegate [restartedMain] Bootstrapping Spring Data JPA repositories in DEFAULT mode. -2026-08-13 12:38:10,017 INFO o.s.d.r.c.RepositoryConfigurationDelegate [restartedMain] Finished Spring Data repository scanning in 121 ms. Found 34 JPA repository interfaces. -2026-08-13 12:38:10,742 INFO o.s.b.t.TomcatWebServer [restartedMain] Tomcat initialized with port 8085 (http) -2026-08-13 12:38:10,767 INFO o.a.j.l.DirectJDKLog [restartedMain] Initializing ProtocolHandler ["http-nio-8085"] -2026-08-13 12:38:10,772 INFO o.a.j.l.DirectJDKLog [restartedMain] Starting service [Tomcat] -2026-08-13 12:38:10,773 INFO o.a.j.l.DirectJDKLog [restartedMain] Starting Servlet engine: [Apache Tomcat/11.0.24] -2026-08-13 12:38:10,870 INFO o.s.b.w.c.s.WebApplicationContextInitializer [restartedMain] Root WebApplicationContext: initialization completed in 2715 ms -2026-08-13 12:38:14,245 INFO c.v.f.s.VaadinServletContextInitializer$DevModeServletContextListener [restartedMain] Search for subclasses and classes with annotations took 2938 ms -2026-08-13 12:38:14,312 INFO c.v.b.d.s.DevModeInitializer [restartedMain] Starting dev-mode updaters in /home/tpeetz/projects/kontor/kontor-spring folder. -2026-08-13 12:38:14,346 INFO c.v.f.s.f.s.FullDependenciesScanner [restartedMain] Visited 182 classes. Took 17 ms. -2026-08-13 12:38:14,348 INFO c.v.f.s.f.BundleValidationUtil [restartedMain] Checking if a development mode bundle build is needed -2026-08-13 12:38:14,459 INFO c.v.f.s.f.BundleValidationUtil [restartedMain] A development mode bundle build is not needed -2026-08-13 12:38:14,488 INFO c.v.f.s.f.TaskCopyFrontendFiles [vaadin-dev-server-1] Copying frontend resources from jar files ... -2026-08-13 12:38:14,587 INFO c.v.f.s.f.TaskCopyFrontendFiles [vaadin-dev-server-1] Visited 20 resources. Took 98 ms. -2026-08-13 12:38:14,665 INFO o.h.j.i.u.LogHelper [restartedMain] HHH008540: Processing PersistenceUnitInfo [name: default] -2026-08-13 12:38:14,737 INFO o.h.Version [restartedMain] HHH000001: Hibernate ORM core version 7.4.1.Final -2026-08-13 12:38:15,045 INFO c.z.h.HikariDataSource [restartedMain] HikariPool-1 - Starting... -2026-08-13 12:38:15,168 INFO c.z.h.p.HikariPool [restartedMain] HikariPool-1 - Added connection org.postgresql.jdbc.PgConnection@1f1c2db0 -2026-08-13 12:38:15,170 INFO c.z.h.HikariDataSource [restartedMain] HikariPool-1 - Start completed. -2026-08-13 12:38:15,257 INFO o.h.e.j.e.i.JdbcEnvironmentInitiator [restartedMain] HHH10001005: Database info: - Database JDBC URL [jdbc:postgresql://localhost:5432/kontor] - Database driver: PostgreSQL JDBC Driver - Database dialect: PostgreSQLDialect - Database version: 17.7 - Default catalog/schema: kontor/public - Autocommit mode: undefined/unknown - Isolation level: READ_COMMITTED [default READ_COMMITTED] - JDBC fetch size: none - Pool: DataSourceConnectionProvider - Minimum pool size: undefined/unknown - Maximum pool size: undefined/unknown -2026-08-13 12:38:15,273 WARN o.s.c.s.AbstractApplicationContext [restartedMain] Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/hibernate/autoconfigure/HibernateJpaConfiguration.class]: org/hibernate/query/BindableType -2026-08-13 12:38:15,275 INFO c.z.h.HikariDataSource [restartedMain] HikariPool-1 - Shutdown initiated... -2026-08-13 12:38:15,321 INFO c.z.h.HikariDataSource [restartedMain] HikariPool-1 - Shutdown completed. -2026-08-13 12:38:15,324 INFO o.a.j.l.DirectJDKLog [restartedMain] Stopping service [Tomcat] -2026-08-13 12:38:15,330 WARN o.a.j.l.DirectJDKLog [restartedMain] The web application [ROOT] appears to have started a thread named [vaadin-file-watcher-1] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread: - java.base/jdk.internal.misc.Unsafe.park(Native Method) - java.base/java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:408) - java.base/java.util.concurrent.LinkedTransferQueue$DualNode.await(LinkedTransferQueue.java:452) - java.base/java.util.concurrent.SynchronousQueue$Transferer.xferLifo(SynchronousQueue.java:194) - java.base/java.util.concurrent.SynchronousQueue.xfer(SynchronousQueue.java:235) - java.base/java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:338) - java.base/java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1015) - java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076) - java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614) - java.base/java.lang.Thread.run(Thread.java:1474) -2026-08-13 12:38:15,330 WARN o.a.j.l.DirectJDKLog [restartedMain] The web application [ROOT] appears to have started a thread named [vaadin-file-watcher-2] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread: - java.base/jdk.internal.misc.Unsafe.park(Native Method) - java.base/java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:408) - java.base/java.util.concurrent.LinkedTransferQueue$DualNode.await(LinkedTransferQueue.java:452) - java.base/java.util.concurrent.SynchronousQueue$Transferer.xferLifo(SynchronousQueue.java:194) - java.base/java.util.concurrent.SynchronousQueue.xfer(SynchronousQueue.java:235) - java.base/java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:338) - java.base/java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1015) - java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076) - java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614) - java.base/java.lang.Thread.run(Thread.java:1474) -2026-08-13 12:38:15,330 WARN o.a.j.l.DirectJDKLog [restartedMain] The web application [ROOT] appears to have started a thread named [vaadin-file-watcher-3] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread: - java.base/jdk.internal.misc.Unsafe.park(Native Method) - java.base/java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:408) - java.base/java.util.concurrent.LinkedTransferQueue$DualNode.await(LinkedTransferQueue.java:452) - java.base/java.util.concurrent.SynchronousQueue$Transferer.xferLifo(SynchronousQueue.java:194) - java.base/java.util.concurrent.SynchronousQueue.xfer(SynchronousQueue.java:235) - java.base/java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:338) - java.base/java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1015) - java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076) - java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614) - java.base/java.lang.Thread.run(Thread.java:1474) -2026-08-13 12:38:15,342 INFO o.s.b.a.l.ConditionEvaluationReportLogger [restartedMain] - -Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled. -2026-08-13 12:38:15,356 ERROR o.s.b.SpringApplication [restartedMain] Application run failed -org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/hibernate/autoconfigure/HibernateJpaConfiguration.class]: org/hibernate/query/BindableType - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1815) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:603) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:525) - at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:333) - at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:371) - at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:331) - at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:201) - at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:977) - at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:621) - at org.springframework.boot.web.server.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:143) - at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:756) - at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:445) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:321) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:1365) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:1354) - at de.thpeetz.kontor.KontorApplication.main(KontorApplication.java:21) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) - at java.base/java.lang.reflect.Method.invoke(Method.java:565) - at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:52) -Caused by: java.lang.NoClassDefFoundError: org/hibernate/query/BindableType - at java.base/java.lang.ClassLoader.defineClass1(Native Method) - at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:962) - at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:144) - at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:776) - at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:691) - at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:620) - at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:578) - at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:490) - at java.base/java.lang.ClassLoader.defineClass1(Native Method) - at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:962) - at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:144) - at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:776) - at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:691) - at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:620) - at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:578) - at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:490) - at io.hypersistence.utils.hibernate.type.HibernateTypesContributor.contribute(HibernateTypesContributor.java:113) - at org.hibernate.boot.internal.MetadataBuilderImpl.applyTypes(MetadataBuilderImpl.java:299) - at java.base/java.lang.Iterable.forEach(Iterable.java:75) - at java.base/java.util.Collections$UnmodifiableCollection.forEach(Collections.java:1118) - at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.applyTypeContributors(EntityManagerFactoryBuilderImpl.java:1359) - at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.applyMetamodelBuilderSettings(EntityManagerFactoryBuilderImpl.java:1336) - at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.(EntityManagerFactoryBuilderImpl.java:226) - at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.(EntityManagerFactoryBuilderImpl.java:164) - at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:93) - at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:443) - at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:436) - at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:411) - at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:419) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1862) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1811) - ... 18 common frames omitted -Caused by: java.lang.ClassNotFoundException: org.hibernate.query.BindableType - at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:580) - at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:490) - ... 49 common frames omitted -2026-08-13 12:41:18,869 INFO o.s.b.StartupInfoLogger [restartedMain] Starting KontorApplication using Java 25.0.2 with PID 3122398 (/home/tpeetz/projects/kontor/kontor-spring/build/classes/java/main started by tpeetz in /home/tpeetz/projects/kontor/kontor-spring) -2026-08-13 12:41:18,871 INFO o.s.b.SpringApplication [restartedMain] The following 1 profile is active: "local" -2026-08-13 12:41:18,943 INFO o.s.b.l.LogLevel [restartedMain] For additional web related logging consider setting the 'logging.level.web' property to 'DEBUG' -2026-08-13 12:41:19,907 INFO o.s.d.r.c.RepositoryConfigurationDelegate [restartedMain] Bootstrapping Spring Data JPA repositories in DEFAULT mode. -2026-08-13 12:41:20,042 INFO o.s.d.r.c.RepositoryConfigurationDelegate [restartedMain] Finished Spring Data repository scanning in 128 ms. Found 34 JPA repository interfaces. -2026-08-13 12:41:20,593 INFO o.s.b.t.TomcatWebServer [restartedMain] Tomcat initialized with port 8085 (http) -2026-08-13 12:41:20,602 INFO o.a.j.l.DirectJDKLog [restartedMain] Initializing ProtocolHandler ["http-nio-8085"] -2026-08-13 12:41:20,603 INFO o.a.j.l.DirectJDKLog [restartedMain] Starting service [Tomcat] -2026-08-13 12:41:20,604 INFO o.a.j.l.DirectJDKLog [restartedMain] Starting Servlet engine: [Apache Tomcat/11.0.24] -2026-08-13 12:41:20,633 INFO o.s.b.w.c.s.WebApplicationContextInitializer [restartedMain] Root WebApplicationContext: initialization completed in 1689 ms -2026-08-13 12:41:23,609 INFO c.v.f.s.VaadinServletContextInitializer$DevModeServletContextListener [restartedMain] Search for subclasses and classes with annotations took 2624 ms -2026-08-13 12:41:23,674 INFO c.v.b.d.s.DevModeInitializer [restartedMain] Starting dev-mode updaters in /home/tpeetz/projects/kontor/kontor-spring folder. -2026-08-13 12:41:23,707 INFO c.v.f.s.f.s.FullDependenciesScanner [restartedMain] Visited 182 classes. Took 18 ms. -2026-08-13 12:41:23,709 INFO c.v.f.s.f.BundleValidationUtil [restartedMain] Checking if a development mode bundle build is needed -2026-08-13 12:41:23,817 INFO c.v.f.s.f.BundleValidationUtil [restartedMain] A development mode bundle build is not needed -2026-08-13 12:41:23,843 INFO c.v.f.s.f.TaskCopyFrontendFiles [vaadin-dev-server-1] Copying frontend resources from jar files ... -2026-08-13 12:41:23,905 INFO c.v.f.s.f.TaskCopyFrontendFiles [vaadin-dev-server-1] Visited 20 resources. Took 62 ms. -2026-08-13 12:41:23,943 INFO o.h.j.i.u.LogHelper [restartedMain] HHH008540: Processing PersistenceUnitInfo [name: default] -2026-08-13 12:41:23,985 INFO o.h.Version [restartedMain] HHH000001: Hibernate ORM core version 7.4.1.Final -2026-08-13 12:41:24,196 INFO c.z.h.HikariDataSource [restartedMain] HikariPool-1 - Starting... -2026-08-13 12:41:24,290 INFO c.z.h.p.HikariPool [restartedMain] HikariPool-1 - Added connection org.postgresql.jdbc.PgConnection@7894fe0a -2026-08-13 12:41:24,291 INFO c.z.h.HikariDataSource [restartedMain] HikariPool-1 - Start completed. -2026-08-13 12:41:24,340 INFO o.h.e.j.e.i.JdbcEnvironmentInitiator [restartedMain] HHH10001005: Database info: - Database JDBC URL [jdbc:postgresql://localhost:5432/kontor] - Database driver: PostgreSQL JDBC Driver - Database dialect: PostgreSQLDialect - Database version: 17.7 - Default catalog/schema: kontor/public - Autocommit mode: undefined/unknown - Isolation level: READ_COMMITTED [default READ_COMMITTED] - JDBC fetch size: none - Pool: DataSourceConnectionProvider - Minimum pool size: undefined/unknown - Maximum pool size: undefined/unknown -2026-08-13 12:41:24,350 WARN o.s.c.s.AbstractApplicationContext [restartedMain] Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/hibernate/autoconfigure/HibernateJpaConfiguration.class]: org/hibernate/query/BindableType -2026-08-13 12:41:24,351 INFO c.z.h.HikariDataSource [restartedMain] HikariPool-1 - Shutdown initiated... -2026-08-13 12:41:24,352 INFO c.z.h.HikariDataSource [restartedMain] HikariPool-1 - Shutdown completed. -2026-08-13 12:41:24,355 INFO o.a.j.l.DirectJDKLog [restartedMain] Stopping service [Tomcat] -2026-08-13 12:41:24,358 WARN o.a.j.l.DirectJDKLog [restartedMain] The web application [ROOT] appears to have started a thread named [vaadin-file-watcher-1] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread: - java.base/jdk.internal.misc.Unsafe.park(Native Method) - java.base/java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:408) - java.base/java.util.concurrent.LinkedTransferQueue$DualNode.await(LinkedTransferQueue.java:452) - java.base/java.util.concurrent.SynchronousQueue$Transferer.xferLifo(SynchronousQueue.java:194) - java.base/java.util.concurrent.SynchronousQueue.xfer(SynchronousQueue.java:235) - java.base/java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:338) - java.base/java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1015) - java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076) - java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614) - java.base/java.lang.Thread.run(Thread.java:1474) -2026-08-13 12:41:24,359 WARN o.a.j.l.DirectJDKLog [restartedMain] The web application [ROOT] appears to have started a thread named [vaadin-file-watcher-2] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread: - java.base/jdk.internal.misc.Unsafe.park(Native Method) - java.base/java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:408) - java.base/java.util.concurrent.LinkedTransferQueue$DualNode.await(LinkedTransferQueue.java:452) - java.base/java.util.concurrent.SynchronousQueue$Transferer.xferLifo(SynchronousQueue.java:194) - java.base/java.util.concurrent.SynchronousQueue.xfer(SynchronousQueue.java:235) - java.base/java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:338) - java.base/java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1015) - java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076) - java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614) - java.base/java.lang.Thread.run(Thread.java:1474) -2026-08-13 12:41:24,359 WARN o.a.j.l.DirectJDKLog [restartedMain] The web application [ROOT] appears to have started a thread named [vaadin-file-watcher-3] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread: - java.base/jdk.internal.misc.Unsafe.park(Native Method) - java.base/java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:408) - java.base/java.util.concurrent.LinkedTransferQueue$DualNode.await(LinkedTransferQueue.java:452) - java.base/java.util.concurrent.SynchronousQueue$Transferer.xferLifo(SynchronousQueue.java:194) - java.base/java.util.concurrent.SynchronousQueue.xfer(SynchronousQueue.java:235) - java.base/java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:338) - java.base/java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1015) - java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076) - java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614) - java.base/java.lang.Thread.run(Thread.java:1474) -2026-08-13 12:41:24,375 INFO o.s.b.a.l.ConditionEvaluationReportLogger [restartedMain] - -Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled. -2026-08-13 12:41:24,386 ERROR o.s.b.SpringApplication [restartedMain] Application run failed -org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/hibernate/autoconfigure/HibernateJpaConfiguration.class]: org/hibernate/query/BindableType - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1815) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:603) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:525) - at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:333) - at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:371) - at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:331) - at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:201) - at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:977) - at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:621) - at org.springframework.boot.web.server.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:143) - at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:756) - at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:445) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:321) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:1365) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:1354) - at de.thpeetz.kontor.KontorApplication.main(KontorApplication.java:21) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) - at java.base/java.lang.reflect.Method.invoke(Method.java:565) - at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:52) -Caused by: java.lang.NoClassDefFoundError: org/hibernate/query/BindableType - at java.base/java.lang.ClassLoader.defineClass1(Native Method) - at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:962) - at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:144) - at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:776) - at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:691) - at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:620) - at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:578) - at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:490) - at java.base/java.lang.ClassLoader.defineClass1(Native Method) - at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:962) - at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:144) - at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:776) - at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:691) - at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:620) - at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:578) - at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:490) - at io.hypersistence.utils.hibernate.type.HibernateTypesContributor.contribute(HibernateTypesContributor.java:113) - at org.hibernate.boot.internal.MetadataBuilderImpl.applyTypes(MetadataBuilderImpl.java:299) - at java.base/java.lang.Iterable.forEach(Iterable.java:75) - at java.base/java.util.Collections$UnmodifiableCollection.forEach(Collections.java:1118) - at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.applyTypeContributors(EntityManagerFactoryBuilderImpl.java:1359) - at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.applyMetamodelBuilderSettings(EntityManagerFactoryBuilderImpl.java:1336) - at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.(EntityManagerFactoryBuilderImpl.java:226) - at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.(EntityManagerFactoryBuilderImpl.java:164) - at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:93) - at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:443) - at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:436) - at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:411) - at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:419) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1862) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1811) - ... 18 common frames omitted -Caused by: java.lang.ClassNotFoundException: org.hibernate.query.BindableType - at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:580) - at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:490) - ... 49 common frames omitted -2026-08-13 12:42:55,320 INFO o.s.b.StartupInfoLogger [restartedMain] Starting KontorApplication using Java 25.0.2 with PID 3137155 (/home/tpeetz/projects/kontor/kontor-spring/build/classes/java/main started by tpeetz in /home/tpeetz/projects/kontor/kontor-spring) -2026-08-13 12:42:55,322 INFO o.s.b.SpringApplication [restartedMain] The following 1 profile is active: "local" -2026-08-13 12:42:55,410 INFO o.s.b.l.LogLevel [restartedMain] For additional web related logging consider setting the 'logging.level.web' property to 'DEBUG' -2026-08-13 12:42:56,380 INFO o.s.d.r.c.RepositoryConfigurationDelegate [restartedMain] Bootstrapping Spring Data JPA repositories in DEFAULT mode. -2026-08-13 12:42:56,529 INFO o.s.d.r.c.RepositoryConfigurationDelegate [restartedMain] Finished Spring Data repository scanning in 142 ms. Found 34 JPA repository interfaces. -2026-08-13 12:42:57,105 INFO o.s.b.t.TomcatWebServer [restartedMain] Tomcat initialized with port 8085 (http) -2026-08-13 12:42:57,114 INFO o.a.j.l.DirectJDKLog [restartedMain] Initializing ProtocolHandler ["http-nio-8085"] -2026-08-13 12:42:57,115 INFO o.a.j.l.DirectJDKLog [restartedMain] Starting service [Tomcat] -2026-08-13 12:42:57,115 INFO o.a.j.l.DirectJDKLog [restartedMain] Starting Servlet engine: [Apache Tomcat/11.0.24] -2026-08-13 12:42:57,149 INFO o.s.b.w.c.s.WebApplicationContextInitializer [restartedMain] Root WebApplicationContext: initialization completed in 1737 ms -2026-08-13 12:43:00,028 INFO c.v.f.s.VaadinServletContextInitializer$DevModeServletContextListener [restartedMain] Search for subclasses and classes with annotations took 2547 ms -2026-08-13 12:43:00,083 INFO c.v.b.d.s.DevModeInitializer [restartedMain] Starting dev-mode updaters in /home/tpeetz/projects/kontor/kontor-spring folder. -2026-08-13 12:43:00,117 INFO c.v.f.s.f.s.FullDependenciesScanner [restartedMain] Visited 182 classes. Took 23 ms. -2026-08-13 12:43:00,119 INFO c.v.f.s.f.BundleValidationUtil [restartedMain] Checking if a development mode bundle build is needed -2026-08-13 12:43:00,229 INFO c.v.f.s.f.BundleValidationUtil [restartedMain] A development mode bundle build is not needed -2026-08-13 12:43:00,254 INFO c.v.f.s.f.TaskCopyFrontendFiles [vaadin-dev-server-1] Copying frontend resources from jar files ... -2026-08-13 12:43:00,307 INFO c.v.f.s.f.TaskCopyFrontendFiles [vaadin-dev-server-1] Visited 20 resources. Took 53 ms. -2026-08-13 12:43:00,349 INFO o.h.j.i.u.LogHelper [restartedMain] HHH008540: Processing PersistenceUnitInfo [name: default] -2026-08-13 12:43:00,394 INFO o.h.Version [restartedMain] HHH000001: Hibernate ORM core version 7.4.1.Final -2026-08-13 12:43:00,544 INFO c.z.h.HikariDataSource [restartedMain] HikariPool-1 - Starting... -2026-08-13 12:43:00,624 INFO c.z.h.p.HikariPool [restartedMain] HikariPool-1 - Added connection org.postgresql.jdbc.PgConnection@464030bb -2026-08-13 12:43:00,626 INFO c.z.h.HikariDataSource [restartedMain] HikariPool-1 - Start completed. -2026-08-13 12:43:00,666 INFO o.h.e.j.e.i.JdbcEnvironmentInitiator [restartedMain] HHH10001005: Database info: - Database JDBC URL [jdbc:postgresql://localhost:5432/kontor] - Database driver: PostgreSQL JDBC Driver - Database dialect: PostgreSQLDialect - Database version: 17.7 - Default catalog/schema: kontor/public - Autocommit mode: undefined/unknown - Isolation level: READ_COMMITTED [default READ_COMMITTED] - JDBC fetch size: none - Pool: DataSourceConnectionProvider - Minimum pool size: undefined/unknown - Maximum pool size: undefined/unknown -2026-08-13 12:43:00,674 WARN o.s.c.s.AbstractApplicationContext [restartedMain] Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/hibernate/autoconfigure/HibernateJpaConfiguration.class]: org/hibernate/query/BindableType -2026-08-13 12:43:00,676 INFO c.z.h.HikariDataSource [restartedMain] HikariPool-1 - Shutdown initiated... -2026-08-13 12:43:00,677 INFO c.z.h.HikariDataSource [restartedMain] HikariPool-1 - Shutdown completed. -2026-08-13 12:43:00,679 INFO o.a.j.l.DirectJDKLog [restartedMain] Stopping service [Tomcat] -2026-08-13 12:43:00,682 WARN o.a.j.l.DirectJDKLog [restartedMain] The web application [ROOT] appears to have started a thread named [vaadin-file-watcher-1] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread: - java.base/jdk.internal.misc.Unsafe.park(Native Method) - java.base/java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:408) - java.base/java.util.concurrent.LinkedTransferQueue$DualNode.await(LinkedTransferQueue.java:452) - java.base/java.util.concurrent.SynchronousQueue$Transferer.xferLifo(SynchronousQueue.java:194) - java.base/java.util.concurrent.SynchronousQueue.xfer(SynchronousQueue.java:235) - java.base/java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:338) - java.base/java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1015) - java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076) - java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614) - java.base/java.lang.Thread.run(Thread.java:1474) -2026-08-13 12:43:00,683 WARN o.a.j.l.DirectJDKLog [restartedMain] The web application [ROOT] appears to have started a thread named [vaadin-file-watcher-2] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread: - java.base/jdk.internal.misc.Unsafe.park(Native Method) - java.base/java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:408) - java.base/java.util.concurrent.LinkedTransferQueue$DualNode.await(LinkedTransferQueue.java:452) - java.base/java.util.concurrent.SynchronousQueue$Transferer.xferLifo(SynchronousQueue.java:194) - java.base/java.util.concurrent.SynchronousQueue.xfer(SynchronousQueue.java:235) - java.base/java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:338) - java.base/java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1015) - java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076) - java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614) - java.base/java.lang.Thread.run(Thread.java:1474) -2026-08-13 12:43:00,683 WARN o.a.j.l.DirectJDKLog [restartedMain] The web application [ROOT] appears to have started a thread named [vaadin-file-watcher-3] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread: - java.base/jdk.internal.misc.Unsafe.park(Native Method) - java.base/java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:408) - java.base/java.util.concurrent.LinkedTransferQueue$DualNode.await(LinkedTransferQueue.java:452) - java.base/java.util.concurrent.SynchronousQueue$Transferer.xferLifo(SynchronousQueue.java:194) - java.base/java.util.concurrent.SynchronousQueue.xfer(SynchronousQueue.java:235) - java.base/java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:338) - java.base/java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1015) - java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076) - java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614) - java.base/java.lang.Thread.run(Thread.java:1474) -2026-08-13 12:43:00,690 INFO o.s.b.a.l.ConditionEvaluationReportLogger [restartedMain] - -Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled. -2026-08-13 12:43:00,699 ERROR o.s.b.SpringApplication [restartedMain] Application run failed -org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/hibernate/autoconfigure/HibernateJpaConfiguration.class]: org/hibernate/query/BindableType - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1815) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:603) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:525) - at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:333) - at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:371) - at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:331) - at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:201) - at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:977) - at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:621) - at org.springframework.boot.web.server.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:143) - at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:756) - at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:445) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:321) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:1365) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:1354) - at de.thpeetz.kontor.KontorApplication.main(KontorApplication.java:21) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) - at java.base/java.lang.reflect.Method.invoke(Method.java:565) - at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:52) -Caused by: java.lang.NoClassDefFoundError: org/hibernate/query/BindableType - at java.base/java.lang.ClassLoader.defineClass1(Native Method) - at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:962) - at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:144) - at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:776) - at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:691) - at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:620) - at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:578) - at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:490) - at java.base/java.lang.ClassLoader.defineClass1(Native Method) - at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:962) - at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:144) - at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:776) - at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:691) - at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:620) - at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:578) - at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:490) - at io.hypersistence.utils.hibernate.type.HibernateTypesContributor.contribute(HibernateTypesContributor.java:113) - at org.hibernate.boot.internal.MetadataBuilderImpl.applyTypes(MetadataBuilderImpl.java:299) - at java.base/java.lang.Iterable.forEach(Iterable.java:75) - at java.base/java.util.Collections$UnmodifiableCollection.forEach(Collections.java:1118) - at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.applyTypeContributors(EntityManagerFactoryBuilderImpl.java:1359) - at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.applyMetamodelBuilderSettings(EntityManagerFactoryBuilderImpl.java:1336) - at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.(EntityManagerFactoryBuilderImpl.java:226) - at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.(EntityManagerFactoryBuilderImpl.java:164) - at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:93) - at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:443) - at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:436) - at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:411) - at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:419) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1862) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1811) - ... 18 common frames omitted -Caused by: java.lang.ClassNotFoundException: org.hibernate.query.BindableType - at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:580) - at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:490) - ... 49 common frames omitted -2026-08-13 13:23:34,908 INFO o.s.b.StartupInfoLogger [restartedMain] Starting KontorApplication using Java 25.0.2 with PID 3540422 (/home/tpeetz/projects/kontor/kontor-spring/build/classes/java/main started by tpeetz in /home/tpeetz/projects/kontor/kontor-spring) -2026-08-13 13:23:34,918 INFO o.s.b.SpringApplication [restartedMain] The following 1 profile is active: "local" -2026-08-13 13:23:34,973 INFO o.s.b.l.LogLevel [restartedMain] For additional web related logging consider setting the 'logging.level.web' property to 'DEBUG' -2026-08-13 13:23:35,893 INFO o.s.d.r.c.RepositoryConfigurationDelegate [restartedMain] Bootstrapping Spring Data JPA repositories in DEFAULT mode. -2026-08-13 13:23:36,031 INFO o.s.d.r.c.RepositoryConfigurationDelegate [restartedMain] Finished Spring Data repository scanning in 130 ms. Found 34 JPA repository interfaces. -2026-08-13 13:23:36,566 INFO o.s.b.t.TomcatWebServer [restartedMain] Tomcat initialized with port 8085 (http) -2026-08-13 13:23:36,574 INFO o.a.j.l.DirectJDKLog [restartedMain] Initializing ProtocolHandler ["http-nio-8085"] -2026-08-13 13:23:36,575 INFO o.a.j.l.DirectJDKLog [restartedMain] Starting service [Tomcat] -2026-08-13 13:23:36,576 INFO o.a.j.l.DirectJDKLog [restartedMain] Starting Servlet engine: [Apache Tomcat/11.0.24] -2026-08-13 13:23:36,606 INFO o.s.b.w.c.s.WebApplicationContextInitializer [restartedMain] Root WebApplicationContext: initialization completed in 1632 ms -2026-08-13 13:23:39,539 INFO c.v.f.s.VaadinServletContextInitializer$DevModeServletContextListener [restartedMain] Search for subclasses and classes with annotations took 2653 ms -2026-08-13 13:23:39,602 INFO c.v.b.d.s.DevModeInitializer [restartedMain] Starting dev-mode updaters in /home/tpeetz/projects/kontor/kontor-spring folder. -2026-08-13 13:23:39,633 INFO c.v.f.s.f.s.FullDependenciesScanner [restartedMain] Visited 182 classes. Took 18 ms. -2026-08-13 13:23:39,634 INFO c.v.f.s.f.BundleValidationUtil [restartedMain] Checking if a development mode bundle build is needed -2026-08-13 13:23:39,778 INFO c.v.f.s.f.BundleValidationUtil [restartedMain] A development mode bundle build is not needed -2026-08-13 13:23:39,816 INFO c.v.f.s.f.TaskCopyFrontendFiles [vaadin-dev-server-1] Copying frontend resources from jar files ... -2026-08-13 13:23:39,885 INFO c.v.f.s.f.TaskCopyFrontendFiles [vaadin-dev-server-1] Visited 20 resources. Took 68 ms. -2026-08-13 13:23:39,943 INFO o.h.j.i.u.LogHelper [restartedMain] HHH008540: Processing PersistenceUnitInfo [name: default] -2026-08-13 13:23:39,988 INFO o.h.Version [restartedMain] HHH000001: Hibernate ORM core version 7.4.1.Final -2026-08-13 13:23:40,184 INFO c.z.h.HikariDataSource [restartedMain] HikariPool-1 - Starting... -2026-08-13 13:23:40,274 INFO c.z.h.p.HikariPool [restartedMain] HikariPool-1 - Added connection org.postgresql.jdbc.PgConnection@5c76d624 -2026-08-13 13:23:40,276 INFO c.z.h.HikariDataSource [restartedMain] HikariPool-1 - Start completed. -2026-08-13 13:23:40,326 INFO o.h.e.j.e.i.JdbcEnvironmentInitiator [restartedMain] HHH10001005: Database info: - Database JDBC URL [jdbc:postgresql://localhost:5432/kontor] - Database driver: PostgreSQL JDBC Driver - Database dialect: PostgreSQLDialect - Database version: 17.7 - Default catalog/schema: kontor/public - Autocommit mode: undefined/unknown - Isolation level: READ_COMMITTED [default READ_COMMITTED] - JDBC fetch size: none - Pool: DataSourceConnectionProvider - Minimum pool size: undefined/unknown - Maximum pool size: undefined/unknown -2026-08-13 13:23:40,335 WARN o.s.c.s.AbstractApplicationContext [restartedMain] Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/hibernate/autoconfigure/HibernateJpaConfiguration.class]: org/hibernate/query/BindableType -2026-08-13 13:23:40,336 INFO c.z.h.HikariDataSource [restartedMain] HikariPool-1 - Shutdown initiated... -2026-08-13 13:23:40,337 INFO c.z.h.HikariDataSource [restartedMain] HikariPool-1 - Shutdown completed. -2026-08-13 13:23:40,339 INFO o.a.j.l.DirectJDKLog [restartedMain] Stopping service [Tomcat] -2026-08-13 13:23:40,345 WARN o.a.j.l.DirectJDKLog [restartedMain] The web application [ROOT] appears to have started a thread named [vaadin-file-watcher-1] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread: - java.base/jdk.internal.misc.Unsafe.park(Native Method) - java.base/java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:408) - java.base/java.util.concurrent.LinkedTransferQueue$DualNode.await(LinkedTransferQueue.java:452) - java.base/java.util.concurrent.SynchronousQueue$Transferer.xferLifo(SynchronousQueue.java:194) - java.base/java.util.concurrent.SynchronousQueue.xfer(SynchronousQueue.java:235) - java.base/java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:338) - java.base/java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1015) - java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076) - java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614) - java.base/java.lang.Thread.run(Thread.java:1474) -2026-08-13 13:23:40,345 WARN o.a.j.l.DirectJDKLog [restartedMain] The web application [ROOT] appears to have started a thread named [vaadin-file-watcher-2] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread: - java.base/jdk.internal.misc.Unsafe.park(Native Method) - java.base/java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:408) - java.base/java.util.concurrent.LinkedTransferQueue$DualNode.await(LinkedTransferQueue.java:452) - java.base/java.util.concurrent.SynchronousQueue$Transferer.xferLifo(SynchronousQueue.java:194) - java.base/java.util.concurrent.SynchronousQueue.xfer(SynchronousQueue.java:235) - java.base/java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:338) - java.base/java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1015) - java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076) - java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614) - java.base/java.lang.Thread.run(Thread.java:1474) -2026-08-13 13:23:40,346 WARN o.a.j.l.DirectJDKLog [restartedMain] The web application [ROOT] appears to have started a thread named [vaadin-file-watcher-3] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread: - java.base/jdk.internal.misc.Unsafe.park(Native Method) - java.base/java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:408) - java.base/java.util.concurrent.LinkedTransferQueue$DualNode.await(LinkedTransferQueue.java:452) - java.base/java.util.concurrent.SynchronousQueue$Transferer.xferLifo(SynchronousQueue.java:194) - java.base/java.util.concurrent.SynchronousQueue.xfer(SynchronousQueue.java:235) - java.base/java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:338) - java.base/java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1015) - java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076) - java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614) - java.base/java.lang.Thread.run(Thread.java:1474) -2026-08-13 13:23:40,355 INFO o.s.b.a.l.ConditionEvaluationReportLogger [restartedMain] - -Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled. -2026-08-13 13:23:40,373 ERROR o.s.b.SpringApplication [restartedMain] Application run failed -org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/hibernate/autoconfigure/HibernateJpaConfiguration.class]: org/hibernate/query/BindableType - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1815) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:603) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:525) - at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:333) - at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:371) - at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:331) - at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:201) - at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:977) - at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:621) - at org.springframework.boot.web.server.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:143) - at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:756) - at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:445) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:321) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:1365) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:1354) - at de.thpeetz.kontor.KontorApplication.main(KontorApplication.java:21) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) - at java.base/java.lang.reflect.Method.invoke(Method.java:565) - at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:52) -Caused by: java.lang.NoClassDefFoundError: org/hibernate/query/BindableType - at java.base/java.lang.ClassLoader.defineClass1(Native Method) - at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:962) - at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:144) - at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:776) - at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:691) - at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:620) - at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:578) - at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:490) - at java.base/java.lang.ClassLoader.defineClass1(Native Method) - at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:962) - at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:144) - at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:776) - at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:691) - at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:620) - at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:578) - at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:490) - at io.hypersistence.utils.hibernate.type.HibernateTypesContributor.contribute(HibernateTypesContributor.java:113) - at org.hibernate.boot.internal.MetadataBuilderImpl.applyTypes(MetadataBuilderImpl.java:299) - at java.base/java.lang.Iterable.forEach(Iterable.java:75) - at java.base/java.util.Collections$UnmodifiableCollection.forEach(Collections.java:1118) - at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.applyTypeContributors(EntityManagerFactoryBuilderImpl.java:1359) - at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.applyMetamodelBuilderSettings(EntityManagerFactoryBuilderImpl.java:1336) - at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.(EntityManagerFactoryBuilderImpl.java:226) - at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.(EntityManagerFactoryBuilderImpl.java:164) - at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:93) - at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:443) - at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:436) - at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:411) - at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:419) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1862) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1811) - ... 18 common frames omitted -Caused by: java.lang.ClassNotFoundException: org.hibernate.query.BindableType - at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:580) - at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:490) - ... 49 common frames omitted -2026-08-13 13:30:46,933 INFO o.s.b.StartupInfoLogger [restartedMain] Starting KontorApplication using Java 25.0.2 with PID 3605359 (/home/tpeetz/projects/kontor/kontor-spring/build/classes/java/main started by tpeetz in /home/tpeetz/projects/kontor/kontor-spring) -2026-08-13 13:30:46,935 INFO o.s.b.SpringApplication [restartedMain] The following 1 profile is active: "local" -2026-08-13 13:30:46,987 INFO o.s.b.l.LogLevel [restartedMain] For additional web related logging consider setting the 'logging.level.web' property to 'DEBUG' -2026-08-13 13:30:47,825 INFO o.s.d.r.c.RepositoryConfigurationDelegate [restartedMain] Bootstrapping Spring Data JPA repositories in DEFAULT mode. -2026-08-13 13:30:47,959 INFO o.s.d.r.c.RepositoryConfigurationDelegate [restartedMain] Finished Spring Data repository scanning in 127 ms. Found 34 JPA repository interfaces. -2026-08-13 13:30:48,480 INFO o.s.b.t.TomcatWebServer [restartedMain] Tomcat initialized with port 8085 (http) -2026-08-13 13:30:48,490 INFO o.a.j.l.DirectJDKLog [restartedMain] Initializing ProtocolHandler ["http-nio-8085"] -2026-08-13 13:30:48,491 INFO o.a.j.l.DirectJDKLog [restartedMain] Starting service [Tomcat] -2026-08-13 13:30:48,492 INFO o.a.j.l.DirectJDKLog [restartedMain] Starting Servlet engine: [Apache Tomcat/11.0.24] -2026-08-13 13:30:48,526 INFO o.s.b.w.c.s.WebApplicationContextInitializer [restartedMain] Root WebApplicationContext: initialization completed in 1538 ms -2026-08-13 13:30:51,344 INFO c.v.f.s.VaadinServletContextInitializer$DevModeServletContextListener [restartedMain] Search for subclasses and classes with annotations took 2533 ms -2026-08-13 13:30:51,401 INFO c.v.b.d.s.DevModeInitializer [restartedMain] Starting dev-mode updaters in /home/tpeetz/projects/kontor/kontor-spring folder. -2026-08-13 13:30:51,438 INFO c.v.f.s.f.s.FullDependenciesScanner [restartedMain] Visited 182 classes. Took 22 ms. -2026-08-13 13:30:51,440 INFO c.v.f.s.f.BundleValidationUtil [restartedMain] Checking if a development mode bundle build is needed -2026-08-13 13:30:51,543 INFO c.v.f.s.f.BundleValidationUtil [restartedMain] A development mode bundle build is not needed -2026-08-13 13:30:51,569 INFO c.v.f.s.f.TaskCopyFrontendFiles [vaadin-dev-server-1] Copying frontend resources from jar files ... -2026-08-13 13:30:51,632 INFO c.v.f.s.f.TaskCopyFrontendFiles [vaadin-dev-server-1] Visited 20 resources. Took 62 ms. -2026-08-13 13:30:51,683 INFO o.h.j.i.u.LogHelper [restartedMain] HHH008540: Processing PersistenceUnitInfo [name: default] -2026-08-13 13:30:51,731 INFO o.h.Version [restartedMain] HHH000001: Hibernate ORM core version 7.4.1.Final -2026-08-13 13:30:51,924 INFO c.z.h.HikariDataSource [restartedMain] HikariPool-1 - Starting... -2026-08-13 13:30:52,013 INFO c.z.h.p.HikariPool [restartedMain] HikariPool-1 - Added connection org.postgresql.jdbc.PgConnection@39cfc66 -2026-08-13 13:30:52,014 INFO c.z.h.HikariDataSource [restartedMain] HikariPool-1 - Start completed. -2026-08-13 13:30:52,054 INFO o.h.e.j.e.i.JdbcEnvironmentInitiator [restartedMain] HHH10001005: Database info: - Database JDBC URL [jdbc:postgresql://localhost:5432/kontor] - Database driver: PostgreSQL JDBC Driver - Database dialect: PostgreSQLDialect - Database version: 17.7 - Default catalog/schema: kontor/public - Autocommit mode: undefined/unknown - Isolation level: READ_COMMITTED [default READ_COMMITTED] - JDBC fetch size: none - Pool: DataSourceConnectionProvider - Minimum pool size: undefined/unknown - Maximum pool size: undefined/unknown -2026-08-13 13:30:52,219 INFO o.s.o.j.p.SpringPersistenceUnitInfo [restartedMain] No LoadTimeWeaver setup: ignoring JPA class transformer -2026-08-13 13:30:52,571 INFO o.h.v.i.u.Version [restartedMain] HV000001: Hibernate Validator 9.1.0.Final -2026-08-13 13:30:53,447 INFO o.h.e.t.j.p.i.JtaPlatformInitiator [restartedMain] HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) -2026-08-13 13:30:53,522 INFO o.s.o.j.AbstractEntityManagerFactoryBean [restartedMain] Initialized JPA EntityManagerFactory for persistence unit 'default' -2026-08-13 13:30:53,591 INFO o.s.d.j.r.q.QueryEnhancerFactories [restartedMain] Hibernate is in classpath; If applicable, HQL parser will be used. -2026-08-13 13:30:54,673 WARN o.s.b.j.a.JpaBaseConfiguration$JpaWebConfiguration [restartedMain] spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning -2026-08-13 13:30:54,749 INFO o.s.s.c.a.a.c.InitializeUserDetailsBeanManagerConfigurer$InitializeUserDetailsManagerConfigurer [restartedMain] Global AuthenticationManager configured with UserDetailsService bean with name userDetailsService -2026-08-13 13:30:55,202 DEBUG o.a.a.a.u.UUIDGenerator [restartedMain] using hardware address 5e:5c:62:ffffff8d:27:-27 -2026-08-13 13:30:55,374 INFO o.s.b.a.e.w.EndpointLinksResolver [restartedMain] Exposing 5 endpoints beneath base path '/actuator' -2026-08-13 13:30:55,502 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereHandler com.vaadin.flow.server.communication.PushAtmosphereHandler mapped to context-path: /* -2026-08-13 13:30:55,503 INFO o.a.c.AtmosphereFramework [restartedMain] Installed the following AtmosphereInterceptor mapped to AtmosphereHandler com.vaadin.flow.server.communication.PushAtmosphereHandler -2026-08-13 13:30:55,529 INFO o.a.c.AtmosphereFramework [restartedMain] Atmosphere is using org.atmosphere.util.VoidAnnotationProcessor for processing annotation -2026-08-13 13:30:55,535 INFO o.a.u.ForkJoinPool [restartedMain] Using ForkJoinPool java.util.concurrent.ForkJoinPool. Set the org.atmosphere.cpr.broadcaster.maxAsyncWriteThreads to -1 to fully use its power. -2026-08-13 13:30:55,539 INFO o.a.c.AtmosphereFramework [restartedMain] Installed WebSocketProtocol org.atmosphere.websocket.protocol.SimpleHttpProtocol -2026-08-13 13:30:55,544 INFO o.a.c.JSR356AsyncSupport [restartedMain] JSR 356 Mapping path /VAADIN/push -2026-08-13 13:30:55,554 INFO o.a.c.AtmosphereFramework [restartedMain] Installing Default AtmosphereInterceptors -2026-08-13 13:30:55,555 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.CorsInterceptor : CORS Interceptor Support -2026-08-13 13:30:55,555 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.CacheHeadersInterceptor : Default Response's Headers Interceptor -2026-08-13 13:30:55,556 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.PaddingAtmosphereInterceptor : Browser Padding Interceptor Support -2026-08-13 13:30:55,557 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.AndroidAtmosphereInterceptor : Android Interceptor Support -2026-08-13 13:30:55,557 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.HeartbeatInterceptor : Heartbeat Interceptor Support -2026-08-13 13:30:55,558 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.SSEAtmosphereInterceptor : SSE Interceptor Support -2026-08-13 13:30:55,558 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.JSONPAtmosphereInterceptor : JSONP Interceptor Support -2026-08-13 13:30:55,559 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.JavaScriptProtocol : Atmosphere JavaScript Protocol -2026-08-13 13:30:55,560 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.WebSocketMessageSuspendInterceptor : org.atmosphere.interceptor.WebSocketMessageSuspendInterceptor -2026-08-13 13:30:55,560 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.OnDisconnectInterceptor : Browser disconnection detection -2026-08-13 13:30:55,560 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.IdleResourceInterceptor : org.atmosphere.interceptor.IdleResourceInterceptor -2026-08-13 13:30:55,561 INFO o.a.c.AtmosphereFramework [restartedMain] Set org.atmosphere.cpr.AtmosphereInterceptor.disableDefaults to disable them. -2026-08-13 13:30:55,561 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor CORS Interceptor Support with priority FIRST_BEFORE_DEFAULT -2026-08-13 13:30:55,562 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor Default Response's Headers Interceptor with priority AFTER_DEFAULT -2026-08-13 13:30:55,562 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor Browser Padding Interceptor Support with priority AFTER_DEFAULT -2026-08-13 13:30:55,562 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor Android Interceptor Support with priority AFTER_DEFAULT -2026-08-13 13:30:55,562 INFO o.a.i.HeartbeatInterceptor [restartedMain] HeartbeatInterceptor configured with padding value 'X', client frequency 0 seconds and server frequency 60 seconds -2026-08-13 13:30:55,563 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor Heartbeat Interceptor Support with priority AFTER_DEFAULT -2026-08-13 13:30:55,563 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor SSE Interceptor Support with priority AFTER_DEFAULT -2026-08-13 13:30:55,563 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor JSONP Interceptor Support with priority AFTER_DEFAULT -2026-08-13 13:30:55,564 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor Atmosphere JavaScript Protocol with priority AFTER_DEFAULT -2026-08-13 13:30:55,564 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor org.atmosphere.interceptor.WebSocketMessageSuspendInterceptor with priority AFTER_DEFAULT -2026-08-13 13:30:55,564 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor Browser disconnection detection with priority AFTER_DEFAULT -2026-08-13 13:30:55,564 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor org.atmosphere.interceptor.IdleResourceInterceptor with priority BEFORE_DEFAULT -2026-08-13 13:30:55,565 INFO o.a.c.AtmosphereFramework [restartedMain] Using EndpointMapper class org.atmosphere.util.DefaultEndpointMapper -2026-08-13 13:30:55,566 INFO o.a.c.AtmosphereFramework [restartedMain] Using BroadcasterCache: org.atmosphere.cache.UUIDBroadcasterCache -2026-08-13 13:30:55,566 INFO o.a.c.AtmosphereFramework [restartedMain] Default Broadcaster Class: org.atmosphere.cpr.DefaultBroadcaster -2026-08-13 13:30:55,567 INFO o.a.c.AtmosphereFramework [restartedMain] Broadcaster Shared List Resources: false -2026-08-13 13:30:55,568 INFO o.a.c.AtmosphereFramework [restartedMain] Broadcaster Polling Wait Time 100 -2026-08-13 13:30:55,568 INFO o.a.c.AtmosphereFramework [restartedMain] Shared ExecutorService supported: true -2026-08-13 13:30:55,569 INFO o.a.c.AtmosphereFramework [restartedMain] Messaging ExecutorService Pool Size unavailable - Not instance of ThreadPoolExecutor -2026-08-13 13:30:55,569 INFO o.a.c.AtmosphereFramework [restartedMain] Async I/O Thread Pool Size: 200 -2026-08-13 13:30:55,569 INFO o.a.c.AtmosphereFramework [restartedMain] Using BroadcasterFactory: org.atmosphere.cpr.DefaultBroadcasterFactory -2026-08-13 13:30:55,569 INFO o.a.c.AtmosphereFramework [restartedMain] Using AtmosphereResurceFactory: org.atmosphere.cpr.DefaultAtmosphereResourceFactory -2026-08-13 13:30:55,570 INFO o.a.c.AtmosphereFramework [restartedMain] Using WebSocketProcessor: org.atmosphere.websocket.DefaultWebSocketProcessor -2026-08-13 13:30:55,572 INFO o.a.c.AtmosphereFramework [restartedMain] Invoke AtmosphereInterceptor on WebSocket message true -2026-08-13 13:30:55,572 INFO o.a.c.AtmosphereFramework [restartedMain] HttpSession supported: true -2026-08-13 13:30:55,573 INFO o.a.c.AtmosphereFramework [restartedMain] Atmosphere is using org.atmosphere.inject.InjectableObjectFactory for dependency injection and object creation -2026-08-13 13:30:55,573 INFO o.a.c.AtmosphereFramework [restartedMain] Atmosphere is using async support: org.atmosphere.container.JSR356AsyncSupport running under container: Apache Tomcat/11.0.24 using jakarta.servlet/3.0 and jsr356/WebSocket API -2026-08-13 13:30:55,573 INFO o.a.c.AtmosphereFramework [restartedMain] Atmosphere Framework 3.0.5.slf4jvaadin1 started. -2026-08-13 13:30:55,576 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor Track Message Size Interceptor using | with priority BEFORE_DEFAULT -2026-08-13 13:30:55,622 INFO o.a.j.l.DirectJDKLog [restartedMain] Starting ProtocolHandler ["http-nio-8085"] -2026-08-13 13:30:55,644 INFO c.v.f.s.DefaultDeploymentConfiguration [restartedMain] -Vaadin is running in DEVELOPMENT mode - do not use for production deployments. -2026-08-13 13:30:55,708 INFO o.s.b.t.TomcatWebServer [restartedMain] Tomcat started on port 8085 (http) with context path '/' -2026-08-13 13:30:55,894 INFO o.a.c.i.e.AbstractCamelContext [restartedMain] Apache Camel 4.10.6 (camel-1) is starting -2026-08-13 13:30:55,915 DEBUG o.a.a.a.c.c.i.ClientSessionFactoryImpl [restartedMain] Trying reconnection attempt 0/1 -2026-08-13 13:30:55,915 DEBUG o.a.a.a.c.c.i.ClientSessionFactoryImpl [restartedMain] Trying to connect with connectorFactory=org.apache.activemq.artemis.core.remoting.impl.netty.NettyConnectorFactory@719ec6dc and currentConnectorConfig: TransportConfiguration(name=null, factory=org-apache-activemq-artemis-core-remoting-impl-netty-NettyConnectorFactory)?port=61616&host=localhost -2026-08-13 13:30:55,977 DEBUG o.a.a.a.c.r.i.n.NettyConnector [restartedMain] Connector NettyConnector [host=localhost, port=61616, httpEnabled=false, httpUpgradeEnabled=false, useServlet=false, servletPath=/messaging/ActiveMQServlet, sslEnabled=false, useNio=true] using native epoll -2026-08-13 13:30:55,994 DEBUG o.a.a.a.c.r.i.n.NettyConnector [restartedMain] Started EPOLL Netty Connector version 4.2.15.Final to localhost:61616 -2026-08-13 13:30:55,995 DEBUG o.a.a.a.c.r.i.n.NettyConnector [restartedMain] Remote destination: localhost/127.0.0.1:61616 -2026-08-13 13:30:56,051 DEBUG o.a.a.a.c.r.i.n.NettyConnector$1 [Thread-0 (activemq-client-remoting)] Added ActiveMQClientChannelHandler to Channel with id = 8d4af4e5 -2026-08-13 13:30:56,060 DEBUG o.a.a.a.c.c.i.ClientSessionFactoryImpl [restartedMain] Connected with the currentConnectorConfig=TransportConfiguration(name=null, factory=org-apache-activemq-artemis-core-remoting-impl-netty-NettyConnectorFactory)?port=61616&host=localhost -2026-08-13 13:30:56,118 DEBUG o.a.a.a.c.c.i.ClientSessionFactoryImpl [restartedMain] Reconnection successful -2026-08-13 13:30:56,119 DEBUG o.a.a.a.c.c.i.ClientSessionFactoryImpl [restartedMain] ClientSessionFactoryImpl received backup update for primary/backup pair = TransportConfiguration(name=null, factory=org-apache-activemq-artemis-core-remoting-impl-netty-NettyConnectorFactory)?port=61616&host=localhost / null but it didn't belong to TransportConfiguration(name=null, factory=org-apache-activemq-artemis-core-remoting-impl-netty-NettyConnectorFactory)?port=61616&host=localhost -2026-08-13 13:30:56,166 DEBUG o.s.j.c.SingleConnectionFactory [restartedMain] Established shared JMS Connection: org.apache.activemq.artemis.jms.client.ActiveMQConnection@6d470f33 -2026-08-13 13:30:56,173 INFO o.a.c.i.e.AbstractCamelContext [restartedMain] Routes startup (total:3) -2026-08-13 13:30:56,173 INFO o.a.c.i.e.AbstractCamelContext [restartedMain] Started read-queue-media-link-add (jms://queue:media.link.add) -2026-08-13 13:30:56,173 INFO o.a.c.i.e.AbstractCamelContext [restartedMain] Started read-queue-media-lofi-add (jms://queue:media.lofi.add) -2026-08-13 13:30:56,174 INFO o.a.c.i.e.AbstractCamelContext [restartedMain] Started read-queue-media-video-add (jms://queue:media.video.add) -2026-08-13 13:30:56,174 INFO o.a.c.i.e.AbstractCamelContext [restartedMain] Apache Camel 4.10.6 (camel-1) started in 278ms (build:0ms init:0ms start:278ms boot:1s747ms) -2026-08-13 13:30:56,177 INFO d.t.k.s.SetupModuleBookshelf [restartedMain] Set up Bookshelf data -2026-08-13 13:30:56,178 INFO d.t.k.s.SetupModuleComics [restartedMain] Set up Comics data -2026-08-13 13:30:56,179 INFO d.t.k.s.SetupModuleMedia [restartedMain] Set up Media data -2026-08-13 13:30:56,179 INFO d.t.k.s.SetupModuleTysc [restartedMain] Setp up TYSC data -2026-08-13 13:30:56,181 DEBUG o.s.j.c.CachingConnectionFactory [Camel (camel-1) thread #1 - JmsConsumer[media.link.add]] Registering cached JMS Session for mode 1: ActiveMQSession->ClientSessionImpl [name=7319491d-970a-11f1-a9d0-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@7bd72835, metaData=()]@2dd836eb -2026-08-13 13:30:56,183 INFO o.s.b.StartupInfoLogger [restartedMain] Started KontorApplication in 9.682 seconds (process running for 10.044) -2026-08-13 13:30:56,183 DEBUG o.s.j.c.CachingConnectionFactory [Camel (camel-1) thread #2 - JmsConsumer[media.lofi.add]] Registering cached JMS Session for mode 1: ActiveMQSession->ClientSessionImpl [name=731a819e-970a-11f1-a9d0-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@7bd72835, metaData=()]@4b89065c -2026-08-13 13:30:56,186 DEBUG o.s.j.c.CachingConnectionFactory [Camel (camel-1) thread #3 - JmsConsumer[media.video.add]] Registering cached JMS Session for mode 1: ActiveMQSession->ClientSessionImpl [name=731b44ef-970a-11f1-a9d0-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@7bd72835, metaData=()]@7526bf52 -2026-08-13 13:30:56,252 INFO c.v.b.d.DevModeHandlerManagerImpl [restartedMain] Application running at http://localhost:8085/ -2026-08-13 13:31:20,840 INFO o.a.j.l.DirectJDKLog [http-nio-8085-exec-1] Initializing Spring DispatcherServlet 'dispatcherServlet' -2026-08-13 13:31:20,841 INFO o.s.w.s.FrameworkServlet [http-nio-8085-exec-1] Initializing Servlet 'dispatcherServlet' -2026-08-13 13:31:20,843 INFO o.s.w.s.FrameworkServlet [http-nio-8085-exec-1] Completed initialization in 2 ms -2026-08-13 13:32:13,988 INFO o.s.b.t.GracefulShutdown [SpringApplicationShutdownHook] Commencing graceful shutdown. Waiting for active requests to complete -2026-08-13 13:32:13,990 INFO o.s.b.t.GracefulShutdown [tomcat-shutdown] Graceful shutdown complete -2026-08-13 13:32:13,993 INFO o.a.c.i.e.AbstractCamelContext [SpringApplicationShutdownHook] Apache Camel 4.10.6 (camel-1) is shutting down (timeout:45s) -2026-08-13 13:32:14,354 DEBUG o.s.j.c.CachingConnectionFactory$CachedSessionInvocationHandler [Camel (camel-1) thread #1 - JmsConsumer[media.link.add]] Closing cached Session: ActiveMQSession->ClientSessionImpl [name=7319491d-970a-11f1-a9d0-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@7bd72835, metaData=()]@2dd836eb -2026-08-13 13:32:14,354 DEBUG o.s.j.c.CachingConnectionFactory$CachedSessionInvocationHandler [Camel (camel-1) thread #3 - JmsConsumer[media.video.add]] Closing cached Session: ActiveMQSession->ClientSessionImpl [name=731b44ef-970a-11f1-a9d0-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@7bd72835, metaData=()]@7526bf52 -2026-08-13 13:32:14,354 DEBUG o.a.a.a.c.c.i.ClientSessionImpl [Camel (camel-1) thread #1 - JmsConsumer[media.link.add]] Calling close on session ClientSessionImpl [name=7319491d-970a-11f1-a9d0-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@7bd72835, metaData=()]@2dd836eb -2026-08-13 13:32:14,356 DEBUG o.a.a.a.c.c.i.ClientSessionImpl [Camel (camel-1) thread #1 - JmsConsumer[media.link.add]] calling cleanup on ClientSessionImpl [name=7319491d-970a-11f1-a9d0-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@7bd72835, metaData=()]@2dd836eb -2026-08-13 13:32:14,364 DEBUG o.a.a.a.c.c.i.ClientSessionImpl [Camel (camel-1) thread #3 - JmsConsumer[media.video.add]] Calling close on session ClientSessionImpl [name=731b44ef-970a-11f1-a9d0-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@7bd72835, metaData=()]@7526bf52 -2026-08-13 13:32:14,365 DEBUG o.a.a.a.c.c.i.ClientSessionImpl [Camel (camel-1) thread #3 - JmsConsumer[media.video.add]] calling cleanup on ClientSessionImpl [name=731b44ef-970a-11f1-a9d0-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@7bd72835, metaData=()]@7526bf52 -2026-08-13 13:32:14,368 INFO o.a.c.s.CamelLogger [SpringApplicationShutdownHook] Routes stopped (total:3) -2026-08-13 13:32:14,368 INFO o.a.c.s.CamelLogger [SpringApplicationShutdownHook] Stopped read-queue-media-video-add (jms://queue:media.video.add) -2026-08-13 13:32:14,368 INFO o.a.c.s.CamelLogger [SpringApplicationShutdownHook] Stopped read-queue-media-lofi-add (jms://queue:media.lofi.add) -2026-08-13 13:32:14,368 INFO o.a.c.s.CamelLogger [SpringApplicationShutdownHook] Stopped read-queue-media-link-add (jms://queue:media.link.add) -2026-08-13 13:32:14,371 INFO o.a.c.i.e.AbstractCamelContext [SpringApplicationShutdownHook] Apache Camel 4.10.6 (camel-1) shutdown in 378ms (uptime:1m18s) -2026-08-13 13:32:14,371 DEBUG o.s.j.c.CachingConnectionFactory$CachedSessionInvocationHandler [SpringApplicationShutdownHook] Closing cached Session: ActiveMQSession->ClientSessionImpl [name=731a819e-970a-11f1-a9d0-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@7bd72835, metaData=()]@4b89065c -2026-08-13 13:32:14,371 DEBUG o.a.a.a.c.c.i.ClientSessionImpl [SpringApplicationShutdownHook] Calling close on session ClientSessionImpl [name=731a819e-970a-11f1-a9d0-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@7bd72835, metaData=()]@4b89065c -2026-08-13 13:32:14,372 DEBUG o.a.a.a.c.c.i.ClientSessionImpl [SpringApplicationShutdownHook] calling cleanup on ClientSessionImpl [name=731a819e-970a-11f1-a9d0-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@7bd72835, metaData=()]@4b89065c -2026-08-13 13:32:14,373 DEBUG o.s.j.c.SingleConnectionFactory [SpringApplicationShutdownHook] Closing shared JMS Connection: org.apache.activemq.artemis.jms.client.ActiveMQConnection@6d470f33 -2026-08-13 13:32:14,373 DEBUG o.a.a.a.c.c.i.ClientSessionImpl [SpringApplicationShutdownHook] Calling close on session ClientSessionImpl [name=73148e2c-970a-11f1-a9d0-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@7bd72835, metaData=(jms-session=,)]@6a4cf06b -2026-08-13 13:32:14,374 DEBUG o.a.a.a.c.c.i.ClientSessionImpl [SpringApplicationShutdownHook] calling cleanup on ClientSessionImpl [name=73148e2c-970a-11f1-a9d0-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@7bd72835, metaData=(jms-session=,)]@6a4cf06b -2026-08-13 13:32:14,376 DEBUG o.a.a.a.c.c.i.ClientSessionFactoryImpl [Thread-1 (activemq-client-global)] Failure captured on connectionID=8d4af4e5, performing failover or reconnection now -org.apache.activemq.artemis.api.core.ActiveMQNotConnectedException: [errorType=NOT_CONNECTED message=AMQ219006: Channel disconnected] - at org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl.connectionDestroyed(ClientSessionFactoryImpl.java:413) - at org.apache.activemq.artemis.core.remoting.impl.netty.NettyConnector$Listener.lambda$connectionDestroyed$0(NettyConnector.java:1199) - at org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:59) - at org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:32) - at org.apache.activemq.artemis.utils.actors.ProcessorBase.executePendingTasks(ProcessorBase.java:69) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1090) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614) - at org.apache.activemq.artemis.utils.ActiveMQThreadFactory$1.run(ActiveMQThreadFactory.java:120) -2026-08-13 13:32:14,379 DEBUG o.a.a.a.c.c.i.ClientSessionImpl [SpringApplicationShutdownHook] Session was already closed, giving up now, this=ClientSessionImpl [name=73148e2c-970a-11f1-a9d0-5e5c628d27e5, username=artemis, closed=true, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@7bd72835, metaData=(jms-session=,)]@6a4cf06b -2026-08-13 13:32:14,387 INFO o.s.o.j.AbstractEntityManagerFactoryBean [SpringApplicationShutdownHook] Closing JPA EntityManagerFactory for persistence unit 'default' -2026-08-13 13:32:14,390 INFO c.z.h.HikariDataSource [SpringApplicationShutdownHook] HikariPool-1 - Shutdown initiated... -2026-08-13 13:32:14,393 INFO c.z.h.HikariDataSource [SpringApplicationShutdownHook] HikariPool-1 - Shutdown completed. -2026-08-13 13:32:46,746 INFO o.s.b.StartupInfoLogger [restartedMain] Starting KontorApplication using Java 25.0.2 with PID 3625944 (/home/tpeetz/projects/kontor/kontor-spring/build/classes/java/main started by tpeetz in /home/tpeetz/projects/kontor/kontor-spring) -2026-08-13 13:32:46,748 INFO o.s.b.SpringApplication [restartedMain] The following 1 profile is active: "local" -2026-08-13 13:32:46,808 INFO o.s.b.l.LogLevel [restartedMain] For additional web related logging consider setting the 'logging.level.web' property to 'DEBUG' -2026-08-13 13:32:47,713 INFO o.s.d.r.c.RepositoryConfigurationDelegate [restartedMain] Bootstrapping Spring Data JPA repositories in DEFAULT mode. -2026-08-13 13:32:47,887 INFO o.s.d.r.c.RepositoryConfigurationDelegate [restartedMain] Finished Spring Data repository scanning in 166 ms. Found 34 JPA repository interfaces. -2026-08-13 13:32:48,437 INFO o.s.b.t.TomcatWebServer [restartedMain] Tomcat initialized with port 8085 (http) -2026-08-13 13:32:48,446 INFO o.a.j.l.DirectJDKLog [restartedMain] Initializing ProtocolHandler ["http-nio-8085"] -2026-08-13 13:32:48,448 INFO o.a.j.l.DirectJDKLog [restartedMain] Starting service [Tomcat] -2026-08-13 13:32:48,448 INFO o.a.j.l.DirectJDKLog [restartedMain] Starting Servlet engine: [Apache Tomcat/11.0.24] -2026-08-13 13:32:48,484 INFO o.s.b.w.c.s.WebApplicationContextInitializer [restartedMain] Root WebApplicationContext: initialization completed in 1675 ms -2026-08-13 13:32:51,317 INFO c.v.f.s.VaadinServletContextInitializer$DevModeServletContextListener [restartedMain] Search for subclasses and classes with annotations took 2545 ms -2026-08-13 13:32:51,376 INFO c.v.b.d.s.DevModeInitializer [restartedMain] Starting dev-mode updaters in /home/tpeetz/projects/kontor/kontor-spring folder. -2026-08-13 13:32:51,407 INFO c.v.f.s.f.s.FullDependenciesScanner [restartedMain] Visited 182 classes. Took 18 ms. -2026-08-13 13:32:51,409 INFO c.v.f.s.f.BundleValidationUtil [restartedMain] Checking if a development mode bundle build is needed -2026-08-13 13:32:51,524 INFO c.v.f.s.f.BundleValidationUtil [restartedMain] A development mode bundle build is not needed -2026-08-13 13:32:51,548 INFO c.v.f.s.f.TaskCopyFrontendFiles [vaadin-dev-server-1] Copying frontend resources from jar files ... -2026-08-13 13:32:51,622 INFO c.v.f.s.f.TaskCopyFrontendFiles [vaadin-dev-server-1] Visited 20 resources. Took 73 ms. -2026-08-13 13:32:51,670 INFO o.h.j.i.u.LogHelper [restartedMain] HHH008540: Processing PersistenceUnitInfo [name: default] -2026-08-13 13:32:51,719 INFO o.h.Version [restartedMain] HHH000001: Hibernate ORM core version 7.4.1.Final -2026-08-13 13:32:51,904 INFO c.z.h.HikariDataSource [restartedMain] HikariPool-1 - Starting... -2026-08-13 13:32:51,992 INFO c.z.h.p.HikariPool [restartedMain] HikariPool-1 - Added connection org.postgresql.jdbc.PgConnection@16174d06 -2026-08-13 13:32:51,994 INFO c.z.h.HikariDataSource [restartedMain] HikariPool-1 - Start completed. -2026-08-13 13:32:52,037 INFO o.h.e.j.e.i.JdbcEnvironmentInitiator [restartedMain] HHH10001005: Database info: - Database JDBC URL [jdbc:postgresql://localhost:5432/kontor] - Database driver: PostgreSQL JDBC Driver - Database dialect: PostgreSQLDialect - Database version: 17.7 - Default catalog/schema: kontor/public - Autocommit mode: undefined/unknown - Isolation level: READ_COMMITTED [default READ_COMMITTED] - JDBC fetch size: none - Pool: DataSourceConnectionProvider - Minimum pool size: undefined/unknown - Maximum pool size: undefined/unknown -2026-08-13 13:32:52,198 INFO o.s.o.j.p.SpringPersistenceUnitInfo [restartedMain] No LoadTimeWeaver setup: ignoring JPA class transformer -2026-08-13 13:32:52,586 INFO o.h.v.i.u.Version [restartedMain] HV000001: Hibernate Validator 9.1.0.Final -2026-08-13 13:32:53,494 INFO o.h.e.t.j.p.i.JtaPlatformInitiator [restartedMain] HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) -2026-08-13 13:32:53,562 INFO o.s.o.j.AbstractEntityManagerFactoryBean [restartedMain] Initialized JPA EntityManagerFactory for persistence unit 'default' -2026-08-13 13:32:53,630 INFO o.s.d.j.r.q.QueryEnhancerFactories [restartedMain] Hibernate is in classpath; If applicable, HQL parser will be used. -2026-08-13 13:32:54,714 WARN o.s.b.j.a.JpaBaseConfiguration$JpaWebConfiguration [restartedMain] spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning -2026-08-13 13:32:54,775 INFO o.s.s.c.a.a.c.InitializeUserDetailsBeanManagerConfigurer$InitializeUserDetailsManagerConfigurer [restartedMain] Global AuthenticationManager configured with UserDetailsService bean with name userDetailsService -2026-08-13 13:32:55,256 DEBUG o.a.a.a.u.UUIDGenerator [restartedMain] using hardware address 5e:5c:62:ffffff8d:27:-27 -2026-08-13 13:32:55,430 INFO o.s.b.a.e.w.EndpointLinksResolver [restartedMain] Exposing 5 endpoints beneath base path '/actuator' -2026-08-13 13:32:55,546 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereHandler com.vaadin.flow.server.communication.PushAtmosphereHandler mapped to context-path: /* -2026-08-13 13:32:55,546 INFO o.a.c.AtmosphereFramework [restartedMain] Installed the following AtmosphereInterceptor mapped to AtmosphereHandler com.vaadin.flow.server.communication.PushAtmosphereHandler -2026-08-13 13:32:55,573 INFO o.a.c.AtmosphereFramework [restartedMain] Atmosphere is using org.atmosphere.util.VoidAnnotationProcessor for processing annotation -2026-08-13 13:32:55,579 INFO o.a.u.ForkJoinPool [restartedMain] Using ForkJoinPool java.util.concurrent.ForkJoinPool. Set the org.atmosphere.cpr.broadcaster.maxAsyncWriteThreads to -1 to fully use its power. -2026-08-13 13:32:55,584 INFO o.a.c.AtmosphereFramework [restartedMain] Installed WebSocketProtocol org.atmosphere.websocket.protocol.SimpleHttpProtocol -2026-08-13 13:32:55,587 INFO o.a.c.JSR356AsyncSupport [restartedMain] JSR 356 Mapping path /VAADIN/push -2026-08-13 13:32:55,600 INFO o.a.c.AtmosphereFramework [restartedMain] Installing Default AtmosphereInterceptors -2026-08-13 13:32:55,601 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.CorsInterceptor : CORS Interceptor Support -2026-08-13 13:32:55,602 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.CacheHeadersInterceptor : Default Response's Headers Interceptor -2026-08-13 13:32:55,602 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.PaddingAtmosphereInterceptor : Browser Padding Interceptor Support -2026-08-13 13:32:55,603 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.AndroidAtmosphereInterceptor : Android Interceptor Support -2026-08-13 13:32:55,603 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.HeartbeatInterceptor : Heartbeat Interceptor Support -2026-08-13 13:32:55,604 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.SSEAtmosphereInterceptor : SSE Interceptor Support -2026-08-13 13:32:55,604 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.JSONPAtmosphereInterceptor : JSONP Interceptor Support -2026-08-13 13:32:55,605 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.JavaScriptProtocol : Atmosphere JavaScript Protocol -2026-08-13 13:32:55,605 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.WebSocketMessageSuspendInterceptor : org.atmosphere.interceptor.WebSocketMessageSuspendInterceptor -2026-08-13 13:32:55,605 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.OnDisconnectInterceptor : Browser disconnection detection -2026-08-13 13:32:55,606 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.IdleResourceInterceptor : org.atmosphere.interceptor.IdleResourceInterceptor -2026-08-13 13:32:55,606 INFO o.a.c.AtmosphereFramework [restartedMain] Set org.atmosphere.cpr.AtmosphereInterceptor.disableDefaults to disable them. -2026-08-13 13:32:55,606 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor CORS Interceptor Support with priority FIRST_BEFORE_DEFAULT -2026-08-13 13:32:55,606 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor Default Response's Headers Interceptor with priority AFTER_DEFAULT -2026-08-13 13:32:55,607 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor Browser Padding Interceptor Support with priority AFTER_DEFAULT -2026-08-13 13:32:55,607 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor Android Interceptor Support with priority AFTER_DEFAULT -2026-08-13 13:32:55,607 INFO o.a.i.HeartbeatInterceptor [restartedMain] HeartbeatInterceptor configured with padding value 'X', client frequency 0 seconds and server frequency 60 seconds -2026-08-13 13:32:55,607 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor Heartbeat Interceptor Support with priority AFTER_DEFAULT -2026-08-13 13:32:55,608 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor SSE Interceptor Support with priority AFTER_DEFAULT -2026-08-13 13:32:55,608 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor JSONP Interceptor Support with priority AFTER_DEFAULT -2026-08-13 13:32:55,608 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor Atmosphere JavaScript Protocol with priority AFTER_DEFAULT -2026-08-13 13:32:55,608 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor org.atmosphere.interceptor.WebSocketMessageSuspendInterceptor with priority AFTER_DEFAULT -2026-08-13 13:32:55,608 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor Browser disconnection detection with priority AFTER_DEFAULT -2026-08-13 13:32:55,609 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor org.atmosphere.interceptor.IdleResourceInterceptor with priority BEFORE_DEFAULT -2026-08-13 13:32:55,609 INFO o.a.c.AtmosphereFramework [restartedMain] Using EndpointMapper class org.atmosphere.util.DefaultEndpointMapper -2026-08-13 13:32:55,610 INFO o.a.c.AtmosphereFramework [restartedMain] Using BroadcasterCache: org.atmosphere.cache.UUIDBroadcasterCache -2026-08-13 13:32:55,610 INFO o.a.c.AtmosphereFramework [restartedMain] Default Broadcaster Class: org.atmosphere.cpr.DefaultBroadcaster -2026-08-13 13:32:55,610 INFO o.a.c.AtmosphereFramework [restartedMain] Broadcaster Shared List Resources: false -2026-08-13 13:32:55,610 INFO o.a.c.AtmosphereFramework [restartedMain] Broadcaster Polling Wait Time 100 -2026-08-13 13:32:55,611 INFO o.a.c.AtmosphereFramework [restartedMain] Shared ExecutorService supported: true -2026-08-13 13:32:55,611 INFO o.a.c.AtmosphereFramework [restartedMain] Messaging ExecutorService Pool Size unavailable - Not instance of ThreadPoolExecutor -2026-08-13 13:32:55,611 INFO o.a.c.AtmosphereFramework [restartedMain] Async I/O Thread Pool Size: 200 -2026-08-13 13:32:55,611 INFO o.a.c.AtmosphereFramework [restartedMain] Using BroadcasterFactory: org.atmosphere.cpr.DefaultBroadcasterFactory -2026-08-13 13:32:55,611 INFO o.a.c.AtmosphereFramework [restartedMain] Using AtmosphereResurceFactory: org.atmosphere.cpr.DefaultAtmosphereResourceFactory -2026-08-13 13:32:55,612 INFO o.a.c.AtmosphereFramework [restartedMain] Using WebSocketProcessor: org.atmosphere.websocket.DefaultWebSocketProcessor -2026-08-13 13:32:55,614 INFO o.a.c.AtmosphereFramework [restartedMain] Invoke AtmosphereInterceptor on WebSocket message true -2026-08-13 13:32:55,614 INFO o.a.c.AtmosphereFramework [restartedMain] HttpSession supported: true -2026-08-13 13:32:55,615 INFO o.a.c.AtmosphereFramework [restartedMain] Atmosphere is using org.atmosphere.inject.InjectableObjectFactory for dependency injection and object creation -2026-08-13 13:32:55,615 INFO o.a.c.AtmosphereFramework [restartedMain] Atmosphere is using async support: org.atmosphere.container.JSR356AsyncSupport running under container: Apache Tomcat/11.0.24 using jakarta.servlet/3.0 and jsr356/WebSocket API -2026-08-13 13:32:55,615 INFO o.a.c.AtmosphereFramework [restartedMain] Atmosphere Framework 3.0.5.slf4jvaadin1 started. -2026-08-13 13:32:55,618 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor Track Message Size Interceptor using | with priority BEFORE_DEFAULT -2026-08-13 13:32:55,655 INFO o.a.j.l.DirectJDKLog [restartedMain] Starting ProtocolHandler ["http-nio-8085"] -2026-08-13 13:32:55,672 INFO c.v.f.s.DefaultDeploymentConfiguration [restartedMain] -Vaadin is running in DEVELOPMENT mode - do not use for production deployments. -2026-08-13 13:32:55,736 INFO o.s.b.t.TomcatWebServer [restartedMain] Tomcat started on port 8085 (http) with context path '/' -2026-08-13 13:32:55,913 INFO o.a.c.i.e.AbstractCamelContext [restartedMain] Apache Camel 4.10.6 (camel-1) is starting -2026-08-13 13:32:55,930 DEBUG o.a.a.a.c.c.i.ClientSessionFactoryImpl [restartedMain] Trying reconnection attempt 0/1 -2026-08-13 13:32:55,930 DEBUG o.a.a.a.c.c.i.ClientSessionFactoryImpl [restartedMain] Trying to connect with connectorFactory=org.apache.activemq.artemis.core.remoting.impl.netty.NettyConnectorFactory@1b544b69 and currentConnectorConfig: TransportConfiguration(name=null, factory=org-apache-activemq-artemis-core-remoting-impl-netty-NettyConnectorFactory)?port=61616&host=localhost -2026-08-13 13:32:55,981 DEBUG o.a.a.a.c.r.i.n.NettyConnector [restartedMain] Connector NettyConnector [host=localhost, port=61616, httpEnabled=false, httpUpgradeEnabled=false, useServlet=false, servletPath=/messaging/ActiveMQServlet, sslEnabled=false, useNio=true] using native epoll -2026-08-13 13:32:55,994 DEBUG o.a.a.a.c.r.i.n.NettyConnector [restartedMain] Started EPOLL Netty Connector version 4.2.15.Final to localhost:61616 -2026-08-13 13:32:55,994 DEBUG o.a.a.a.c.r.i.n.NettyConnector [restartedMain] Remote destination: localhost/127.0.0.1:61616 -2026-08-13 13:32:56,049 DEBUG o.a.a.a.c.r.i.n.NettyConnector$1 [Thread-0 (activemq-client-remoting)] Added ActiveMQClientChannelHandler to Channel with id = afabb530 -2026-08-13 13:32:56,066 DEBUG o.a.a.a.c.c.i.ClientSessionFactoryImpl [restartedMain] Connected with the currentConnectorConfig=TransportConfiguration(name=null, factory=org-apache-activemq-artemis-core-remoting-impl-netty-NettyConnectorFactory)?port=61616&host=localhost -2026-08-13 13:32:56,136 DEBUG o.a.a.a.c.c.i.ClientSessionFactoryImpl [restartedMain] Reconnection successful -2026-08-13 13:32:56,137 DEBUG o.a.a.a.c.c.i.ClientSessionFactoryImpl [restartedMain] ClientSessionFactoryImpl received backup update for primary/backup pair = TransportConfiguration(name=null, factory=org-apache-activemq-artemis-core-remoting-impl-netty-NettyConnectorFactory)?port=61616&host=localhost / null but it didn't belong to TransportConfiguration(name=null, factory=org-apache-activemq-artemis-core-remoting-impl-netty-NettyConnectorFactory)?port=61616&host=localhost -2026-08-13 13:32:56,162 DEBUG o.s.j.c.SingleConnectionFactory [restartedMain] Established shared JMS Connection: org.apache.activemq.artemis.jms.client.ActiveMQConnection@4b9df579 -2026-08-13 13:32:56,168 INFO o.a.c.i.e.AbstractCamelContext [restartedMain] Routes startup (total:3) -2026-08-13 13:32:56,168 INFO o.a.c.i.e.AbstractCamelContext [restartedMain] Started read-queue-media-link-add (jms://queue:media.link.add) -2026-08-13 13:32:56,168 INFO o.a.c.i.e.AbstractCamelContext [restartedMain] Started read-queue-media-lofi-add (jms://queue:media.lofi.add) -2026-08-13 13:32:56,168 INFO o.a.c.i.e.AbstractCamelContext [restartedMain] Started read-queue-media-video-add (jms://queue:media.video.add) -2026-08-13 13:32:56,168 INFO o.a.c.i.e.AbstractCamelContext [restartedMain] Apache Camel 4.10.6 (camel-1) started in 255ms (build:0ms init:0ms start:255ms boot:1s724ms) -2026-08-13 13:32:56,170 INFO d.t.k.s.SetupModuleBookshelf [restartedMain] Set up Bookshelf data -2026-08-13 13:32:56,170 INFO d.t.k.s.SetupModuleComics [restartedMain] Set up Comics data -2026-08-13 13:32:56,170 INFO d.t.k.s.SetupModuleMedia [restartedMain] Set up Media data -2026-08-13 13:32:56,170 INFO d.t.k.s.SetupModuleTysc [restartedMain] Setp up TYSC data -2026-08-13 13:32:56,172 INFO o.s.b.StartupInfoLogger [restartedMain] Started KontorApplication in 9.917 seconds (process running for 10.282) -2026-08-13 13:32:56,175 DEBUG o.s.j.c.CachingConnectionFactory [Camel (camel-1) thread #1 - JmsConsumer[media.link.add]] Registering cached JMS Session for mode 1: ActiveMQSession->ClientSessionImpl [name=ba9f121e-970a-11f1-bd12-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@5a14362b, metaData=()]@6bf4a04a -2026-08-13 13:32:56,175 DEBUG o.s.j.c.CachingConnectionFactory [Camel (camel-1) thread #2 - JmsConsumer[media.lofi.add]] Registering cached JMS Session for mode 1: ActiveMQSession->ClientSessionImpl [name=baa04a9f-970a-11f1-bd12-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@5a14362b, metaData=()]@149b8951 -2026-08-13 13:32:56,177 DEBUG o.s.j.c.CachingConnectionFactory [Camel (camel-1) thread #3 - JmsConsumer[media.video.add]] Registering cached JMS Session for mode 1: ActiveMQSession->ClientSessionImpl [name=baa098c0-970a-11f1-bd12-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@5a14362b, metaData=()]@6e775f21 -2026-08-13 13:32:56,233 INFO c.v.b.d.DevModeHandlerManagerImpl [restartedMain] Application running at http://localhost:8085/ -2026-08-13 13:33:00,085 INFO o.a.j.l.DirectJDKLog [http-nio-8085-exec-1] Initializing Spring DispatcherServlet 'dispatcherServlet' -2026-08-13 13:33:00,086 INFO o.s.w.s.FrameworkServlet [http-nio-8085-exec-1] Initializing Servlet 'dispatcherServlet' -2026-08-13 13:33:00,089 INFO o.s.w.s.FrameworkServlet [http-nio-8085-exec-1] Completed initialization in 2 ms -2026-08-13 13:35:39,946 INFO o.s.b.t.GracefulShutdown [SpringApplicationShutdownHook] Commencing graceful shutdown. Waiting for active requests to complete -2026-08-13 13:35:39,949 INFO o.s.b.t.GracefulShutdown [tomcat-shutdown] Graceful shutdown complete -2026-08-13 13:35:39,952 INFO o.a.c.i.e.AbstractCamelContext [SpringApplicationShutdownHook] Apache Camel 4.10.6 (camel-1) is shutting down (timeout:45s) -2026-08-13 13:35:40,417 DEBUG o.s.j.c.CachingConnectionFactory$CachedSessionInvocationHandler [Camel (camel-1) thread #2 - JmsConsumer[media.lofi.add]] Closing cached Session: ActiveMQSession->ClientSessionImpl [name=baa04a9f-970a-11f1-bd12-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@5a14362b, metaData=()]@149b8951 -2026-08-13 13:35:40,417 DEBUG o.s.j.c.CachingConnectionFactory$CachedSessionInvocationHandler [Camel (camel-1) thread #3 - JmsConsumer[media.video.add]] Closing cached Session: ActiveMQSession->ClientSessionImpl [name=baa098c0-970a-11f1-bd12-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@5a14362b, metaData=()]@6e775f21 -2026-08-13 13:35:40,417 DEBUG o.a.a.a.c.c.i.ClientSessionImpl [Camel (camel-1) thread #2 - JmsConsumer[media.lofi.add]] Calling close on session ClientSessionImpl [name=baa04a9f-970a-11f1-bd12-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@5a14362b, metaData=()]@149b8951 -2026-08-13 13:35:40,418 DEBUG o.a.a.a.c.c.i.ClientSessionImpl [Camel (camel-1) thread #2 - JmsConsumer[media.lofi.add]] calling cleanup on ClientSessionImpl [name=baa04a9f-970a-11f1-bd12-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@5a14362b, metaData=()]@149b8951 -2026-08-13 13:35:40,427 DEBUG o.a.a.a.c.c.i.ClientSessionImpl [Camel (camel-1) thread #3 - JmsConsumer[media.video.add]] Calling close on session ClientSessionImpl [name=baa098c0-970a-11f1-bd12-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@5a14362b, metaData=()]@6e775f21 -2026-08-13 13:35:40,428 DEBUG o.a.a.a.c.c.i.ClientSessionImpl [Camel (camel-1) thread #3 - JmsConsumer[media.video.add]] calling cleanup on ClientSessionImpl [name=baa098c0-970a-11f1-bd12-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@5a14362b, metaData=()]@6e775f21 -2026-08-13 13:35:40,431 INFO o.a.c.s.CamelLogger [SpringApplicationShutdownHook] Routes stopped (total:3) -2026-08-13 13:35:40,431 INFO o.a.c.s.CamelLogger [SpringApplicationShutdownHook] Stopped read-queue-media-video-add (jms://queue:media.video.add) -2026-08-13 13:35:40,431 INFO o.a.c.s.CamelLogger [SpringApplicationShutdownHook] Stopped read-queue-media-lofi-add (jms://queue:media.lofi.add) -2026-08-13 13:35:40,431 INFO o.a.c.s.CamelLogger [SpringApplicationShutdownHook] Stopped read-queue-media-link-add (jms://queue:media.link.add) -2026-08-13 13:35:40,434 INFO o.a.c.i.e.AbstractCamelContext [SpringApplicationShutdownHook] Apache Camel 4.10.6 (camel-1) shutdown in 481ms (uptime:2m44s) -2026-08-13 13:35:40,434 DEBUG o.s.j.c.CachingConnectionFactory$CachedSessionInvocationHandler [SpringApplicationShutdownHook] Closing cached Session: ActiveMQSession->ClientSessionImpl [name=ba9f121e-970a-11f1-bd12-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@5a14362b, metaData=()]@6bf4a04a -2026-08-13 13:35:40,434 DEBUG o.a.a.a.c.c.i.ClientSessionImpl [SpringApplicationShutdownHook] Calling close on session ClientSessionImpl [name=ba9f121e-970a-11f1-bd12-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@5a14362b, metaData=()]@6bf4a04a -2026-08-13 13:35:40,436 DEBUG o.a.a.a.c.c.i.ClientSessionImpl [SpringApplicationShutdownHook] calling cleanup on ClientSessionImpl [name=ba9f121e-970a-11f1-bd12-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@5a14362b, metaData=()]@6bf4a04a -2026-08-13 13:35:40,436 DEBUG o.s.j.c.SingleConnectionFactory [SpringApplicationShutdownHook] Closing shared JMS Connection: org.apache.activemq.artemis.jms.client.ActiveMQConnection@4b9df579 -2026-08-13 13:35:40,437 DEBUG o.a.a.a.c.c.i.ClientSessionImpl [SpringApplicationShutdownHook] Calling close on session ClientSessionImpl [name=ba9c7a0d-970a-11f1-bd12-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@5a14362b, metaData=(jms-session=,)]@1d94192f -2026-08-13 13:35:40,437 DEBUG o.a.a.a.c.c.i.ClientSessionImpl [SpringApplicationShutdownHook] calling cleanup on ClientSessionImpl [name=ba9c7a0d-970a-11f1-bd12-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@5a14362b, metaData=(jms-session=,)]@1d94192f -2026-08-13 13:35:40,439 DEBUG o.a.a.a.c.c.i.ClientSessionFactoryImpl [Thread-1 (activemq-client-global)] Failure captured on connectionID=afabb530, performing failover or reconnection now -org.apache.activemq.artemis.api.core.ActiveMQNotConnectedException: [errorType=NOT_CONNECTED message=AMQ219006: Channel disconnected] - at org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl.connectionDestroyed(ClientSessionFactoryImpl.java:413) - at org.apache.activemq.artemis.core.remoting.impl.netty.NettyConnector$Listener.lambda$connectionDestroyed$0(NettyConnector.java:1199) - at org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:59) - at org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:32) - at org.apache.activemq.artemis.utils.actors.ProcessorBase.executePendingTasks(ProcessorBase.java:69) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1090) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614) - at org.apache.activemq.artemis.utils.ActiveMQThreadFactory$1.run(ActiveMQThreadFactory.java:120) -2026-08-13 13:35:40,441 DEBUG o.a.a.a.c.c.i.ClientSessionImpl [SpringApplicationShutdownHook] Session was already closed, giving up now, this=ClientSessionImpl [name=ba9c7a0d-970a-11f1-bd12-5e5c628d27e5, username=artemis, closed=true, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@5a14362b, metaData=(jms-session=,)]@1d94192f -2026-08-13 13:35:40,450 INFO o.s.o.j.AbstractEntityManagerFactoryBean [SpringApplicationShutdownHook] Closing JPA EntityManagerFactory for persistence unit 'default' -2026-08-13 13:35:40,453 INFO c.z.h.HikariDataSource [SpringApplicationShutdownHook] HikariPool-1 - Shutdown initiated... -2026-08-13 13:35:40,455 INFO c.z.h.HikariDataSource [SpringApplicationShutdownHook] HikariPool-1 - Shutdown completed. -2026-08-13 13:35:50,744 INFO o.s.b.StartupInfoLogger [restartedMain] Starting KontorApplication using Java 25.0.2 with PID 3657920 (/home/tpeetz/projects/kontor/kontor-spring/build/classes/java/main started by tpeetz in /home/tpeetz/projects/kontor/kontor-spring) -2026-08-13 13:35:50,746 INFO o.s.b.SpringApplication [restartedMain] The following 1 profile is active: "local" -2026-08-13 13:35:50,789 INFO o.s.b.l.LogLevel [restartedMain] For additional web related logging consider setting the 'logging.level.web' property to 'DEBUG' -2026-08-13 13:35:51,593 INFO o.s.d.r.c.RepositoryConfigurationDelegate [restartedMain] Bootstrapping Spring Data JPA repositories in DEFAULT mode. -2026-08-13 13:35:51,747 INFO o.s.d.r.c.RepositoryConfigurationDelegate [restartedMain] Finished Spring Data repository scanning in 147 ms. Found 34 JPA repository interfaces. -2026-08-13 13:35:52,297 INFO o.s.b.t.TomcatWebServer [restartedMain] Tomcat initialized with port 8085 (http) -2026-08-13 13:35:52,306 INFO o.a.j.l.DirectJDKLog [restartedMain] Initializing ProtocolHandler ["http-nio-8085"] -2026-08-13 13:35:52,308 INFO o.a.j.l.DirectJDKLog [restartedMain] Starting service [Tomcat] -2026-08-13 13:35:52,308 INFO o.a.j.l.DirectJDKLog [restartedMain] Starting Servlet engine: [Apache Tomcat/11.0.24] -2026-08-13 13:35:52,344 INFO o.s.b.w.c.s.WebApplicationContextInitializer [restartedMain] Root WebApplicationContext: initialization completed in 1554 ms -2026-08-13 13:35:55,254 INFO c.v.f.s.VaadinServletContextInitializer$DevModeServletContextListener [restartedMain] Search for subclasses and classes with annotations took 2564 ms -2026-08-13 13:35:55,316 INFO c.v.b.d.s.DevModeInitializer [restartedMain] Starting dev-mode updaters in /home/tpeetz/projects/kontor/kontor-spring folder. -2026-08-13 13:35:55,347 INFO c.v.f.s.f.s.FullDependenciesScanner [restartedMain] Visited 182 classes. Took 18 ms. -2026-08-13 13:35:55,349 INFO c.v.f.s.f.BundleValidationUtil [restartedMain] Checking if a development mode bundle build is needed -2026-08-13 13:35:55,459 INFO c.v.f.s.f.BundleValidationUtil [restartedMain] A development mode bundle build is not needed -2026-08-13 13:35:55,494 INFO c.v.f.s.f.TaskCopyFrontendFiles [vaadin-dev-server-1] Copying frontend resources from jar files ... -2026-08-13 13:35:55,574 INFO c.v.f.s.f.TaskCopyFrontendFiles [vaadin-dev-server-1] Visited 20 resources. Took 79 ms. -2026-08-13 13:35:55,643 INFO o.h.j.i.u.LogHelper [restartedMain] HHH008540: Processing PersistenceUnitInfo [name: default] -2026-08-13 13:35:55,711 INFO o.h.Version [restartedMain] HHH000001: Hibernate ORM core version 7.4.1.Final -2026-08-13 13:35:55,920 INFO c.z.h.HikariDataSource [restartedMain] HikariPool-1 - Starting... -2026-08-13 13:35:56,032 INFO c.z.h.p.HikariPool [restartedMain] HikariPool-1 - Added connection org.postgresql.jdbc.PgConnection@76c48272 -2026-08-13 13:35:56,034 INFO c.z.h.HikariDataSource [restartedMain] HikariPool-1 - Start completed. -2026-08-13 13:35:56,109 INFO o.h.e.j.e.i.JdbcEnvironmentInitiator [restartedMain] HHH10001005: Database info: - Database JDBC URL [jdbc:postgresql://localhost:5432/kontor] - Database driver: PostgreSQL JDBC Driver - Database dialect: PostgreSQLDialect - Database version: 17.7 - Default catalog/schema: kontor/public - Autocommit mode: undefined/unknown - Isolation level: READ_COMMITTED [default READ_COMMITTED] - JDBC fetch size: none - Pool: DataSourceConnectionProvider - Minimum pool size: undefined/unknown - Maximum pool size: undefined/unknown -2026-08-13 13:35:56,283 INFO o.s.o.j.p.SpringPersistenceUnitInfo [restartedMain] No LoadTimeWeaver setup: ignoring JPA class transformer -2026-08-13 13:35:56,655 INFO o.h.v.i.u.Version [restartedMain] HV000001: Hibernate Validator 9.1.0.Final -2026-08-13 13:35:57,587 INFO o.h.e.t.j.p.i.JtaPlatformInitiator [restartedMain] HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) -2026-08-13 13:35:57,657 INFO o.s.o.j.AbstractEntityManagerFactoryBean [restartedMain] Initialized JPA EntityManagerFactory for persistence unit 'default' -2026-08-13 13:35:57,756 INFO o.s.d.j.r.q.QueryEnhancerFactories [restartedMain] Hibernate is in classpath; If applicable, HQL parser will be used. -2026-08-13 13:35:58,786 WARN o.s.b.j.a.JpaBaseConfiguration$JpaWebConfiguration [restartedMain] spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning -2026-08-13 13:35:58,841 INFO o.s.s.c.a.a.c.InitializeUserDetailsBeanManagerConfigurer$InitializeUserDetailsManagerConfigurer [restartedMain] Global AuthenticationManager configured with UserDetailsService bean with name userDetailsService -2026-08-13 13:35:59,262 DEBUG o.a.a.a.u.UUIDGenerator [restartedMain] using hardware address 5e:5c:62:ffffff8d:27:-27 -2026-08-13 13:35:59,421 INFO o.s.b.a.e.w.EndpointLinksResolver [restartedMain] Exposing 5 endpoints beneath base path '/actuator' -2026-08-13 13:35:59,539 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereHandler com.vaadin.flow.server.communication.PushAtmosphereHandler mapped to context-path: /* -2026-08-13 13:35:59,540 INFO o.a.c.AtmosphereFramework [restartedMain] Installed the following AtmosphereInterceptor mapped to AtmosphereHandler com.vaadin.flow.server.communication.PushAtmosphereHandler -2026-08-13 13:35:59,566 INFO o.a.c.AtmosphereFramework [restartedMain] Atmosphere is using org.atmosphere.util.VoidAnnotationProcessor for processing annotation -2026-08-13 13:35:59,571 INFO o.a.u.ForkJoinPool [restartedMain] Using ForkJoinPool java.util.concurrent.ForkJoinPool. Set the org.atmosphere.cpr.broadcaster.maxAsyncWriteThreads to -1 to fully use its power. -2026-08-13 13:35:59,575 INFO o.a.c.AtmosphereFramework [restartedMain] Installed WebSocketProtocol org.atmosphere.websocket.protocol.SimpleHttpProtocol -2026-08-13 13:35:59,578 INFO o.a.c.JSR356AsyncSupport [restartedMain] JSR 356 Mapping path /VAADIN/push -2026-08-13 13:35:59,587 INFO o.a.c.AtmosphereFramework [restartedMain] Installing Default AtmosphereInterceptors -2026-08-13 13:35:59,588 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.CorsInterceptor : CORS Interceptor Support -2026-08-13 13:35:59,588 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.CacheHeadersInterceptor : Default Response's Headers Interceptor -2026-08-13 13:35:59,589 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.PaddingAtmosphereInterceptor : Browser Padding Interceptor Support -2026-08-13 13:35:59,589 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.AndroidAtmosphereInterceptor : Android Interceptor Support -2026-08-13 13:35:59,590 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.HeartbeatInterceptor : Heartbeat Interceptor Support -2026-08-13 13:35:59,590 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.SSEAtmosphereInterceptor : SSE Interceptor Support -2026-08-13 13:35:59,590 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.JSONPAtmosphereInterceptor : JSONP Interceptor Support -2026-08-13 13:35:59,591 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.JavaScriptProtocol : Atmosphere JavaScript Protocol -2026-08-13 13:35:59,591 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.WebSocketMessageSuspendInterceptor : org.atmosphere.interceptor.WebSocketMessageSuspendInterceptor -2026-08-13 13:35:59,592 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.OnDisconnectInterceptor : Browser disconnection detection -2026-08-13 13:35:59,592 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.IdleResourceInterceptor : org.atmosphere.interceptor.IdleResourceInterceptor -2026-08-13 13:35:59,592 INFO o.a.c.AtmosphereFramework [restartedMain] Set org.atmosphere.cpr.AtmosphereInterceptor.disableDefaults to disable them. -2026-08-13 13:35:59,592 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor CORS Interceptor Support with priority FIRST_BEFORE_DEFAULT -2026-08-13 13:35:59,593 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor Default Response's Headers Interceptor with priority AFTER_DEFAULT -2026-08-13 13:35:59,593 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor Browser Padding Interceptor Support with priority AFTER_DEFAULT -2026-08-13 13:35:59,593 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor Android Interceptor Support with priority AFTER_DEFAULT -2026-08-13 13:35:59,593 INFO o.a.i.HeartbeatInterceptor [restartedMain] HeartbeatInterceptor configured with padding value 'X', client frequency 0 seconds and server frequency 60 seconds -2026-08-13 13:35:59,594 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor Heartbeat Interceptor Support with priority AFTER_DEFAULT -2026-08-13 13:35:59,594 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor SSE Interceptor Support with priority AFTER_DEFAULT -2026-08-13 13:35:59,594 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor JSONP Interceptor Support with priority AFTER_DEFAULT -2026-08-13 13:35:59,594 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor Atmosphere JavaScript Protocol with priority AFTER_DEFAULT -2026-08-13 13:35:59,594 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor org.atmosphere.interceptor.WebSocketMessageSuspendInterceptor with priority AFTER_DEFAULT -2026-08-13 13:35:59,594 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor Browser disconnection detection with priority AFTER_DEFAULT -2026-08-13 13:35:59,595 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor org.atmosphere.interceptor.IdleResourceInterceptor with priority BEFORE_DEFAULT -2026-08-13 13:35:59,595 INFO o.a.c.AtmosphereFramework [restartedMain] Using EndpointMapper class org.atmosphere.util.DefaultEndpointMapper -2026-08-13 13:35:59,596 INFO o.a.c.AtmosphereFramework [restartedMain] Using BroadcasterCache: org.atmosphere.cache.UUIDBroadcasterCache -2026-08-13 13:35:59,596 INFO o.a.c.AtmosphereFramework [restartedMain] Default Broadcaster Class: org.atmosphere.cpr.DefaultBroadcaster -2026-08-13 13:35:59,596 INFO o.a.c.AtmosphereFramework [restartedMain] Broadcaster Shared List Resources: false -2026-08-13 13:35:59,596 INFO o.a.c.AtmosphereFramework [restartedMain] Broadcaster Polling Wait Time 100 -2026-08-13 13:35:59,596 INFO o.a.c.AtmosphereFramework [restartedMain] Shared ExecutorService supported: true -2026-08-13 13:35:59,596 INFO o.a.c.AtmosphereFramework [restartedMain] Messaging ExecutorService Pool Size unavailable - Not instance of ThreadPoolExecutor -2026-08-13 13:35:59,597 INFO o.a.c.AtmosphereFramework [restartedMain] Async I/O Thread Pool Size: 200 -2026-08-13 13:35:59,597 INFO o.a.c.AtmosphereFramework [restartedMain] Using BroadcasterFactory: org.atmosphere.cpr.DefaultBroadcasterFactory -2026-08-13 13:35:59,597 INFO o.a.c.AtmosphereFramework [restartedMain] Using AtmosphereResurceFactory: org.atmosphere.cpr.DefaultAtmosphereResourceFactory -2026-08-13 13:35:59,597 INFO o.a.c.AtmosphereFramework [restartedMain] Using WebSocketProcessor: org.atmosphere.websocket.DefaultWebSocketProcessor -2026-08-13 13:35:59,599 INFO o.a.c.AtmosphereFramework [restartedMain] Invoke AtmosphereInterceptor on WebSocket message true -2026-08-13 13:35:59,599 INFO o.a.c.AtmosphereFramework [restartedMain] HttpSession supported: true -2026-08-13 13:35:59,599 INFO o.a.c.AtmosphereFramework [restartedMain] Atmosphere is using org.atmosphere.inject.InjectableObjectFactory for dependency injection and object creation -2026-08-13 13:35:59,599 INFO o.a.c.AtmosphereFramework [restartedMain] Atmosphere is using async support: org.atmosphere.container.JSR356AsyncSupport running under container: Apache Tomcat/11.0.24 using jakarta.servlet/3.0 and jsr356/WebSocket API -2026-08-13 13:35:59,599 INFO o.a.c.AtmosphereFramework [restartedMain] Atmosphere Framework 3.0.5.slf4jvaadin1 started. -2026-08-13 13:35:59,602 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor Track Message Size Interceptor using | with priority BEFORE_DEFAULT -2026-08-13 13:35:59,636 INFO o.a.j.l.DirectJDKLog [restartedMain] Starting ProtocolHandler ["http-nio-8085"] -2026-08-13 13:35:59,655 INFO c.v.f.s.DefaultDeploymentConfiguration [restartedMain] -Vaadin is running in DEVELOPMENT mode - do not use for production deployments. -2026-08-13 13:35:59,723 INFO o.s.b.t.TomcatWebServer [restartedMain] Tomcat started on port 8085 (http) with context path '/' -2026-08-13 13:35:59,908 INFO o.a.c.i.e.AbstractCamelContext [restartedMain] Apache Camel 4.10.6 (camel-1) is starting -2026-08-13 13:35:59,928 DEBUG o.a.a.a.c.c.i.ClientSessionFactoryImpl [restartedMain] Trying reconnection attempt 0/1 -2026-08-13 13:35:59,928 DEBUG o.a.a.a.c.c.i.ClientSessionFactoryImpl [restartedMain] Trying to connect with connectorFactory=org.apache.activemq.artemis.core.remoting.impl.netty.NettyConnectorFactory@31223d3f and currentConnectorConfig: TransportConfiguration(name=null, factory=org-apache-activemq-artemis-core-remoting-impl-netty-NettyConnectorFactory)?port=61616&host=localhost -2026-08-13 13:35:59,985 DEBUG o.a.a.a.c.r.i.n.NettyConnector [restartedMain] Connector NettyConnector [host=localhost, port=61616, httpEnabled=false, httpUpgradeEnabled=false, useServlet=false, servletPath=/messaging/ActiveMQServlet, sslEnabled=false, useNio=true] using native epoll -2026-08-13 13:36:00,001 DEBUG o.a.a.a.c.r.i.n.NettyConnector [restartedMain] Started EPOLL Netty Connector version 4.2.15.Final to localhost:61616 -2026-08-13 13:36:00,001 DEBUG o.a.a.a.c.r.i.n.NettyConnector [restartedMain] Remote destination: localhost/127.0.0.1:61616 -2026-08-13 13:36:00,067 DEBUG o.a.a.a.c.r.i.n.NettyConnector$1 [Thread-0 (activemq-client-remoting)] Added ActiveMQClientChannelHandler to Channel with id = 92e42703 -2026-08-13 13:36:00,085 DEBUG o.a.a.a.c.c.i.ClientSessionFactoryImpl [restartedMain] Connected with the currentConnectorConfig=TransportConfiguration(name=null, factory=org-apache-activemq-artemis-core-remoting-impl-netty-NettyConnectorFactory)?port=61616&host=localhost -2026-08-13 13:36:00,156 DEBUG o.a.a.a.c.c.i.ClientSessionFactoryImpl [restartedMain] Reconnection successful -2026-08-13 13:36:00,157 DEBUG o.a.a.a.c.c.i.ClientSessionFactoryImpl [restartedMain] ClientSessionFactoryImpl received backup update for primary/backup pair = TransportConfiguration(name=null, factory=org-apache-activemq-artemis-core-remoting-impl-netty-NettyConnectorFactory)?port=61616&host=localhost / null but it didn't belong to TransportConfiguration(name=null, factory=org-apache-activemq-artemis-core-remoting-impl-netty-NettyConnectorFactory)?port=61616&host=localhost -2026-08-13 13:36:00,191 DEBUG o.s.j.c.SingleConnectionFactory [restartedMain] Established shared JMS Connection: org.apache.activemq.artemis.jms.client.ActiveMQConnection@4a0c795b -2026-08-13 13:36:00,199 INFO o.a.c.i.e.AbstractCamelContext [restartedMain] Routes startup (total:3) -2026-08-13 13:36:00,200 INFO o.a.c.i.e.AbstractCamelContext [restartedMain] Started read-queue-media-link-add (jms://queue:media.link.add) -2026-08-13 13:36:00,200 INFO o.a.c.i.e.AbstractCamelContext [restartedMain] Started read-queue-media-lofi-add (jms://queue:media.lofi.add) -2026-08-13 13:36:00,200 INFO o.a.c.i.e.AbstractCamelContext [restartedMain] Started read-queue-media-video-add (jms://queue:media.video.add) -2026-08-13 13:36:00,200 INFO o.a.c.i.e.AbstractCamelContext [restartedMain] Apache Camel 4.10.6 (camel-1) started in 291ms (build:0ms init:0ms start:291ms boot:1s608ms) -2026-08-13 13:36:00,202 INFO d.t.k.s.SetupModuleBookshelf [restartedMain] Set up Bookshelf data -2026-08-13 13:36:00,202 INFO d.t.k.s.SetupModuleComics [restartedMain] Set up Comics data -2026-08-13 13:36:00,203 INFO d.t.k.s.SetupModuleMedia [restartedMain] Set up Media data -2026-08-13 13:36:00,203 INFO d.t.k.s.SetupModuleTysc [restartedMain] Setp up TYSC data -2026-08-13 13:36:00,205 INFO o.s.b.StartupInfoLogger [restartedMain] Started KontorApplication in 9.886 seconds (process running for 10.268) -2026-08-13 13:36:00,206 DEBUG o.s.j.c.CachingConnectionFactory [Camel (camel-1) thread #1 - JmsConsumer[media.link.add]] Registering cached JMS Session for mode 1: ActiveMQSession->ClientSessionImpl [name=284fd163-970b-11f1-a4e7-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@3f971105, metaData=()]@1667f37a -2026-08-13 13:36:00,207 DEBUG o.s.j.c.CachingConnectionFactory [Camel (camel-1) thread #2 - JmsConsumer[media.lofi.add]] Registering cached JMS Session for mode 1: ActiveMQSession->ClientSessionImpl [name=285130f4-970b-11f1-a4e7-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@3f971105, metaData=()]@377aa2ab -2026-08-13 13:36:00,209 DEBUG o.s.j.c.CachingConnectionFactory [Camel (camel-1) thread #3 - JmsConsumer[media.video.add]] Registering cached JMS Session for mode 1: ActiveMQSession->ClientSessionImpl [name=2851a625-970b-11f1-a4e7-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@3f971105, metaData=()]@67dfc9b4 -2026-08-13 13:36:00,279 INFO c.v.b.d.DevModeHandlerManagerImpl [restartedMain] Application running at http://localhost:8085/ -2026-08-13 13:36:11,131 INFO o.a.j.l.DirectJDKLog [http-nio-8085-exec-1] Initializing Spring DispatcherServlet 'dispatcherServlet' -2026-08-13 13:36:11,132 INFO o.s.w.s.FrameworkServlet [http-nio-8085-exec-1] Initializing Servlet 'dispatcherServlet' -2026-08-13 13:36:11,134 INFO o.s.w.s.FrameworkServlet [http-nio-8085-exec-1] Completed initialization in 2 ms -2026-08-13 13:36:11,159 WARN c.v.f.s.a.AnnotatedViewAccessChecker [http-nio-8085-exec-1] Denied access to view 'de.thpeetz.kontor.views.common.MainView' due to parent layout 'de.thpeetz.kontor.views.common.MainLayout' access rules The view allows broader access than the layout, which is likely a configuration error. -2026-08-13 13:36:11,879 WARN c.v.f.s.a.AnnotatedViewAccessChecker [http-nio-8085-exec-3] Denied access to view 'de.thpeetz.kontor.views.common.MainView' due to parent layout 'de.thpeetz.kontor.views.common.MainLayout' access rules The view allows broader access than the layout, which is likely a configuration error. -2026-08-13 13:36:25,874 WARN c.v.f.s.a.AnnotatedViewAccessChecker [http-nio-8085-exec-7] Denied access to view 'de.thpeetz.kontor.views.common.MainView' due to parent layout 'de.thpeetz.kontor.views.common.MainLayout' access rules The view allows broader access than the layout, which is likely a configuration error. -2026-08-13 13:38:08,718 INFO o.s.b.t.GracefulShutdown [SpringApplicationShutdownHook] Commencing graceful shutdown. Waiting for active requests to complete -2026-08-13 13:38:08,720 INFO o.s.b.t.GracefulShutdown [tomcat-shutdown] Graceful shutdown complete -2026-08-13 13:38:08,724 INFO o.a.c.i.e.AbstractCamelContext [SpringApplicationShutdownHook] Apache Camel 4.10.6 (camel-1) is shutting down (timeout:45s) -2026-08-13 13:38:09,407 DEBUG o.s.j.c.CachingConnectionFactory$CachedSessionInvocationHandler [Camel (camel-1) thread #3 - JmsConsumer[media.video.add]] Closing cached Session: ActiveMQSession->ClientSessionImpl [name=2851a625-970b-11f1-a4e7-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@3f971105, metaData=()]@67dfc9b4 -2026-08-13 13:38:09,407 DEBUG o.a.a.a.c.c.i.ClientSessionImpl [Camel (camel-1) thread #3 - JmsConsumer[media.video.add]] Calling close on session ClientSessionImpl [name=2851a625-970b-11f1-a4e7-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@3f971105, metaData=()]@67dfc9b4 -2026-08-13 13:38:09,407 DEBUG o.s.j.c.CachingConnectionFactory$CachedSessionInvocationHandler [Camel (camel-1) thread #1 - JmsConsumer[media.link.add]] Closing cached Session: ActiveMQSession->ClientSessionImpl [name=284fd163-970b-11f1-a4e7-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@3f971105, metaData=()]@1667f37a -2026-08-13 13:38:09,408 DEBUG o.a.a.a.c.c.i.ClientSessionImpl [Camel (camel-1) thread #3 - JmsConsumer[media.video.add]] calling cleanup on ClientSessionImpl [name=2851a625-970b-11f1-a4e7-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@3f971105, metaData=()]@67dfc9b4 -2026-08-13 13:38:09,415 DEBUG o.a.a.a.c.c.i.ClientSessionImpl [Camel (camel-1) thread #1 - JmsConsumer[media.link.add]] Calling close on session ClientSessionImpl [name=284fd163-970b-11f1-a4e7-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@3f971105, metaData=()]@1667f37a -2026-08-13 13:38:09,416 DEBUG o.a.a.a.c.c.i.ClientSessionImpl [Camel (camel-1) thread #1 - JmsConsumer[media.link.add]] calling cleanup on ClientSessionImpl [name=284fd163-970b-11f1-a4e7-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@3f971105, metaData=()]@1667f37a -2026-08-13 13:38:09,418 INFO o.a.c.s.CamelLogger [SpringApplicationShutdownHook] Routes stopped (total:3) -2026-08-13 13:38:09,418 INFO o.a.c.s.CamelLogger [SpringApplicationShutdownHook] Stopped read-queue-media-video-add (jms://queue:media.video.add) -2026-08-13 13:38:09,419 INFO o.a.c.s.CamelLogger [SpringApplicationShutdownHook] Stopped read-queue-media-lofi-add (jms://queue:media.lofi.add) -2026-08-13 13:38:09,419 INFO o.a.c.s.CamelLogger [SpringApplicationShutdownHook] Stopped read-queue-media-link-add (jms://queue:media.link.add) -2026-08-13 13:38:09,422 INFO o.a.c.i.e.AbstractCamelContext [SpringApplicationShutdownHook] Apache Camel 4.10.6 (camel-1) shutdown in 697ms (uptime:2m9s) -2026-08-13 13:38:09,423 DEBUG o.s.j.c.CachingConnectionFactory$CachedSessionInvocationHandler [SpringApplicationShutdownHook] Closing cached Session: ActiveMQSession->ClientSessionImpl [name=285130f4-970b-11f1-a4e7-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@3f971105, metaData=()]@377aa2ab -2026-08-13 13:38:09,423 DEBUG o.a.a.a.c.c.i.ClientSessionImpl [SpringApplicationShutdownHook] Calling close on session ClientSessionImpl [name=285130f4-970b-11f1-a4e7-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@3f971105, metaData=()]@377aa2ab -2026-08-13 13:38:09,424 DEBUG o.a.a.a.c.c.i.ClientSessionImpl [SpringApplicationShutdownHook] calling cleanup on ClientSessionImpl [name=285130f4-970b-11f1-a4e7-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@3f971105, metaData=()]@377aa2ab -2026-08-13 13:38:09,424 DEBUG o.s.j.c.SingleConnectionFactory [SpringApplicationShutdownHook] Closing shared JMS Connection: org.apache.activemq.artemis.jms.client.ActiveMQConnection@4a0c795b -2026-08-13 13:38:09,424 DEBUG o.a.a.a.c.c.i.ClientSessionImpl [SpringApplicationShutdownHook] Calling close on session ClientSessionImpl [name=284c27e2-970b-11f1-a4e7-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@3f971105, metaData=(jms-session=,)]@637f0b4d -2026-08-13 13:38:09,425 DEBUG o.a.a.a.c.c.i.ClientSessionImpl [SpringApplicationShutdownHook] calling cleanup on ClientSessionImpl [name=284c27e2-970b-11f1-a4e7-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@3f971105, metaData=(jms-session=,)]@637f0b4d -2026-08-13 13:38:09,426 DEBUG o.a.a.a.c.c.i.ClientSessionFactoryImpl [Thread-1 (activemq-client-global)] Failure captured on connectionID=92e42703, performing failover or reconnection now -org.apache.activemq.artemis.api.core.ActiveMQNotConnectedException: [errorType=NOT_CONNECTED message=AMQ219006: Channel disconnected] - at org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl.connectionDestroyed(ClientSessionFactoryImpl.java:413) - at org.apache.activemq.artemis.core.remoting.impl.netty.NettyConnector$Listener.lambda$connectionDestroyed$0(NettyConnector.java:1199) - at org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:59) - at org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:32) - at org.apache.activemq.artemis.utils.actors.ProcessorBase.executePendingTasks(ProcessorBase.java:69) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1090) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614) - at org.apache.activemq.artemis.utils.ActiveMQThreadFactory$1.run(ActiveMQThreadFactory.java:120) -2026-08-13 13:38:09,429 DEBUG o.a.a.a.c.c.i.ClientSessionImpl [SpringApplicationShutdownHook] Session was already closed, giving up now, this=ClientSessionImpl [name=284c27e2-970b-11f1-a4e7-5e5c628d27e5, username=artemis, closed=true, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@3f971105, metaData=(jms-session=,)]@637f0b4d -2026-08-13 13:38:09,437 INFO o.s.o.j.AbstractEntityManagerFactoryBean [SpringApplicationShutdownHook] Closing JPA EntityManagerFactory for persistence unit 'default' -2026-08-13 13:38:09,439 INFO c.z.h.HikariDataSource [SpringApplicationShutdownHook] HikariPool-1 - Shutdown initiated... -2026-08-13 13:38:09,441 INFO c.z.h.HikariDataSource [SpringApplicationShutdownHook] HikariPool-1 - Shutdown completed. -2026-08-13 13:38:24,110 INFO o.s.b.StartupInfoLogger [restartedMain] Starting KontorApplication using Java 25.0.2 with PID 3686148 (/home/tpeetz/projects/kontor/kontor-spring/build/classes/java/main started by tpeetz in /home/tpeetz/projects/kontor/kontor-spring) -2026-08-13 13:38:24,112 INFO o.s.b.SpringApplication [restartedMain] The following 1 profile is active: "local" -2026-08-13 13:38:24,153 INFO o.s.b.l.LogLevel [restartedMain] For additional web related logging consider setting the 'logging.level.web' property to 'DEBUG' -2026-08-13 13:38:24,986 INFO o.s.d.r.c.RepositoryConfigurationDelegate [restartedMain] Bootstrapping Spring Data JPA repositories in DEFAULT mode. -2026-08-13 13:38:25,132 INFO o.s.d.r.c.RepositoryConfigurationDelegate [restartedMain] Finished Spring Data repository scanning in 138 ms. Found 34 JPA repository interfaces. -2026-08-13 13:38:25,747 INFO o.s.b.t.TomcatWebServer [restartedMain] Tomcat initialized with port 8085 (http) -2026-08-13 13:38:25,760 INFO o.a.j.l.DirectJDKLog [restartedMain] Initializing ProtocolHandler ["http-nio-8085"] -2026-08-13 13:38:25,763 INFO o.a.j.l.DirectJDKLog [restartedMain] Starting service [Tomcat] -2026-08-13 13:38:25,764 INFO o.a.j.l.DirectJDKLog [restartedMain] Starting Servlet engine: [Apache Tomcat/11.0.24] -2026-08-13 13:38:25,803 INFO o.s.b.w.c.s.WebApplicationContextInitializer [restartedMain] Root WebApplicationContext: initialization completed in 1648 ms -2026-08-13 13:38:28,805 INFO c.v.f.s.VaadinServletContextInitializer$DevModeServletContextListener [restartedMain] Search for subclasses and classes with annotations took 2679 ms -2026-08-13 13:38:28,872 INFO c.v.b.d.s.DevModeInitializer [restartedMain] Starting dev-mode updaters in /home/tpeetz/projects/kontor/kontor-spring folder. -2026-08-13 13:38:28,903 INFO c.v.f.s.f.s.FullDependenciesScanner [restartedMain] Visited 182 classes. Took 17 ms. -2026-08-13 13:38:28,905 INFO c.v.f.s.f.BundleValidationUtil [restartedMain] Checking if a development mode bundle build is needed -2026-08-13 13:38:29,032 INFO c.v.f.s.f.BundleValidationUtil [restartedMain] A development mode bundle build is not needed -2026-08-13 13:38:29,063 INFO c.v.f.s.f.TaskCopyFrontendFiles [vaadin-dev-server-1] Copying frontend resources from jar files ... -2026-08-13 13:38:29,139 INFO c.v.f.s.f.TaskCopyFrontendFiles [vaadin-dev-server-1] Visited 20 resources. Took 75 ms. -2026-08-13 13:38:29,203 INFO o.h.j.i.u.LogHelper [restartedMain] HHH008540: Processing PersistenceUnitInfo [name: default] -2026-08-13 13:38:29,241 INFO o.h.Version [restartedMain] HHH000001: Hibernate ORM core version 7.4.1.Final -2026-08-13 13:38:29,436 INFO c.z.h.HikariDataSource [restartedMain] HikariPool-1 - Starting... -2026-08-13 13:38:29,532 INFO c.z.h.p.HikariPool [restartedMain] HikariPool-1 - Added connection org.postgresql.jdbc.PgConnection@77756ff6 -2026-08-13 13:38:29,534 INFO c.z.h.HikariDataSource [restartedMain] HikariPool-1 - Start completed. -2026-08-13 13:38:29,586 INFO o.h.e.j.e.i.JdbcEnvironmentInitiator [restartedMain] HHH10001005: Database info: - Database JDBC URL [jdbc:postgresql://localhost:5432/kontor] - Database driver: PostgreSQL JDBC Driver - Database dialect: PostgreSQLDialect - Database version: 17.7 - Default catalog/schema: kontor/public - Autocommit mode: undefined/unknown - Isolation level: READ_COMMITTED [default READ_COMMITTED] - JDBC fetch size: none - Pool: DataSourceConnectionProvider - Minimum pool size: undefined/unknown - Maximum pool size: undefined/unknown -2026-08-13 13:38:29,785 INFO o.s.o.j.p.SpringPersistenceUnitInfo [restartedMain] No LoadTimeWeaver setup: ignoring JPA class transformer -2026-08-13 13:38:30,204 INFO o.h.v.i.u.Version [restartedMain] HV000001: Hibernate Validator 9.1.0.Final -2026-08-13 13:38:31,336 INFO o.h.e.t.j.p.i.JtaPlatformInitiator [restartedMain] HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) -2026-08-13 13:38:31,418 INFO o.s.o.j.AbstractEntityManagerFactoryBean [restartedMain] Initialized JPA EntityManagerFactory for persistence unit 'default' -2026-08-13 13:38:31,503 INFO o.s.d.j.r.q.QueryEnhancerFactories [restartedMain] Hibernate is in classpath; If applicable, HQL parser will be used. -2026-08-13 13:38:32,759 WARN o.s.b.j.a.JpaBaseConfiguration$JpaWebConfiguration [restartedMain] spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning -2026-08-13 13:38:32,823 INFO o.s.s.c.a.a.c.InitializeUserDetailsBeanManagerConfigurer$InitializeUserDetailsManagerConfigurer [restartedMain] Global AuthenticationManager configured with UserDetailsService bean with name userDetailsService -2026-08-13 13:38:33,296 DEBUG o.a.a.a.u.UUIDGenerator [restartedMain] using hardware address 5e:5c:62:ffffff8d:27:-27 -2026-08-13 13:38:33,455 INFO o.s.b.a.e.w.EndpointLinksResolver [restartedMain] Exposing 5 endpoints beneath base path '/actuator' -2026-08-13 13:38:33,585 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereHandler com.vaadin.flow.server.communication.PushAtmosphereHandler mapped to context-path: /* -2026-08-13 13:38:33,585 INFO o.a.c.AtmosphereFramework [restartedMain] Installed the following AtmosphereInterceptor mapped to AtmosphereHandler com.vaadin.flow.server.communication.PushAtmosphereHandler -2026-08-13 13:38:33,610 INFO o.a.c.AtmosphereFramework [restartedMain] Atmosphere is using org.atmosphere.util.VoidAnnotationProcessor for processing annotation -2026-08-13 13:38:33,616 INFO o.a.u.ForkJoinPool [restartedMain] Using ForkJoinPool java.util.concurrent.ForkJoinPool. Set the org.atmosphere.cpr.broadcaster.maxAsyncWriteThreads to -1 to fully use its power. -2026-08-13 13:38:33,620 INFO o.a.c.AtmosphereFramework [restartedMain] Installed WebSocketProtocol org.atmosphere.websocket.protocol.SimpleHttpProtocol -2026-08-13 13:38:33,624 INFO o.a.c.JSR356AsyncSupport [restartedMain] JSR 356 Mapping path /VAADIN/push -2026-08-13 13:38:33,633 INFO o.a.c.AtmosphereFramework [restartedMain] Installing Default AtmosphereInterceptors -2026-08-13 13:38:33,633 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.CorsInterceptor : CORS Interceptor Support -2026-08-13 13:38:33,634 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.CacheHeadersInterceptor : Default Response's Headers Interceptor -2026-08-13 13:38:33,634 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.PaddingAtmosphereInterceptor : Browser Padding Interceptor Support -2026-08-13 13:38:33,635 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.AndroidAtmosphereInterceptor : Android Interceptor Support -2026-08-13 13:38:33,635 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.HeartbeatInterceptor : Heartbeat Interceptor Support -2026-08-13 13:38:33,636 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.SSEAtmosphereInterceptor : SSE Interceptor Support -2026-08-13 13:38:33,636 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.JSONPAtmosphereInterceptor : JSONP Interceptor Support -2026-08-13 13:38:33,636 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.JavaScriptProtocol : Atmosphere JavaScript Protocol -2026-08-13 13:38:33,637 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.WebSocketMessageSuspendInterceptor : org.atmosphere.interceptor.WebSocketMessageSuspendInterceptor -2026-08-13 13:38:33,637 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.OnDisconnectInterceptor : Browser disconnection detection -2026-08-13 13:38:33,637 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.IdleResourceInterceptor : org.atmosphere.interceptor.IdleResourceInterceptor -2026-08-13 13:38:33,638 INFO o.a.c.AtmosphereFramework [restartedMain] Set org.atmosphere.cpr.AtmosphereInterceptor.disableDefaults to disable them. -2026-08-13 13:38:33,638 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor CORS Interceptor Support with priority FIRST_BEFORE_DEFAULT -2026-08-13 13:38:33,638 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor Default Response's Headers Interceptor with priority AFTER_DEFAULT -2026-08-13 13:38:33,638 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor Browser Padding Interceptor Support with priority AFTER_DEFAULT -2026-08-13 13:38:33,639 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor Android Interceptor Support with priority AFTER_DEFAULT -2026-08-13 13:38:33,639 INFO o.a.i.HeartbeatInterceptor [restartedMain] HeartbeatInterceptor configured with padding value 'X', client frequency 0 seconds and server frequency 60 seconds -2026-08-13 13:38:33,639 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor Heartbeat Interceptor Support with priority AFTER_DEFAULT -2026-08-13 13:38:33,639 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor SSE Interceptor Support with priority AFTER_DEFAULT -2026-08-13 13:38:33,639 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor JSONP Interceptor Support with priority AFTER_DEFAULT -2026-08-13 13:38:33,639 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor Atmosphere JavaScript Protocol with priority AFTER_DEFAULT -2026-08-13 13:38:33,640 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor org.atmosphere.interceptor.WebSocketMessageSuspendInterceptor with priority AFTER_DEFAULT -2026-08-13 13:38:33,640 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor Browser disconnection detection with priority AFTER_DEFAULT -2026-08-13 13:38:33,640 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor org.atmosphere.interceptor.IdleResourceInterceptor with priority BEFORE_DEFAULT -2026-08-13 13:38:33,640 INFO o.a.c.AtmosphereFramework [restartedMain] Using EndpointMapper class org.atmosphere.util.DefaultEndpointMapper -2026-08-13 13:38:33,641 INFO o.a.c.AtmosphereFramework [restartedMain] Using BroadcasterCache: org.atmosphere.cache.UUIDBroadcasterCache -2026-08-13 13:38:33,641 INFO o.a.c.AtmosphereFramework [restartedMain] Default Broadcaster Class: org.atmosphere.cpr.DefaultBroadcaster -2026-08-13 13:38:33,641 INFO o.a.c.AtmosphereFramework [restartedMain] Broadcaster Shared List Resources: false -2026-08-13 13:38:33,641 INFO o.a.c.AtmosphereFramework [restartedMain] Broadcaster Polling Wait Time 100 -2026-08-13 13:38:33,641 INFO o.a.c.AtmosphereFramework [restartedMain] Shared ExecutorService supported: true -2026-08-13 13:38:33,641 INFO o.a.c.AtmosphereFramework [restartedMain] Messaging ExecutorService Pool Size unavailable - Not instance of ThreadPoolExecutor -2026-08-13 13:38:33,641 INFO o.a.c.AtmosphereFramework [restartedMain] Async I/O Thread Pool Size: 200 -2026-08-13 13:38:33,641 INFO o.a.c.AtmosphereFramework [restartedMain] Using BroadcasterFactory: org.atmosphere.cpr.DefaultBroadcasterFactory -2026-08-13 13:38:33,641 INFO o.a.c.AtmosphereFramework [restartedMain] Using AtmosphereResurceFactory: org.atmosphere.cpr.DefaultAtmosphereResourceFactory -2026-08-13 13:38:33,641 INFO o.a.c.AtmosphereFramework [restartedMain] Using WebSocketProcessor: org.atmosphere.websocket.DefaultWebSocketProcessor -2026-08-13 13:38:33,643 INFO o.a.c.AtmosphereFramework [restartedMain] Invoke AtmosphereInterceptor on WebSocket message true -2026-08-13 13:38:33,643 INFO o.a.c.AtmosphereFramework [restartedMain] HttpSession supported: true -2026-08-13 13:38:33,644 INFO o.a.c.AtmosphereFramework [restartedMain] Atmosphere is using org.atmosphere.inject.InjectableObjectFactory for dependency injection and object creation -2026-08-13 13:38:33,644 INFO o.a.c.AtmosphereFramework [restartedMain] Atmosphere is using async support: org.atmosphere.container.JSR356AsyncSupport running under container: Apache Tomcat/11.0.24 using jakarta.servlet/3.0 and jsr356/WebSocket API -2026-08-13 13:38:33,644 INFO o.a.c.AtmosphereFramework [restartedMain] Atmosphere Framework 3.0.5.slf4jvaadin1 started. -2026-08-13 13:38:33,646 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor Track Message Size Interceptor using | with priority BEFORE_DEFAULT -2026-08-13 13:38:33,689 INFO o.a.j.l.DirectJDKLog [restartedMain] Starting ProtocolHandler ["http-nio-8085"] -2026-08-13 13:38:33,728 INFO c.v.f.s.DefaultDeploymentConfiguration [restartedMain] -Vaadin is running in DEVELOPMENT mode - do not use for production deployments. -2026-08-13 13:38:33,808 INFO o.s.b.t.TomcatWebServer [restartedMain] Tomcat started on port 8085 (http) with context path '/' -2026-08-13 13:38:34,037 INFO o.a.c.i.e.AbstractCamelContext [restartedMain] Apache Camel 4.10.6 (camel-1) is starting -2026-08-13 13:38:34,065 DEBUG o.a.a.a.c.c.i.ClientSessionFactoryImpl [restartedMain] Trying reconnection attempt 0/1 -2026-08-13 13:38:34,066 DEBUG o.a.a.a.c.c.i.ClientSessionFactoryImpl [restartedMain] Trying to connect with connectorFactory=org.apache.activemq.artemis.core.remoting.impl.netty.NettyConnectorFactory@c62579b and currentConnectorConfig: TransportConfiguration(name=null, factory=org-apache-activemq-artemis-core-remoting-impl-netty-NettyConnectorFactory)?port=61616&host=localhost -2026-08-13 13:38:34,125 DEBUG o.a.a.a.c.r.i.n.NettyConnector [restartedMain] Connector NettyConnector [host=localhost, port=61616, httpEnabled=false, httpUpgradeEnabled=false, useServlet=false, servletPath=/messaging/ActiveMQServlet, sslEnabled=false, useNio=true] using native epoll -2026-08-13 13:38:34,138 DEBUG o.a.a.a.c.r.i.n.NettyConnector [restartedMain] Started EPOLL Netty Connector version 4.2.15.Final to localhost:61616 -2026-08-13 13:38:34,139 DEBUG o.a.a.a.c.r.i.n.NettyConnector [restartedMain] Remote destination: localhost/127.0.0.1:61616 -2026-08-13 13:38:34,183 DEBUG o.a.a.a.c.r.i.n.NettyConnector$1 [Thread-0 (activemq-client-remoting)] Added ActiveMQClientChannelHandler to Channel with id = 6518389c -2026-08-13 13:38:34,192 DEBUG o.a.a.a.c.c.i.ClientSessionFactoryImpl [restartedMain] Connected with the currentConnectorConfig=TransportConfiguration(name=null, factory=org-apache-activemq-artemis-core-remoting-impl-netty-NettyConnectorFactory)?port=61616&host=localhost -2026-08-13 13:38:34,249 DEBUG o.a.a.a.c.c.i.ClientSessionFactoryImpl [restartedMain] Reconnection successful -2026-08-13 13:38:34,250 DEBUG o.a.a.a.c.c.i.ClientSessionFactoryImpl [restartedMain] ClientSessionFactoryImpl received backup update for primary/backup pair = TransportConfiguration(name=null, factory=org-apache-activemq-artemis-core-remoting-impl-netty-NettyConnectorFactory)?port=61616&host=localhost / null but it didn't belong to TransportConfiguration(name=null, factory=org-apache-activemq-artemis-core-remoting-impl-netty-NettyConnectorFactory)?port=61616&host=localhost -2026-08-13 13:38:34,279 DEBUG o.s.j.c.SingleConnectionFactory [restartedMain] Established shared JMS Connection: org.apache.activemq.artemis.jms.client.ActiveMQConnection@5c305084 -2026-08-13 13:38:34,285 INFO o.a.c.i.e.AbstractCamelContext [restartedMain] Routes startup (total:3) -2026-08-13 13:38:34,285 INFO o.a.c.i.e.AbstractCamelContext [restartedMain] Started read-queue-media-link-add (jms://queue:media.link.add) -2026-08-13 13:38:34,285 INFO o.a.c.i.e.AbstractCamelContext [restartedMain] Started read-queue-media-lofi-add (jms://queue:media.lofi.add) -2026-08-13 13:38:34,285 INFO o.a.c.i.e.AbstractCamelContext [restartedMain] Started read-queue-media-video-add (jms://queue:media.video.add) -2026-08-13 13:38:34,285 INFO o.a.c.i.e.AbstractCamelContext [restartedMain] Apache Camel 4.10.6 (camel-1) started in 246ms (build:0ms init:0ms start:246ms boot:1s854ms) -2026-08-13 13:38:34,288 INFO d.t.k.s.SetupModuleBookshelf [restartedMain] Set up Bookshelf data -2026-08-13 13:38:34,289 INFO d.t.k.s.SetupModuleComics [restartedMain] Set up Comics data -2026-08-13 13:38:34,290 INFO d.t.k.s.SetupModuleMedia [restartedMain] Set up Media data -2026-08-13 13:38:34,290 INFO d.t.k.s.SetupModuleTysc [restartedMain] Setp up TYSC data -2026-08-13 13:38:34,295 DEBUG o.s.j.c.CachingConnectionFactory [Camel (camel-1) thread #1 - JmsConsumer[media.link.add]] Registering cached JMS Session for mode 1: ActiveMQSession->ClientSessionImpl [name=8427a13e-970b-11f1-aa6c-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@4fa149d6, metaData=()]@278b931f -2026-08-13 13:38:34,296 INFO o.s.b.StartupInfoLogger [restartedMain] Started KontorApplication in 10.608 seconds (process running for 10.99) -2026-08-13 13:38:34,295 DEBUG o.s.j.c.CachingConnectionFactory [Camel (camel-1) thread #2 - JmsConsumer[media.lofi.add]] Registering cached JMS Session for mode 1: ActiveMQSession->ClientSessionImpl [name=842927df-970b-11f1-aa6c-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@4fa149d6, metaData=()]@18682432 -2026-08-13 13:38:34,298 DEBUG o.s.j.c.CachingConnectionFactory [Camel (camel-1) thread #3 - JmsConsumer[media.video.add]] Registering cached JMS Session for mode 1: ActiveMQSession->ClientSessionImpl [name=84299d10-970b-11f1-aa6c-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@4fa149d6, metaData=()]@200c535d -2026-08-13 13:38:34,366 INFO c.v.b.d.DevModeHandlerManagerImpl [restartedMain] Application running at http://localhost:8085/ -2026-08-13 13:38:38,605 INFO o.a.j.l.DirectJDKLog [http-nio-8085-exec-1] Initializing Spring DispatcherServlet 'dispatcherServlet' -2026-08-13 13:38:38,606 INFO o.s.w.s.FrameworkServlet [http-nio-8085-exec-1] Initializing Servlet 'dispatcherServlet' -2026-08-13 13:38:38,608 INFO o.s.w.s.FrameworkServlet [http-nio-8085-exec-1] Completed initialization in 2 ms -2026-08-13 13:40:36,303 INFO o.s.b.t.GracefulShutdown [SpringApplicationShutdownHook] Commencing graceful shutdown. Waiting for active requests to complete -2026-08-13 13:40:36,306 INFO o.s.b.t.GracefulShutdown [tomcat-shutdown] Graceful shutdown complete -2026-08-13 13:40:36,310 INFO o.a.c.i.e.AbstractCamelContext [SpringApplicationShutdownHook] Apache Camel 4.10.6 (camel-1) is shutting down (timeout:45s) -2026-08-13 13:40:36,484 DEBUG o.s.j.c.CachingConnectionFactory$CachedSessionInvocationHandler [Camel (camel-1) thread #1 - JmsConsumer[media.link.add]] Closing cached Session: ActiveMQSession->ClientSessionImpl [name=8427a13e-970b-11f1-aa6c-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@4fa149d6, metaData=()]@278b931f -2026-08-13 13:40:36,484 DEBUG o.a.a.a.c.c.i.ClientSessionImpl [Camel (camel-1) thread #1 - JmsConsumer[media.link.add]] Calling close on session ClientSessionImpl [name=8427a13e-970b-11f1-aa6c-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@4fa149d6, metaData=()]@278b931f -2026-08-13 13:40:36,485 DEBUG o.a.a.a.c.c.i.ClientSessionImpl [Camel (camel-1) thread #1 - JmsConsumer[media.link.add]] calling cleanup on ClientSessionImpl [name=8427a13e-970b-11f1-aa6c-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@4fa149d6, metaData=()]@278b931f -2026-08-13 13:40:36,488 DEBUG o.s.j.c.CachingConnectionFactory$CachedSessionInvocationHandler [Camel (camel-1) thread #2 - JmsConsumer[media.lofi.add]] Closing cached Session: ActiveMQSession->ClientSessionImpl [name=842927df-970b-11f1-aa6c-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@4fa149d6, metaData=()]@18682432 -2026-08-13 13:40:36,493 DEBUG o.a.a.a.c.c.i.ClientSessionImpl [Camel (camel-1) thread #2 - JmsConsumer[media.lofi.add]] Calling close on session ClientSessionImpl [name=842927df-970b-11f1-aa6c-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@4fa149d6, metaData=()]@18682432 -2026-08-13 13:40:36,494 DEBUG o.a.a.a.c.c.i.ClientSessionImpl [Camel (camel-1) thread #2 - JmsConsumer[media.lofi.add]] calling cleanup on ClientSessionImpl [name=842927df-970b-11f1-aa6c-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@4fa149d6, metaData=()]@18682432 -2026-08-13 13:40:36,496 INFO o.a.c.s.CamelLogger [SpringApplicationShutdownHook] Routes stopped (total:3) -2026-08-13 13:40:36,496 INFO o.a.c.s.CamelLogger [SpringApplicationShutdownHook] Stopped read-queue-media-video-add (jms://queue:media.video.add) -2026-08-13 13:40:36,497 INFO o.a.c.s.CamelLogger [SpringApplicationShutdownHook] Stopped read-queue-media-lofi-add (jms://queue:media.lofi.add) -2026-08-13 13:40:36,497 INFO o.a.c.s.CamelLogger [SpringApplicationShutdownHook] Stopped read-queue-media-link-add (jms://queue:media.link.add) -2026-08-13 13:40:36,499 INFO o.a.c.i.e.AbstractCamelContext [SpringApplicationShutdownHook] Apache Camel 4.10.6 (camel-1) shutdown in 188ms (uptime:2m2s) -2026-08-13 13:40:36,499 DEBUG o.s.j.c.CachingConnectionFactory$CachedSessionInvocationHandler [SpringApplicationShutdownHook] Closing cached Session: ActiveMQSession->ClientSessionImpl [name=84299d10-970b-11f1-aa6c-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@4fa149d6, metaData=()]@200c535d -2026-08-13 13:40:36,500 DEBUG o.a.a.a.c.c.i.ClientSessionImpl [SpringApplicationShutdownHook] Calling close on session ClientSessionImpl [name=84299d10-970b-11f1-aa6c-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@4fa149d6, metaData=()]@200c535d -2026-08-13 13:40:36,500 DEBUG o.a.a.a.c.c.i.ClientSessionImpl [SpringApplicationShutdownHook] calling cleanup on ClientSessionImpl [name=84299d10-970b-11f1-aa6c-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@4fa149d6, metaData=()]@200c535d -2026-08-13 13:40:36,501 DEBUG o.s.j.c.SingleConnectionFactory [SpringApplicationShutdownHook] Closing shared JMS Connection: org.apache.activemq.artemis.jms.client.ActiveMQConnection@5c305084 -2026-08-13 13:40:36,501 DEBUG o.a.a.a.c.c.i.ClientSessionImpl [SpringApplicationShutdownHook] Calling close on session ClientSessionImpl [name=8424bb0d-970b-11f1-aa6c-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@4fa149d6, metaData=(jms-session=,)]@4df6cb30 -2026-08-13 13:40:36,502 DEBUG o.a.a.a.c.c.i.ClientSessionImpl [SpringApplicationShutdownHook] calling cleanup on ClientSessionImpl [name=8424bb0d-970b-11f1-aa6c-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@4fa149d6, metaData=(jms-session=,)]@4df6cb30 -2026-08-13 13:40:36,503 DEBUG o.a.a.a.c.c.i.ClientSessionFactoryImpl [Thread-1 (activemq-client-global)] Failure captured on connectionID=6518389c, performing failover or reconnection now -org.apache.activemq.artemis.api.core.ActiveMQNotConnectedException: [errorType=NOT_CONNECTED message=AMQ219006: Channel disconnected] - at org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl.connectionDestroyed(ClientSessionFactoryImpl.java:413) - at org.apache.activemq.artemis.core.remoting.impl.netty.NettyConnector$Listener.lambda$connectionDestroyed$0(NettyConnector.java:1199) - at org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:59) - at org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:32) - at org.apache.activemq.artemis.utils.actors.ProcessorBase.executePendingTasks(ProcessorBase.java:69) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1090) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614) - at org.apache.activemq.artemis.utils.ActiveMQThreadFactory$1.run(ActiveMQThreadFactory.java:120) -2026-08-13 13:40:36,505 DEBUG o.a.a.a.c.c.i.ClientSessionImpl [SpringApplicationShutdownHook] Session was already closed, giving up now, this=ClientSessionImpl [name=8424bb0d-970b-11f1-aa6c-5e5c628d27e5, username=artemis, closed=true, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@4fa149d6, metaData=(jms-session=,)]@4df6cb30 -2026-08-13 13:40:36,514 INFO o.s.o.j.AbstractEntityManagerFactoryBean [SpringApplicationShutdownHook] Closing JPA EntityManagerFactory for persistence unit 'default' -2026-08-13 13:40:36,516 INFO c.z.h.HikariDataSource [SpringApplicationShutdownHook] HikariPool-1 - Shutdown initiated... -2026-08-13 13:40:36,518 INFO c.z.h.HikariDataSource [SpringApplicationShutdownHook] HikariPool-1 - Shutdown completed. -2026-08-13 13:40:48,685 INFO o.s.b.StartupInfoLogger [restartedMain] Starting KontorApplication using Java 25.0.2 with PID 3714000 (/home/tpeetz/projects/kontor/kontor-spring/build/classes/java/main started by tpeetz in /home/tpeetz/projects/kontor/kontor-spring) -2026-08-13 13:40:48,687 INFO o.s.b.SpringApplication [restartedMain] The following 1 profile is active: "local" -2026-08-13 13:40:48,762 INFO o.s.b.l.LogLevel [restartedMain] For additional web related logging consider setting the 'logging.level.web' property to 'DEBUG' -2026-08-13 13:40:49,727 INFO o.s.d.r.c.RepositoryConfigurationDelegate [restartedMain] Bootstrapping Spring Data JPA repositories in DEFAULT mode. -2026-08-13 13:40:49,905 INFO o.s.d.r.c.RepositoryConfigurationDelegate [restartedMain] Finished Spring Data repository scanning in 167 ms. Found 34 JPA repository interfaces. -2026-08-13 13:40:50,741 INFO o.s.b.t.TomcatWebServer [restartedMain] Tomcat initialized with port 8085 (http) -2026-08-13 13:40:50,758 INFO o.a.j.l.DirectJDKLog [restartedMain] Initializing ProtocolHandler ["http-nio-8085"] -2026-08-13 13:40:50,761 INFO o.a.j.l.DirectJDKLog [restartedMain] Starting service [Tomcat] -2026-08-13 13:40:50,762 INFO o.a.j.l.DirectJDKLog [restartedMain] Starting Servlet engine: [Apache Tomcat/11.0.24] -2026-08-13 13:40:50,806 INFO o.s.b.w.c.s.WebApplicationContextInitializer [restartedMain] Root WebApplicationContext: initialization completed in 2042 ms -2026-08-13 13:40:53,694 INFO c.v.f.s.VaadinServletContextInitializer$DevModeServletContextListener [restartedMain] Search for subclasses and classes with annotations took 2496 ms -2026-08-13 13:40:53,756 INFO c.v.b.d.s.DevModeInitializer [restartedMain] Starting dev-mode updaters in /home/tpeetz/projects/kontor/kontor-spring folder. -2026-08-13 13:40:53,786 INFO c.v.f.s.f.s.FullDependenciesScanner [restartedMain] Visited 182 classes. Took 18 ms. -2026-08-13 13:40:53,788 INFO c.v.f.s.f.BundleValidationUtil [restartedMain] Checking if a development mode bundle build is needed -2026-08-13 13:40:53,890 INFO c.v.f.s.f.BundleValidationUtil [restartedMain] A development mode bundle build is not needed -2026-08-13 13:40:53,919 INFO c.v.f.s.f.TaskCopyFrontendFiles [vaadin-dev-server-1] Copying frontend resources from jar files ... -2026-08-13 13:40:53,983 INFO c.v.f.s.f.TaskCopyFrontendFiles [vaadin-dev-server-1] Visited 20 resources. Took 63 ms. -2026-08-13 13:40:54,014 INFO o.h.j.i.u.LogHelper [restartedMain] HHH008540: Processing PersistenceUnitInfo [name: default] -2026-08-13 13:40:54,050 INFO o.h.Version [restartedMain] HHH000001: Hibernate ORM core version 7.4.1.Final -2026-08-13 13:40:54,212 INFO c.z.h.HikariDataSource [restartedMain] HikariPool-1 - Starting... -2026-08-13 13:40:54,298 INFO c.z.h.p.HikariPool [restartedMain] HikariPool-1 - Added connection org.postgresql.jdbc.PgConnection@7743fdcd -2026-08-13 13:40:54,299 INFO c.z.h.HikariDataSource [restartedMain] HikariPool-1 - Start completed. -2026-08-13 13:40:54,343 INFO o.h.e.j.e.i.JdbcEnvironmentInitiator [restartedMain] HHH10001005: Database info: - Database JDBC URL [jdbc:postgresql://localhost:5432/kontor] - Database driver: PostgreSQL JDBC Driver - Database dialect: PostgreSQLDialect - Database version: 17.7 - Default catalog/schema: kontor/public - Autocommit mode: undefined/unknown - Isolation level: READ_COMMITTED [default READ_COMMITTED] - JDBC fetch size: none - Pool: DataSourceConnectionProvider - Minimum pool size: undefined/unknown - Maximum pool size: undefined/unknown -2026-08-13 13:40:54,494 INFO o.s.o.j.p.SpringPersistenceUnitInfo [restartedMain] No LoadTimeWeaver setup: ignoring JPA class transformer -2026-08-13 13:40:54,892 INFO o.h.v.i.u.Version [restartedMain] HV000001: Hibernate Validator 9.1.0.Final -2026-08-13 13:40:56,212 INFO o.h.e.t.j.p.i.JtaPlatformInitiator [restartedMain] HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) -2026-08-13 13:40:56,304 INFO o.s.o.j.AbstractEntityManagerFactoryBean [restartedMain] Initialized JPA EntityManagerFactory for persistence unit 'default' -2026-08-13 13:40:56,402 INFO o.s.d.j.r.q.QueryEnhancerFactories [restartedMain] Hibernate is in classpath; If applicable, HQL parser will be used. -2026-08-13 13:40:57,801 WARN o.s.b.j.a.JpaBaseConfiguration$JpaWebConfiguration [restartedMain] spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning -2026-08-13 13:40:57,868 INFO o.s.s.c.a.a.c.InitializeUserDetailsBeanManagerConfigurer$InitializeUserDetailsManagerConfigurer [restartedMain] Global AuthenticationManager configured with UserDetailsService bean with name userDetailsService -2026-08-13 13:40:58,474 DEBUG o.a.a.a.u.UUIDGenerator [restartedMain] using hardware address 5e:5c:62:ffffff8d:27:-27 -2026-08-13 13:40:58,785 INFO o.s.b.a.e.w.EndpointLinksResolver [restartedMain] Exposing 5 endpoints beneath base path '/actuator' -2026-08-13 13:40:58,955 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereHandler com.vaadin.flow.server.communication.PushAtmosphereHandler mapped to context-path: /* -2026-08-13 13:40:58,955 INFO o.a.c.AtmosphereFramework [restartedMain] Installed the following AtmosphereInterceptor mapped to AtmosphereHandler com.vaadin.flow.server.communication.PushAtmosphereHandler -2026-08-13 13:40:58,989 INFO o.a.c.AtmosphereFramework [restartedMain] Atmosphere is using org.atmosphere.util.VoidAnnotationProcessor for processing annotation -2026-08-13 13:40:58,996 INFO o.a.u.ForkJoinPool [restartedMain] Using ForkJoinPool java.util.concurrent.ForkJoinPool. Set the org.atmosphere.cpr.broadcaster.maxAsyncWriteThreads to -1 to fully use its power. -2026-08-13 13:40:59,000 INFO o.a.c.AtmosphereFramework [restartedMain] Installed WebSocketProtocol org.atmosphere.websocket.protocol.SimpleHttpProtocol -2026-08-13 13:40:59,006 INFO o.a.c.JSR356AsyncSupport [restartedMain] JSR 356 Mapping path /VAADIN/push -2026-08-13 13:40:59,019 INFO o.a.c.AtmosphereFramework [restartedMain] Installing Default AtmosphereInterceptors -2026-08-13 13:40:59,020 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.CorsInterceptor : CORS Interceptor Support -2026-08-13 13:40:59,020 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.CacheHeadersInterceptor : Default Response's Headers Interceptor -2026-08-13 13:40:59,021 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.PaddingAtmosphereInterceptor : Browser Padding Interceptor Support -2026-08-13 13:40:59,022 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.AndroidAtmosphereInterceptor : Android Interceptor Support -2026-08-13 13:40:59,022 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.HeartbeatInterceptor : Heartbeat Interceptor Support -2026-08-13 13:40:59,023 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.SSEAtmosphereInterceptor : SSE Interceptor Support -2026-08-13 13:40:59,023 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.JSONPAtmosphereInterceptor : JSONP Interceptor Support -2026-08-13 13:40:59,024 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.JavaScriptProtocol : Atmosphere JavaScript Protocol -2026-08-13 13:40:59,025 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.WebSocketMessageSuspendInterceptor : org.atmosphere.interceptor.WebSocketMessageSuspendInterceptor -2026-08-13 13:40:59,025 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.OnDisconnectInterceptor : Browser disconnection detection -2026-08-13 13:40:59,025 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.IdleResourceInterceptor : org.atmosphere.interceptor.IdleResourceInterceptor -2026-08-13 13:40:59,026 INFO o.a.c.AtmosphereFramework [restartedMain] Set org.atmosphere.cpr.AtmosphereInterceptor.disableDefaults to disable them. -2026-08-13 13:40:59,026 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor CORS Interceptor Support with priority FIRST_BEFORE_DEFAULT -2026-08-13 13:40:59,026 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor Default Response's Headers Interceptor with priority AFTER_DEFAULT -2026-08-13 13:40:59,027 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor Browser Padding Interceptor Support with priority AFTER_DEFAULT -2026-08-13 13:40:59,027 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor Android Interceptor Support with priority AFTER_DEFAULT -2026-08-13 13:40:59,027 INFO o.a.i.HeartbeatInterceptor [restartedMain] HeartbeatInterceptor configured with padding value 'X', client frequency 0 seconds and server frequency 60 seconds -2026-08-13 13:40:59,027 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor Heartbeat Interceptor Support with priority AFTER_DEFAULT -2026-08-13 13:40:59,028 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor SSE Interceptor Support with priority AFTER_DEFAULT -2026-08-13 13:40:59,028 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor JSONP Interceptor Support with priority AFTER_DEFAULT -2026-08-13 13:40:59,028 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor Atmosphere JavaScript Protocol with priority AFTER_DEFAULT -2026-08-13 13:40:59,028 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor org.atmosphere.interceptor.WebSocketMessageSuspendInterceptor with priority AFTER_DEFAULT -2026-08-13 13:40:59,028 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor Browser disconnection detection with priority AFTER_DEFAULT -2026-08-13 13:40:59,028 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor org.atmosphere.interceptor.IdleResourceInterceptor with priority BEFORE_DEFAULT -2026-08-13 13:40:59,029 INFO o.a.c.AtmosphereFramework [restartedMain] Using EndpointMapper class org.atmosphere.util.DefaultEndpointMapper -2026-08-13 13:40:59,030 INFO o.a.c.AtmosphereFramework [restartedMain] Using BroadcasterCache: org.atmosphere.cache.UUIDBroadcasterCache -2026-08-13 13:40:59,030 INFO o.a.c.AtmosphereFramework [restartedMain] Default Broadcaster Class: org.atmosphere.cpr.DefaultBroadcaster -2026-08-13 13:40:59,030 INFO o.a.c.AtmosphereFramework [restartedMain] Broadcaster Shared List Resources: false -2026-08-13 13:40:59,030 INFO o.a.c.AtmosphereFramework [restartedMain] Broadcaster Polling Wait Time 100 -2026-08-13 13:40:59,030 INFO o.a.c.AtmosphereFramework [restartedMain] Shared ExecutorService supported: true -2026-08-13 13:40:59,030 INFO o.a.c.AtmosphereFramework [restartedMain] Messaging ExecutorService Pool Size unavailable - Not instance of ThreadPoolExecutor -2026-08-13 13:40:59,030 INFO o.a.c.AtmosphereFramework [restartedMain] Async I/O Thread Pool Size: 200 -2026-08-13 13:40:59,030 INFO o.a.c.AtmosphereFramework [restartedMain] Using BroadcasterFactory: org.atmosphere.cpr.DefaultBroadcasterFactory -2026-08-13 13:40:59,031 INFO o.a.c.AtmosphereFramework [restartedMain] Using AtmosphereResurceFactory: org.atmosphere.cpr.DefaultAtmosphereResourceFactory -2026-08-13 13:40:59,031 INFO o.a.c.AtmosphereFramework [restartedMain] Using WebSocketProcessor: org.atmosphere.websocket.DefaultWebSocketProcessor -2026-08-13 13:40:59,033 INFO o.a.c.AtmosphereFramework [restartedMain] Invoke AtmosphereInterceptor on WebSocket message true -2026-08-13 13:40:59,033 INFO o.a.c.AtmosphereFramework [restartedMain] HttpSession supported: true -2026-08-13 13:40:59,033 INFO o.a.c.AtmosphereFramework [restartedMain] Atmosphere is using org.atmosphere.inject.InjectableObjectFactory for dependency injection and object creation -2026-08-13 13:40:59,034 INFO o.a.c.AtmosphereFramework [restartedMain] Atmosphere is using async support: org.atmosphere.container.JSR356AsyncSupport running under container: Apache Tomcat/11.0.24 using jakarta.servlet/3.0 and jsr356/WebSocket API -2026-08-13 13:40:59,034 INFO o.a.c.AtmosphereFramework [restartedMain] Atmosphere Framework 3.0.5.slf4jvaadin1 started. -2026-08-13 13:40:59,037 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor Track Message Size Interceptor using | with priority BEFORE_DEFAULT -2026-08-13 13:40:59,076 INFO o.a.j.l.DirectJDKLog [restartedMain] Starting ProtocolHandler ["http-nio-8085"] -2026-08-13 13:40:59,096 INFO c.v.f.s.DefaultDeploymentConfiguration [restartedMain] -Vaadin is running in DEVELOPMENT mode - do not use for production deployments. -2026-08-13 13:40:59,151 INFO o.s.b.t.TomcatWebServer [restartedMain] Tomcat started on port 8085 (http) with context path '/' -2026-08-13 13:40:59,364 INFO o.a.c.i.e.AbstractCamelContext [restartedMain] Apache Camel 4.10.6 (camel-1) is starting -2026-08-13 13:40:59,388 DEBUG o.a.a.a.c.c.i.ClientSessionFactoryImpl [restartedMain] Trying reconnection attempt 0/1 -2026-08-13 13:40:59,389 DEBUG o.a.a.a.c.c.i.ClientSessionFactoryImpl [restartedMain] Trying to connect with connectorFactory=org.apache.activemq.artemis.core.remoting.impl.netty.NettyConnectorFactory@544440b1 and currentConnectorConfig: TransportConfiguration(name=null, factory=org-apache-activemq-artemis-core-remoting-impl-netty-NettyConnectorFactory)?port=61616&host=localhost -2026-08-13 13:40:59,460 DEBUG o.a.a.a.c.r.i.n.NettyConnector [restartedMain] Connector NettyConnector [host=localhost, port=61616, httpEnabled=false, httpUpgradeEnabled=false, useServlet=false, servletPath=/messaging/ActiveMQServlet, sslEnabled=false, useNio=true] using native epoll -2026-08-13 13:40:59,484 DEBUG o.a.a.a.c.r.i.n.NettyConnector [restartedMain] Started EPOLL Netty Connector version 4.2.15.Final to localhost:61616 -2026-08-13 13:40:59,487 DEBUG o.a.a.a.c.r.i.n.NettyConnector [restartedMain] Remote destination: localhost/127.0.0.1:61616 -2026-08-13 13:40:59,549 DEBUG o.a.a.a.c.r.i.n.NettyConnector$1 [Thread-0 (activemq-client-remoting)] Added ActiveMQClientChannelHandler to Channel with id = 1a76c6d7 -2026-08-13 13:40:59,560 DEBUG o.a.a.a.c.c.i.ClientSessionFactoryImpl [restartedMain] Connected with the currentConnectorConfig=TransportConfiguration(name=null, factory=org-apache-activemq-artemis-core-remoting-impl-netty-NettyConnectorFactory)?port=61616&host=localhost -2026-08-13 13:40:59,650 DEBUG o.a.a.a.c.c.i.ClientSessionFactoryImpl [restartedMain] Reconnection successful -2026-08-13 13:40:59,651 DEBUG o.a.a.a.c.c.i.ClientSessionFactoryImpl [restartedMain] ClientSessionFactoryImpl received backup update for primary/backup pair = TransportConfiguration(name=null, factory=org-apache-activemq-artemis-core-remoting-impl-netty-NettyConnectorFactory)?port=61616&host=localhost / null but it didn't belong to TransportConfiguration(name=null, factory=org-apache-activemq-artemis-core-remoting-impl-netty-NettyConnectorFactory)?port=61616&host=localhost -2026-08-13 13:40:59,690 DEBUG o.s.j.c.SingleConnectionFactory [restartedMain] Established shared JMS Connection: org.apache.activemq.artemis.jms.client.ActiveMQConnection@6ea778e0 -2026-08-13 13:40:59,698 INFO o.a.c.i.e.AbstractCamelContext [restartedMain] Routes startup (total:3) -2026-08-13 13:40:59,698 INFO o.a.c.i.e.AbstractCamelContext [restartedMain] Started read-queue-media-link-add (jms://queue:media.link.add) -2026-08-13 13:40:59,698 INFO o.a.c.i.e.AbstractCamelContext [restartedMain] Started read-queue-media-lofi-add (jms://queue:media.lofi.add) -2026-08-13 13:40:59,698 INFO o.a.c.i.e.AbstractCamelContext [restartedMain] Started read-queue-media-video-add (jms://queue:media.video.add) -2026-08-13 13:40:59,699 INFO o.a.c.i.e.AbstractCamelContext [restartedMain] Apache Camel 4.10.6 (camel-1) started in 334ms (build:0ms init:0ms start:334ms boot:2s259ms) -2026-08-13 13:40:59,701 INFO d.t.k.s.SetupModuleBookshelf [restartedMain] Set up Bookshelf data -2026-08-13 13:40:59,702 INFO d.t.k.s.SetupModuleComics [restartedMain] Set up Comics data -2026-08-13 13:40:59,702 INFO d.t.k.s.SetupModuleMedia [restartedMain] Set up Media data -2026-08-13 13:40:59,702 INFO d.t.k.s.SetupModuleTysc [restartedMain] Setp up TYSC data -2026-08-13 13:40:59,705 INFO o.s.b.StartupInfoLogger [restartedMain] Started KontorApplication in 11.524 seconds (process running for 11.886) -2026-08-13 13:40:59,707 DEBUG o.s.j.c.CachingConnectionFactory [Camel (camel-1) thread #1 - JmsConsumer[media.link.add]] Registering cached JMS Session for mode 1: ActiveMQSession->ClientSessionImpl [name=dad3bd3e-970b-11f1-afdc-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@51c43b1b, metaData=()]@22262260 -2026-08-13 13:40:59,707 DEBUG o.s.j.c.CachingConnectionFactory [Camel (camel-1) thread #2 - JmsConsumer[media.lofi.add]] Registering cached JMS Session for mode 1: ActiveMQSession->ClientSessionImpl [name=dad56aef-970b-11f1-afdc-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@51c43b1b, metaData=()]@1e6b70d6 -2026-08-13 13:40:59,709 DEBUG o.s.j.c.CachingConnectionFactory [Camel (camel-1) thread #3 - JmsConsumer[media.video.add]] Registering cached JMS Session for mode 1: ActiveMQSession->ClientSessionImpl [name=dad5b910-970b-11f1-afdc-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@51c43b1b, metaData=()]@a6e4d23 -2026-08-13 13:40:59,791 INFO c.v.b.d.DevModeHandlerManagerImpl [restartedMain] Application running at http://localhost:8085/ -2026-08-13 13:41:05,609 INFO o.a.j.l.DirectJDKLog [http-nio-8085-exec-1] Initializing Spring DispatcherServlet 'dispatcherServlet' -2026-08-13 13:41:05,609 INFO o.s.w.s.FrameworkServlet [http-nio-8085-exec-1] Initializing Servlet 'dispatcherServlet' -2026-08-13 13:41:05,614 INFO o.s.w.s.FrameworkServlet [http-nio-8085-exec-1] Completed initialization in 4 ms -2026-08-13 13:45:02,660 INFO o.s.b.t.GracefulShutdown [SpringApplicationShutdownHook] Commencing graceful shutdown. Waiting for active requests to complete -2026-08-13 13:45:02,665 INFO o.s.b.t.GracefulShutdown [tomcat-shutdown] Graceful shutdown complete -2026-08-13 13:45:02,668 INFO o.a.c.i.e.AbstractCamelContext [SpringApplicationShutdownHook] Apache Camel 4.10.6 (camel-1) is shutting down (timeout:45s) -2026-08-13 13:45:03,037 DEBUG o.s.j.c.CachingConnectionFactory$CachedSessionInvocationHandler [Camel (camel-1) thread #3 - JmsConsumer[media.video.add]] Closing cached Session: ActiveMQSession->ClientSessionImpl [name=dad5b910-970b-11f1-afdc-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@51c43b1b, metaData=()]@a6e4d23 -2026-08-13 13:45:03,037 DEBUG o.s.j.c.CachingConnectionFactory$CachedSessionInvocationHandler [Camel (camel-1) thread #2 - JmsConsumer[media.lofi.add]] Closing cached Session: ActiveMQSession->ClientSessionImpl [name=dad56aef-970b-11f1-afdc-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@51c43b1b, metaData=()]@1e6b70d6 -2026-08-13 13:45:03,037 DEBUG o.a.a.a.c.c.i.ClientSessionImpl [Camel (camel-1) thread #3 - JmsConsumer[media.video.add]] Calling close on session ClientSessionImpl [name=dad5b910-970b-11f1-afdc-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@51c43b1b, metaData=()]@a6e4d23 -2026-08-13 13:45:03,038 DEBUG o.a.a.a.c.c.i.ClientSessionImpl [Camel (camel-1) thread #3 - JmsConsumer[media.video.add]] calling cleanup on ClientSessionImpl [name=dad5b910-970b-11f1-afdc-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@51c43b1b, metaData=()]@a6e4d23 -2026-08-13 13:45:03,048 DEBUG o.a.a.a.c.c.i.ClientSessionImpl [Camel (camel-1) thread #2 - JmsConsumer[media.lofi.add]] Calling close on session ClientSessionImpl [name=dad56aef-970b-11f1-afdc-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@51c43b1b, metaData=()]@1e6b70d6 -2026-08-13 13:45:03,049 DEBUG o.a.a.a.c.c.i.ClientSessionImpl [Camel (camel-1) thread #2 - JmsConsumer[media.lofi.add]] calling cleanup on ClientSessionImpl [name=dad56aef-970b-11f1-afdc-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@51c43b1b, metaData=()]@1e6b70d6 -2026-08-13 13:45:03,052 INFO o.a.c.s.CamelLogger [SpringApplicationShutdownHook] Routes stopped (total:3) -2026-08-13 13:45:03,053 INFO o.a.c.s.CamelLogger [SpringApplicationShutdownHook] Stopped read-queue-media-video-add (jms://queue:media.video.add) -2026-08-13 13:45:03,053 INFO o.a.c.s.CamelLogger [SpringApplicationShutdownHook] Stopped read-queue-media-lofi-add (jms://queue:media.lofi.add) -2026-08-13 13:45:03,053 INFO o.a.c.s.CamelLogger [SpringApplicationShutdownHook] Stopped read-queue-media-link-add (jms://queue:media.link.add) -2026-08-13 13:45:03,056 INFO o.a.c.i.e.AbstractCamelContext [SpringApplicationShutdownHook] Apache Camel 4.10.6 (camel-1) shutdown in 387ms (uptime:4m3s) -2026-08-13 13:45:03,056 DEBUG o.s.j.c.CachingConnectionFactory$CachedSessionInvocationHandler [SpringApplicationShutdownHook] Closing cached Session: ActiveMQSession->ClientSessionImpl [name=dad3bd3e-970b-11f1-afdc-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@51c43b1b, metaData=()]@22262260 -2026-08-13 13:45:03,056 DEBUG o.a.a.a.c.c.i.ClientSessionImpl [SpringApplicationShutdownHook] Calling close on session ClientSessionImpl [name=dad3bd3e-970b-11f1-afdc-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@51c43b1b, metaData=()]@22262260 -2026-08-13 13:45:03,057 DEBUG o.a.a.a.c.c.i.ClientSessionImpl [SpringApplicationShutdownHook] calling cleanup on ClientSessionImpl [name=dad3bd3e-970b-11f1-afdc-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@51c43b1b, metaData=()]@22262260 -2026-08-13 13:45:03,057 DEBUG o.s.j.c.SingleConnectionFactory [SpringApplicationShutdownHook] Closing shared JMS Connection: org.apache.activemq.artemis.jms.client.ActiveMQConnection@6ea778e0 -2026-08-13 13:45:03,058 DEBUG o.a.a.a.c.c.i.ClientSessionImpl [SpringApplicationShutdownHook] Calling close on session ClientSessionImpl [name=dacfc59d-970b-11f1-afdc-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@51c43b1b, metaData=(jms-session=,)]@39cb73a4 -2026-08-13 13:45:03,058 DEBUG o.a.a.a.c.c.i.ClientSessionImpl [SpringApplicationShutdownHook] calling cleanup on ClientSessionImpl [name=dacfc59d-970b-11f1-afdc-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@51c43b1b, metaData=(jms-session=,)]@39cb73a4 -2026-08-13 13:45:03,060 DEBUG o.a.a.a.c.c.i.ClientSessionFactoryImpl [Thread-1 (activemq-client-global)] Failure captured on connectionID=1a76c6d7, performing failover or reconnection now -org.apache.activemq.artemis.api.core.ActiveMQNotConnectedException: [errorType=NOT_CONNECTED message=AMQ219006: Channel disconnected] - at org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl.connectionDestroyed(ClientSessionFactoryImpl.java:413) - at org.apache.activemq.artemis.core.remoting.impl.netty.NettyConnector$Listener.lambda$connectionDestroyed$0(NettyConnector.java:1199) - at org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:59) - at org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:32) - at org.apache.activemq.artemis.utils.actors.ProcessorBase.executePendingTasks(ProcessorBase.java:69) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1090) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614) - at org.apache.activemq.artemis.utils.ActiveMQThreadFactory$1.run(ActiveMQThreadFactory.java:120) -2026-08-13 13:45:03,063 DEBUG o.a.a.a.c.c.i.ClientSessionImpl [SpringApplicationShutdownHook] Session was already closed, giving up now, this=ClientSessionImpl [name=dacfc59d-970b-11f1-afdc-5e5c628d27e5, username=artemis, closed=true, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@51c43b1b, metaData=(jms-session=,)]@39cb73a4 -2026-08-13 13:45:03,071 INFO o.s.o.j.AbstractEntityManagerFactoryBean [SpringApplicationShutdownHook] Closing JPA EntityManagerFactory for persistence unit 'default' -2026-08-13 13:45:03,078 INFO c.z.h.HikariDataSource [SpringApplicationShutdownHook] HikariPool-1 - Shutdown initiated... -2026-08-13 13:45:03,080 INFO c.z.h.HikariDataSource [SpringApplicationShutdownHook] HikariPool-1 - Shutdown completed. -2026-08-13 13:45:13,339 INFO o.s.b.StartupInfoLogger [restartedMain] Starting KontorApplication using Java 25.0.2 with PID 3745007 (/home/tpeetz/projects/kontor/kontor-spring/build/classes/java/main started by tpeetz in /home/tpeetz/projects/kontor/kontor-spring) -2026-08-13 13:45:13,342 INFO o.s.b.SpringApplication [restartedMain] The following 1 profile is active: "local" -2026-08-13 13:45:13,394 INFO o.s.b.l.LogLevel [restartedMain] For additional web related logging consider setting the 'logging.level.web' property to 'DEBUG' -2026-08-13 13:45:14,373 INFO o.s.d.r.c.RepositoryConfigurationDelegate [restartedMain] Bootstrapping Spring Data JPA repositories in DEFAULT mode. -2026-08-13 13:45:14,556 INFO o.s.d.r.c.RepositoryConfigurationDelegate [restartedMain] Finished Spring Data repository scanning in 172 ms. Found 34 JPA repository interfaces. -2026-08-13 13:45:15,134 INFO o.s.b.t.TomcatWebServer [restartedMain] Tomcat initialized with port 8085 (http) -2026-08-13 13:45:15,143 INFO o.a.j.l.DirectJDKLog [restartedMain] Initializing ProtocolHandler ["http-nio-8085"] -2026-08-13 13:45:15,145 INFO o.a.j.l.DirectJDKLog [restartedMain] Starting service [Tomcat] -2026-08-13 13:45:15,145 INFO o.a.j.l.DirectJDKLog [restartedMain] Starting Servlet engine: [Apache Tomcat/11.0.24] -2026-08-13 13:45:15,198 INFO o.s.b.w.c.s.WebApplicationContextInitializer [restartedMain] Root WebApplicationContext: initialization completed in 1802 ms -2026-08-13 13:45:18,176 INFO c.v.f.s.VaadinServletContextInitializer$DevModeServletContextListener [restartedMain] Search for subclasses and classes with annotations took 2610 ms -2026-08-13 13:45:18,238 INFO c.v.b.d.s.DevModeInitializer [restartedMain] Starting dev-mode updaters in /home/tpeetz/projects/kontor/kontor-spring folder. -2026-08-13 13:45:18,270 INFO c.v.f.s.f.s.FullDependenciesScanner [restartedMain] Visited 182 classes. Took 20 ms. -2026-08-13 13:45:18,272 INFO c.v.f.s.f.BundleValidationUtil [restartedMain] Checking if a development mode bundle build is needed -2026-08-13 13:45:18,371 INFO c.v.f.s.f.BundleValidationUtil [restartedMain] A development mode bundle build is not needed -2026-08-13 13:45:18,393 INFO c.v.f.s.f.TaskCopyFrontendFiles [vaadin-dev-server-1] Copying frontend resources from jar files ... -2026-08-13 13:45:18,456 INFO c.v.f.s.f.TaskCopyFrontendFiles [vaadin-dev-server-1] Visited 20 resources. Took 62 ms. -2026-08-13 13:45:18,504 INFO o.h.j.i.u.LogHelper [restartedMain] HHH008540: Processing PersistenceUnitInfo [name: default] -2026-08-13 13:45:18,538 INFO o.h.Version [restartedMain] HHH000001: Hibernate ORM core version 7.4.1.Final -2026-08-13 13:45:18,694 INFO c.z.h.HikariDataSource [restartedMain] HikariPool-1 - Starting... -2026-08-13 13:45:18,802 INFO c.z.h.p.HikariPool [restartedMain] HikariPool-1 - Added connection org.postgresql.jdbc.PgConnection@4048a12e -2026-08-13 13:45:18,804 INFO c.z.h.HikariDataSource [restartedMain] HikariPool-1 - Start completed. -2026-08-13 13:45:18,856 INFO o.h.e.j.e.i.JdbcEnvironmentInitiator [restartedMain] HHH10001005: Database info: - Database JDBC URL [jdbc:postgresql://localhost:5432/kontor] - Database driver: PostgreSQL JDBC Driver - Database dialect: PostgreSQLDialect - Database version: 17.7 - Default catalog/schema: kontor/public - Autocommit mode: undefined/unknown - Isolation level: READ_COMMITTED [default READ_COMMITTED] - JDBC fetch size: none - Pool: DataSourceConnectionProvider - Minimum pool size: undefined/unknown - Maximum pool size: undefined/unknown -2026-08-13 13:45:19,017 INFO o.s.o.j.p.SpringPersistenceUnitInfo [restartedMain] No LoadTimeWeaver setup: ignoring JPA class transformer -2026-08-13 13:45:19,391 INFO o.h.v.i.u.Version [restartedMain] HV000001: Hibernate Validator 9.1.0.Final -2026-08-13 13:45:20,288 INFO o.h.e.t.j.p.i.JtaPlatformInitiator [restartedMain] HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) -2026-08-13 13:45:20,361 INFO o.s.o.j.AbstractEntityManagerFactoryBean [restartedMain] Initialized JPA EntityManagerFactory for persistence unit 'default' -2026-08-13 13:45:20,440 INFO o.s.d.j.r.q.QueryEnhancerFactories [restartedMain] Hibernate is in classpath; If applicable, HQL parser will be used. -2026-08-13 13:45:21,752 WARN o.s.b.j.a.JpaBaseConfiguration$JpaWebConfiguration [restartedMain] spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning -2026-08-13 13:45:21,812 INFO o.s.s.c.a.a.c.InitializeUserDetailsBeanManagerConfigurer$InitializeUserDetailsManagerConfigurer [restartedMain] Global AuthenticationManager configured with UserDetailsService bean with name userDetailsService -2026-08-13 13:45:22,342 DEBUG o.a.a.a.u.UUIDGenerator [restartedMain] using hardware address 5e:5c:62:ffffff8d:27:-27 -2026-08-13 13:45:22,529 INFO o.s.b.a.e.w.EndpointLinksResolver [restartedMain] Exposing 5 endpoints beneath base path '/actuator' -2026-08-13 13:45:22,656 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereHandler com.vaadin.flow.server.communication.PushAtmosphereHandler mapped to context-path: /* -2026-08-13 13:45:22,657 INFO o.a.c.AtmosphereFramework [restartedMain] Installed the following AtmosphereInterceptor mapped to AtmosphereHandler com.vaadin.flow.server.communication.PushAtmosphereHandler -2026-08-13 13:45:22,683 INFO o.a.c.AtmosphereFramework [restartedMain] Atmosphere is using org.atmosphere.util.VoidAnnotationProcessor for processing annotation -2026-08-13 13:45:22,688 INFO o.a.u.ForkJoinPool [restartedMain] Using ForkJoinPool java.util.concurrent.ForkJoinPool. Set the org.atmosphere.cpr.broadcaster.maxAsyncWriteThreads to -1 to fully use its power. -2026-08-13 13:45:22,701 INFO o.a.c.AtmosphereFramework [restartedMain] Installed WebSocketProtocol org.atmosphere.websocket.protocol.SimpleHttpProtocol -2026-08-13 13:45:22,706 INFO o.a.c.JSR356AsyncSupport [restartedMain] JSR 356 Mapping path /VAADIN/push -2026-08-13 13:45:22,724 INFO o.a.c.AtmosphereFramework [restartedMain] Installing Default AtmosphereInterceptors -2026-08-13 13:45:22,725 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.CorsInterceptor : CORS Interceptor Support -2026-08-13 13:45:22,726 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.CacheHeadersInterceptor : Default Response's Headers Interceptor -2026-08-13 13:45:22,726 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.PaddingAtmosphereInterceptor : Browser Padding Interceptor Support -2026-08-13 13:45:22,727 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.AndroidAtmosphereInterceptor : Android Interceptor Support -2026-08-13 13:45:22,728 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.HeartbeatInterceptor : Heartbeat Interceptor Support -2026-08-13 13:45:22,729 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.SSEAtmosphereInterceptor : SSE Interceptor Support -2026-08-13 13:45:22,730 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.JSONPAtmosphereInterceptor : JSONP Interceptor Support -2026-08-13 13:45:22,731 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.JavaScriptProtocol : Atmosphere JavaScript Protocol -2026-08-13 13:45:22,731 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.WebSocketMessageSuspendInterceptor : org.atmosphere.interceptor.WebSocketMessageSuspendInterceptor -2026-08-13 13:45:22,732 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.OnDisconnectInterceptor : Browser disconnection detection -2026-08-13 13:45:22,732 INFO o.a.c.AtmosphereFramework [restartedMain] org.atmosphere.interceptor.IdleResourceInterceptor : org.atmosphere.interceptor.IdleResourceInterceptor -2026-08-13 13:45:22,732 INFO o.a.c.AtmosphereFramework [restartedMain] Set org.atmosphere.cpr.AtmosphereInterceptor.disableDefaults to disable them. -2026-08-13 13:45:22,732 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor CORS Interceptor Support with priority FIRST_BEFORE_DEFAULT -2026-08-13 13:45:22,733 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor Default Response's Headers Interceptor with priority AFTER_DEFAULT -2026-08-13 13:45:22,734 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor Browser Padding Interceptor Support with priority AFTER_DEFAULT -2026-08-13 13:45:22,734 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor Android Interceptor Support with priority AFTER_DEFAULT -2026-08-13 13:45:22,734 INFO o.a.i.HeartbeatInterceptor [restartedMain] HeartbeatInterceptor configured with padding value 'X', client frequency 0 seconds and server frequency 60 seconds -2026-08-13 13:45:22,734 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor Heartbeat Interceptor Support with priority AFTER_DEFAULT -2026-08-13 13:45:22,735 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor SSE Interceptor Support with priority AFTER_DEFAULT -2026-08-13 13:45:22,735 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor JSONP Interceptor Support with priority AFTER_DEFAULT -2026-08-13 13:45:22,735 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor Atmosphere JavaScript Protocol with priority AFTER_DEFAULT -2026-08-13 13:45:22,736 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor org.atmosphere.interceptor.WebSocketMessageSuspendInterceptor with priority AFTER_DEFAULT -2026-08-13 13:45:22,736 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor Browser disconnection detection with priority AFTER_DEFAULT -2026-08-13 13:45:22,736 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor org.atmosphere.interceptor.IdleResourceInterceptor with priority BEFORE_DEFAULT -2026-08-13 13:45:22,737 INFO o.a.c.AtmosphereFramework [restartedMain] Using EndpointMapper class org.atmosphere.util.DefaultEndpointMapper -2026-08-13 13:45:22,738 INFO o.a.c.AtmosphereFramework [restartedMain] Using BroadcasterCache: org.atmosphere.cache.UUIDBroadcasterCache -2026-08-13 13:45:22,738 INFO o.a.c.AtmosphereFramework [restartedMain] Default Broadcaster Class: org.atmosphere.cpr.DefaultBroadcaster -2026-08-13 13:45:22,738 INFO o.a.c.AtmosphereFramework [restartedMain] Broadcaster Shared List Resources: false -2026-08-13 13:45:22,738 INFO o.a.c.AtmosphereFramework [restartedMain] Broadcaster Polling Wait Time 100 -2026-08-13 13:45:22,738 INFO o.a.c.AtmosphereFramework [restartedMain] Shared ExecutorService supported: true -2026-08-13 13:45:22,739 INFO o.a.c.AtmosphereFramework [restartedMain] Messaging ExecutorService Pool Size unavailable - Not instance of ThreadPoolExecutor -2026-08-13 13:45:22,739 INFO o.a.c.AtmosphereFramework [restartedMain] Async I/O Thread Pool Size: 200 -2026-08-13 13:45:22,739 INFO o.a.c.AtmosphereFramework [restartedMain] Using BroadcasterFactory: org.atmosphere.cpr.DefaultBroadcasterFactory -2026-08-13 13:45:22,739 INFO o.a.c.AtmosphereFramework [restartedMain] Using AtmosphereResurceFactory: org.atmosphere.cpr.DefaultAtmosphereResourceFactory -2026-08-13 13:45:22,739 INFO o.a.c.AtmosphereFramework [restartedMain] Using WebSocketProcessor: org.atmosphere.websocket.DefaultWebSocketProcessor -2026-08-13 13:45:22,741 INFO o.a.c.AtmosphereFramework [restartedMain] Invoke AtmosphereInterceptor on WebSocket message true -2026-08-13 13:45:22,742 INFO o.a.c.AtmosphereFramework [restartedMain] HttpSession supported: true -2026-08-13 13:45:22,742 INFO o.a.c.AtmosphereFramework [restartedMain] Atmosphere is using org.atmosphere.inject.InjectableObjectFactory for dependency injection and object creation -2026-08-13 13:45:22,742 INFO o.a.c.AtmosphereFramework [restartedMain] Atmosphere is using async support: org.atmosphere.container.JSR356AsyncSupport running under container: Apache Tomcat/11.0.24 using jakarta.servlet/3.0 and jsr356/WebSocket API -2026-08-13 13:45:22,743 INFO o.a.c.AtmosphereFramework [restartedMain] Atmosphere Framework 3.0.5.slf4jvaadin1 started. -2026-08-13 13:45:22,749 INFO o.a.c.AtmosphereFramework [restartedMain] Installed AtmosphereInterceptor Track Message Size Interceptor using | with priority BEFORE_DEFAULT -2026-08-13 13:45:22,797 INFO o.a.j.l.DirectJDKLog [restartedMain] Starting ProtocolHandler ["http-nio-8085"] -2026-08-13 13:45:22,821 INFO c.v.f.s.DefaultDeploymentConfiguration [restartedMain] -Vaadin is running in DEVELOPMENT mode - do not use for production deployments. -2026-08-13 13:45:22,893 INFO o.s.b.t.TomcatWebServer [restartedMain] Tomcat started on port 8085 (http) with context path '/' -2026-08-13 13:45:23,051 INFO o.a.c.i.e.AbstractCamelContext [restartedMain] Apache Camel 4.10.6 (camel-1) is starting -2026-08-13 13:45:23,072 DEBUG o.a.a.a.c.c.i.ClientSessionFactoryImpl [restartedMain] Trying reconnection attempt 0/1 -2026-08-13 13:45:23,072 DEBUG o.a.a.a.c.c.i.ClientSessionFactoryImpl [restartedMain] Trying to connect with connectorFactory=org.apache.activemq.artemis.core.remoting.impl.netty.NettyConnectorFactory@6c1b90a9 and currentConnectorConfig: TransportConfiguration(name=null, factory=org-apache-activemq-artemis-core-remoting-impl-netty-NettyConnectorFactory)?port=61616&host=localhost -2026-08-13 13:45:23,122 DEBUG o.a.a.a.c.r.i.n.NettyConnector [restartedMain] Connector NettyConnector [host=localhost, port=61616, httpEnabled=false, httpUpgradeEnabled=false, useServlet=false, servletPath=/messaging/ActiveMQServlet, sslEnabled=false, useNio=true] using native epoll -2026-08-13 13:45:23,134 DEBUG o.a.a.a.c.r.i.n.NettyConnector [restartedMain] Started EPOLL Netty Connector version 4.2.15.Final to localhost:61616 -2026-08-13 13:45:23,134 DEBUG o.a.a.a.c.r.i.n.NettyConnector [restartedMain] Remote destination: localhost/127.0.0.1:61616 -2026-08-13 13:45:23,177 DEBUG o.a.a.a.c.r.i.n.NettyConnector$1 [Thread-0 (activemq-client-remoting)] Added ActiveMQClientChannelHandler to Channel with id = f8743e10 -2026-08-13 13:45:23,186 DEBUG o.a.a.a.c.c.i.ClientSessionFactoryImpl [restartedMain] Connected with the currentConnectorConfig=TransportConfiguration(name=null, factory=org-apache-activemq-artemis-core-remoting-impl-netty-NettyConnectorFactory)?port=61616&host=localhost -2026-08-13 13:45:23,241 DEBUG o.a.a.a.c.c.i.ClientSessionFactoryImpl [restartedMain] Reconnection successful -2026-08-13 13:45:23,242 DEBUG o.a.a.a.c.c.i.ClientSessionFactoryImpl [restartedMain] ClientSessionFactoryImpl received backup update for primary/backup pair = TransportConfiguration(name=null, factory=org-apache-activemq-artemis-core-remoting-impl-netty-NettyConnectorFactory)?port=61616&host=localhost / null but it didn't belong to TransportConfiguration(name=null, factory=org-apache-activemq-artemis-core-remoting-impl-netty-NettyConnectorFactory)?port=61616&host=localhost -2026-08-13 13:45:23,267 DEBUG o.s.j.c.SingleConnectionFactory [restartedMain] Established shared JMS Connection: org.apache.activemq.artemis.jms.client.ActiveMQConnection@7b381ebb -2026-08-13 13:45:23,273 INFO o.a.c.i.e.AbstractCamelContext [restartedMain] Routes startup (total:3) -2026-08-13 13:45:23,273 INFO o.a.c.i.e.AbstractCamelContext [restartedMain] Started read-queue-media-link-add (jms://queue:media.link.add) -2026-08-13 13:45:23,273 INFO o.a.c.i.e.AbstractCamelContext [restartedMain] Started read-queue-media-lofi-add (jms://queue:media.lofi.add) -2026-08-13 13:45:23,273 INFO o.a.c.i.e.AbstractCamelContext [restartedMain] Started read-queue-media-video-add (jms://queue:media.video.add) -2026-08-13 13:45:23,273 INFO o.a.c.i.e.AbstractCamelContext [restartedMain] Apache Camel 4.10.6 (camel-1) started in 221ms (build:0ms init:0ms start:221ms boot:1s902ms) -2026-08-13 13:45:23,275 INFO d.t.k.s.SetupModuleBookshelf [restartedMain] Set up Bookshelf data -2026-08-13 13:45:23,276 INFO d.t.k.s.SetupModuleComics [restartedMain] Set up Comics data -2026-08-13 13:45:23,276 INFO d.t.k.s.SetupModuleMedia [restartedMain] Set up Media data -2026-08-13 13:45:23,276 INFO d.t.k.s.SetupModuleTysc [restartedMain] Setp up TYSC data -2026-08-13 13:45:23,279 INFO o.s.b.StartupInfoLogger [restartedMain] Started KontorApplication in 10.453 seconds (process running for 10.859) -2026-08-13 13:45:23,280 DEBUG o.s.j.c.CachingConnectionFactory [Camel (camel-1) thread #1 - JmsConsumer[media.link.add]] Registering cached JMS Session for mode 1: ActiveMQSession->ClientSessionImpl [name=77ee3ed4-970c-11f1-8e68-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@55ca2337, metaData=()]@49b2a0eb -2026-08-13 13:45:23,282 DEBUG o.s.j.c.CachingConnectionFactory [Camel (camel-1) thread #2 - JmsConsumer[media.lofi.add]] Registering cached JMS Session for mode 1: ActiveMQSession->ClientSessionImpl [name=77ef9e65-970c-11f1-8e68-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@55ca2337, metaData=()]@231fccf8 -2026-08-13 13:45:23,284 DEBUG o.s.j.c.CachingConnectionFactory [Camel (camel-1) thread #3 - JmsConsumer[media.video.add]] Registering cached JMS Session for mode 1: ActiveMQSession->ClientSessionImpl [name=77f01396-970c-11f1-8e68-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@55ca2337, metaData=()]@7a8d41ad -2026-08-13 13:45:23,349 INFO c.v.b.d.DevModeHandlerManagerImpl [restartedMain] Application running at http://localhost:8085/ -2026-08-13 13:45:55,253 INFO o.a.j.l.DirectJDKLog [http-nio-8085-exec-1] Initializing Spring DispatcherServlet 'dispatcherServlet' -2026-08-13 13:45:55,254 INFO o.s.w.s.FrameworkServlet [http-nio-8085-exec-1] Initializing Servlet 'dispatcherServlet' -2026-08-13 13:45:55,256 INFO o.s.w.s.FrameworkServlet [http-nio-8085-exec-1] Completed initialization in 2 ms -2026-08-13 13:48:53,647 INFO o.s.b.t.GracefulShutdown [SpringApplicationShutdownHook] Commencing graceful shutdown. Waiting for active requests to complete -2026-08-13 13:48:53,649 INFO o.s.b.t.GracefulShutdown [tomcat-shutdown] Graceful shutdown complete -2026-08-13 13:48:53,652 INFO o.a.c.i.e.AbstractCamelContext [SpringApplicationShutdownHook] Apache Camel 4.10.6 (camel-1) is shutting down (timeout:45s) -2026-08-13 13:48:54,550 DEBUG o.s.j.c.CachingConnectionFactory$CachedSessionInvocationHandler [Camel (camel-1) thread #1 - JmsConsumer[media.link.add]] Closing cached Session: ActiveMQSession->ClientSessionImpl [name=77ee3ed4-970c-11f1-8e68-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@55ca2337, metaData=()]@49b2a0eb -2026-08-13 13:48:54,550 DEBUG o.s.j.c.CachingConnectionFactory$CachedSessionInvocationHandler [Camel (camel-1) thread #2 - JmsConsumer[media.lofi.add]] Closing cached Session: ActiveMQSession->ClientSessionImpl [name=77ef9e65-970c-11f1-8e68-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@55ca2337, metaData=()]@231fccf8 -2026-08-13 13:48:54,551 DEBUG o.a.a.a.c.c.i.ClientSessionImpl [Camel (camel-1) thread #1 - JmsConsumer[media.link.add]] Calling close on session ClientSessionImpl [name=77ee3ed4-970c-11f1-8e68-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@55ca2337, metaData=()]@49b2a0eb -2026-08-13 13:48:54,551 DEBUG o.a.a.a.c.c.i.ClientSessionImpl [Camel (camel-1) thread #1 - JmsConsumer[media.link.add]] calling cleanup on ClientSessionImpl [name=77ee3ed4-970c-11f1-8e68-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@55ca2337, metaData=()]@49b2a0eb -2026-08-13 13:48:54,558 DEBUG o.a.a.a.c.c.i.ClientSessionImpl [Camel (camel-1) thread #2 - JmsConsumer[media.lofi.add]] Calling close on session ClientSessionImpl [name=77ef9e65-970c-11f1-8e68-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@55ca2337, metaData=()]@231fccf8 -2026-08-13 13:48:54,559 DEBUG o.a.a.a.c.c.i.ClientSessionImpl [Camel (camel-1) thread #2 - JmsConsumer[media.lofi.add]] calling cleanup on ClientSessionImpl [name=77ef9e65-970c-11f1-8e68-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@55ca2337, metaData=()]@231fccf8 -2026-08-13 13:48:54,562 INFO o.a.c.s.CamelLogger [SpringApplicationShutdownHook] Routes stopped (total:3) -2026-08-13 13:48:54,562 INFO o.a.c.s.CamelLogger [SpringApplicationShutdownHook] Stopped read-queue-media-video-add (jms://queue:media.video.add) -2026-08-13 13:48:54,562 INFO o.a.c.s.CamelLogger [SpringApplicationShutdownHook] Stopped read-queue-media-lofi-add (jms://queue:media.lofi.add) -2026-08-13 13:48:54,562 INFO o.a.c.s.CamelLogger [SpringApplicationShutdownHook] Stopped read-queue-media-link-add (jms://queue:media.link.add) -2026-08-13 13:48:54,564 INFO o.a.c.i.e.AbstractCamelContext [SpringApplicationShutdownHook] Apache Camel 4.10.6 (camel-1) shutdown in 911ms (uptime:3m31s) -2026-08-13 13:48:54,564 DEBUG o.s.j.c.CachingConnectionFactory$CachedSessionInvocationHandler [SpringApplicationShutdownHook] Closing cached Session: ActiveMQSession->ClientSessionImpl [name=77f01396-970c-11f1-8e68-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@55ca2337, metaData=()]@7a8d41ad -2026-08-13 13:48:54,565 DEBUG o.a.a.a.c.c.i.ClientSessionImpl [SpringApplicationShutdownHook] Calling close on session ClientSessionImpl [name=77f01396-970c-11f1-8e68-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@55ca2337, metaData=()]@7a8d41ad -2026-08-13 13:48:54,566 DEBUG o.a.a.a.c.c.i.ClientSessionImpl [SpringApplicationShutdownHook] calling cleanup on ClientSessionImpl [name=77f01396-970c-11f1-8e68-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@55ca2337, metaData=()]@7a8d41ad -2026-08-13 13:48:54,566 DEBUG o.s.j.c.SingleConnectionFactory [SpringApplicationShutdownHook] Closing shared JMS Connection: org.apache.activemq.artemis.jms.client.ActiveMQConnection@7b381ebb -2026-08-13 13:48:54,566 DEBUG o.a.a.a.c.c.i.ClientSessionImpl [SpringApplicationShutdownHook] Calling close on session ClientSessionImpl [name=77ebcdd3-970c-11f1-8e68-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@55ca2337, metaData=(jms-session=,)]@74d11287 -2026-08-13 13:48:54,567 DEBUG o.a.a.a.c.c.i.ClientSessionImpl [SpringApplicationShutdownHook] calling cleanup on ClientSessionImpl [name=77ebcdd3-970c-11f1-8e68-5e5c628d27e5, username=artemis, closed=false, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@55ca2337, metaData=(jms-session=,)]@74d11287 -2026-08-13 13:48:54,569 DEBUG o.a.a.a.c.c.i.ClientSessionFactoryImpl [Thread-2 (activemq-client-global)] Failure captured on connectionID=f8743e10, performing failover or reconnection now -org.apache.activemq.artemis.api.core.ActiveMQNotConnectedException: [errorType=NOT_CONNECTED message=AMQ219006: Channel disconnected] - at org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl.connectionDestroyed(ClientSessionFactoryImpl.java:413) - at org.apache.activemq.artemis.core.remoting.impl.netty.NettyConnector$Listener.lambda$connectionDestroyed$0(NettyConnector.java:1199) - at org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:59) - at org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:32) - at org.apache.activemq.artemis.utils.actors.ProcessorBase.executePendingTasks(ProcessorBase.java:69) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1090) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614) - at org.apache.activemq.artemis.utils.ActiveMQThreadFactory$1.run(ActiveMQThreadFactory.java:120) -2026-08-13 13:48:54,571 DEBUG o.a.a.a.c.c.i.ClientSessionImpl [SpringApplicationShutdownHook] Session was already closed, giving up now, this=ClientSessionImpl [name=77ebcdd3-970c-11f1-8e68-5e5c628d27e5, username=artemis, closed=true, factory = org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl@55ca2337, metaData=(jms-session=,)]@74d11287 -2026-08-13 13:48:54,578 INFO o.s.o.j.AbstractEntityManagerFactoryBean [SpringApplicationShutdownHook] Closing JPA EntityManagerFactory for persistence unit 'default' -2026-08-13 13:48:54,581 INFO c.z.h.HikariDataSource [SpringApplicationShutdownHook] HikariPool-1 - Shutdown initiated... -2026-08-13 13:48:54,590 INFO c.z.h.HikariDataSource [SpringApplicationShutdownHook] HikariPool-1 - Shutdown completed. diff --git a/kontor-spring/settings.gradle b/kontor-spring/settings.gradle index a4b36c8..226b285 100644 --- a/kontor-spring/settings.gradle +++ b/kontor-spring/settings.gradle @@ -1 +1,25 @@ +pluginManagement { + resolutionStrategy { + eachPlugin { + if (requested.id.id == 'org.springframework.boot') { + useModule("org.springframework.boot:spring-boot-gradle-plugin:${requested.version}") + } + if (requested.id.id == 'org.gradle.toolchains.foojay-resolver') { + useModule("org.gradle.toolchains.foojay-resolver-convention:0.4.0") + } + } + } + repositories { + gradlePluginPortal() + maven { setUrl("https://nexus.thpeetz.de/repository/maven-central") } + mavenCentral() + maven { setUrl("https://maven.vaadin.com/vaadin-prereleases") } + maven { setUrl("https://repo.spring.io/milestone") } + maven { url 'https://plugins.gradle.org/m2/' } + } +// plugins { +// id 'com.vaadin' version "${vaadinVersion}" +// } +} + rootProject.name = 'kontor-spring' diff --git a/kontor-spring/src/integrationTest/java/de/thpeetz/kontor/comics/views/ArtistViewTest.java b/kontor-spring/src/integrationTest/java/de/thpeetz/kontor/comics/views/ArtistViewTest.java new file mode 100644 index 0000000..b9874b1 --- /dev/null +++ b/kontor-spring/src/integrationTest/java/de/thpeetz/kontor/comics/views/ArtistViewTest.java @@ -0,0 +1,43 @@ +package de.thpeetz.kontor.comics.views; + +import static org.junit.jupiter.api.Assertions.*; + +import java.util.List; +import java.util.stream.Collectors; + +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; + +import com.vaadin.flow.component.grid.Grid; + +import de.thpeetz.kontor.data.comics.Artist; +import de.thpeetz.kontor.views.comics.ArtistForm; +import de.thpeetz.kontor.views.comics.ArtistView; + +@SpringBootTest +class ArtistViewTest { + + @Autowired + private ArtistView artistView; + + @Test + void formShownWhenArtistSelected() { + Grid grid = artistView.getGrid(); + Artist firstArtist = getFirstItem(grid); + + ArtistForm form = artistView.getForm(); + + assertFalse(form.isVisible()); + grid.asSingleSelect().setValue(firstArtist); + assertTrue(form.isVisible()); + assertEquals(firstArtist.getName(), form.name.getValue()); + } + + private Artist getFirstItem(Grid grid) { + int count = grid.getListDataView().getItemCount(); + List artists = grid.getListDataView().getItems().collect(Collectors.toList()); + assertEquals(5, count); + return artists.get(0); + } +} diff --git a/kontor-spring/src/integrationTest/java/de/thpeetz/kontor/comics/views/ArtistformTest.java b/kontor-spring/src/integrationTest/java/de/thpeetz/kontor/comics/views/ArtistformTest.java new file mode 100644 index 0000000..395f16a --- /dev/null +++ b/kontor-spring/src/integrationTest/java/de/thpeetz/kontor/comics/views/ArtistformTest.java @@ -0,0 +1,64 @@ +package de.thpeetz.kontor.comics.views; + +import static org.junit.jupiter.api.Assertions.*; + +import java.util.concurrent.atomic.AtomicReference; + +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.springframework.boot.test.context.SpringBootTest; + +import de.thpeetz.kontor.data.comics.Artist; +import de.thpeetz.kontor.views.comics.ArtistForm; + +@SpringBootTest +class ArtistformTest { + + private Artist artist1; + private static final String ARTISTNAME= "Lee, Stan"; + + @BeforeEach + void setupData() { + artist1 = new Artist(); + artist1.setName(ARTISTNAME); + } + + @Test + void formFieldsPopulated() { + ArtistForm form = new ArtistForm(); + form.setArtist(artist1); + assertEquals(ARTISTNAME, form.name.getValue()); + } + + @Test + void saveEventHasCorrectValues() { + ArtistForm form = new ArtistForm(); + Artist artist = new Artist(); + form.setArtist(artist); + form.name.setValue(ARTISTNAME); + + AtomicReference savedArtistReference = new AtomicReference<>(null); + form.addSaveListener(e -> { + savedArtistReference.set(e.getArtist()); + }); + form.save.click(); + Artist savedArtist = savedArtistReference.get(); + assertEquals(ARTISTNAME, savedArtist.getName()); + } + + @Test + void deleteEventHasCorrectValues() { + ArtistForm form = new ArtistForm(); + Artist artist = new Artist(); + form.setArtist(artist); + form.name.setValue(ARTISTNAME); + + AtomicReference deletedArtistReference = new AtomicReference<>(null); + form.addDeleteListener(e -> { + deletedArtistReference.set(e.getArtist()); + }); + form.delete.click(); + Artist deletedArtist = deletedArtistReference.get(); + assertEquals(ARTISTNAME, deletedArtist.getName()); + } +} diff --git a/kontor-spring/src/integrationTest/java/de/thpeetz/kontor/comics/views/ComicViewTest.java b/kontor-spring/src/integrationTest/java/de/thpeetz/kontor/comics/views/ComicViewTest.java new file mode 100644 index 0000000..e31f9b7 --- /dev/null +++ b/kontor-spring/src/integrationTest/java/de/thpeetz/kontor/comics/views/ComicViewTest.java @@ -0,0 +1,45 @@ +package de.thpeetz.kontor.comics.views; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; + +import java.util.List; +import java.util.stream.Collectors; + +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; + +import com.vaadin.flow.component.grid.Grid; + +import de.thpeetz.kontor.data.comics.Comic; +import de.thpeetz.kontor.views.comics.ComicForm; +import de.thpeetz.kontor.views.comics.ComicView; + +@SpringBootTest +public class ComicViewTest { + + @Autowired + private ComicView comicView; + + @Test + void formShownWhenComicSelected() { + Grid grid = comicView.getGrid(); + Comic firstComic = getFirstItem(grid); + + ComicForm form = comicView.getForm(); + + assertFalse(form.isVisible()); + grid.asSingleSelect().setValue(firstComic); + assertTrue(form.isVisible()); + assertEquals(firstComic.getTitle(), form.title.getValue()); + } + + private Comic getFirstItem(Grid grid) { + int count = grid.getListDataView().getItemCount(); + List comics = grid.getListDataView().getItems().collect(Collectors.toList()); + assertEquals(169, count); + return comics.get(0); + } +} diff --git a/kontor-spring/src/integrationTest/java/de/thpeetz/kontor/comics/views/ComicWorkViewTest.java b/kontor-spring/src/integrationTest/java/de/thpeetz/kontor/comics/views/ComicWorkViewTest.java new file mode 100644 index 0000000..891963f --- /dev/null +++ b/kontor-spring/src/integrationTest/java/de/thpeetz/kontor/comics/views/ComicWorkViewTest.java @@ -0,0 +1,45 @@ +package de.thpeetz.kontor.comics.views; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; + +import java.util.List; +import java.util.stream.Collectors; + +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; + +import com.vaadin.flow.component.grid.Grid; + +import de.thpeetz.kontor.data.comics.ComicWork; +import de.thpeetz.kontor.views.comics.ComicWorkForm; +import de.thpeetz.kontor.views.comics.ComicWorkView; + +@SpringBootTest +class ComicWorkViewTest { + + @Autowired + private ComicWorkView comicWorkView; + + @Test + void formShownWhenComicSelected() { + Grid grid = comicWorkView.getGrid(); + ComicWork firstComicWork = getFirstItem(grid); + + ComicWorkForm form = comicWorkView.getForm(); + + assertFalse(form.isVisible()); + grid.asSingleSelect().setValue(firstComicWork); + assertTrue(form.isVisible()); + assertEquals(firstComicWork.getComic(), form.comic.getValue()); + } + + private ComicWork getFirstItem(Grid grid) { + int count = grid.getListDataView().getItemCount(); + List comicWorks = grid.getListDataView().getItems().collect(Collectors.toList()); + assertEquals(18, count); + return comicWorks.get(0); + } +} diff --git a/kontor-spring/src/integrationTest/java/de/thpeetz/kontor/comics/views/IssueViewTest.java b/kontor-spring/src/integrationTest/java/de/thpeetz/kontor/comics/views/IssueViewTest.java new file mode 100644 index 0000000..baaa465 --- /dev/null +++ b/kontor-spring/src/integrationTest/java/de/thpeetz/kontor/comics/views/IssueViewTest.java @@ -0,0 +1,45 @@ +package de.thpeetz.kontor.comics.views; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; + +import java.util.List; +import java.util.stream.Collectors; + +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; + +import com.vaadin.flow.component.grid.Grid; + +import de.thpeetz.kontor.data.comics.Issue; +import de.thpeetz.kontor.views.comics.IssueForm; +import de.thpeetz.kontor.views.comics.IssueView; + +@SpringBootTest +public class IssueViewTest { + + @Autowired + private IssueView issueView; + + @Test + void formShownWhenIssueSelected() { + Grid grid = issueView.getGrid(); + Issue firstIssue = getFirstItem(grid); + + IssueForm form = issueView.getForm(); + + assertFalse(form.isVisible()); + grid.asSingleSelect().setValue(firstIssue); + assertTrue(form.isVisible()); + assertEquals(firstIssue.getIssueNumber(), form.issueNumber.getValue()); + } + + private Issue getFirstItem(Grid grid) { + int count = grid.getListDataView().getItemCount(); + List issues = grid.getListDataView().getItems().collect(Collectors.toList()); + assertEquals(750, count); + return issues.get(0); + } +} diff --git a/kontor-spring/src/integrationTest/java/de/thpeetz/kontor/comics/views/PublisherViewTest.java b/kontor-spring/src/integrationTest/java/de/thpeetz/kontor/comics/views/PublisherViewTest.java new file mode 100644 index 0000000..174221a --- /dev/null +++ b/kontor-spring/src/integrationTest/java/de/thpeetz/kontor/comics/views/PublisherViewTest.java @@ -0,0 +1,43 @@ +package de.thpeetz.kontor.comics.views; + +import static org.junit.jupiter.api.Assertions.*; + +import java.util.List; +import java.util.stream.Collectors; + +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; + +import com.vaadin.flow.component.grid.Grid; + +import de.thpeetz.kontor.data.comics.Publisher; +import de.thpeetz.kontor.views.comics.PublisherForm; +import de.thpeetz.kontor.views.comics.PublisherView; + +@SpringBootTest +class PublisherViewTest { + + @Autowired + private PublisherView publisherView; + + @Test + void formShownWhenPublisherSelected() { + Grid grid = publisherView.getGrid(); + Publisher firstPublisher = getFirstItem(grid); + + PublisherForm form = publisherView.getForm(); + + assertFalse(form.isVisible()); + grid.asSingleSelect().setValue(firstPublisher); + assertTrue(form.isVisible()); + assertEquals(firstPublisher.getName(), form.name.getValue()); + } + + private Publisher getFirstItem(Grid grid) { + int count = grid.getListDataView().getItemCount(); + List publishers = grid.getListDataView().getItems().collect(Collectors.toList()); + assertEquals(18, count); + return publishers.get(0); + } +} diff --git a/kontor-spring/src/integrationTest/java/de/thpeetz/kontor/comics/views/StoryArcViewTest.java b/kontor-spring/src/integrationTest/java/de/thpeetz/kontor/comics/views/StoryArcViewTest.java new file mode 100644 index 0000000..2375f43 --- /dev/null +++ b/kontor-spring/src/integrationTest/java/de/thpeetz/kontor/comics/views/StoryArcViewTest.java @@ -0,0 +1,45 @@ +package de.thpeetz.kontor.comics.views; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; + +import java.util.List; +import java.util.stream.Collectors; + +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; + +import com.vaadin.flow.component.grid.Grid; + +import de.thpeetz.kontor.data.comics.StoryArc; +import de.thpeetz.kontor.views.comics.StoryArcForm; +import de.thpeetz.kontor.views.comics.StoryArcView; + +@SpringBootTest +class StoryArcViewTest { + + @Autowired + private StoryArcView storyArcView; + + @Test + void formShownWhenStoryArcSelected() { + Grid grid = storyArcView.getGrid(); + StoryArc firstStoryArc = getFirstItem(grid); + + StoryArcForm form = storyArcView.getForm(); + + assertFalse(form.isVisible()); + grid.asSingleSelect().setValue(firstStoryArc); + assertTrue(form.isVisible()); + assertEquals(firstStoryArc.getName(), form.name.getValue()); + } + + private StoryArc getFirstItem(Grid grid) { + int count = grid.getListDataView().getItemCount(); + List storyArcs = grid.getListDataView().getItems().collect(Collectors.toList()); + assertEquals(3, count); + return storyArcs.get(0); + } +} diff --git a/kontor-spring/src/integrationTest/java/de/thpeetz/kontor/comics/views/TradePaperbackViewTest.java b/kontor-spring/src/integrationTest/java/de/thpeetz/kontor/comics/views/TradePaperbackViewTest.java new file mode 100644 index 0000000..4652018 --- /dev/null +++ b/kontor-spring/src/integrationTest/java/de/thpeetz/kontor/comics/views/TradePaperbackViewTest.java @@ -0,0 +1,48 @@ +package de.thpeetz.kontor.comics.views; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; + +import java.util.List; +import java.util.stream.Collectors; + +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; + +import com.vaadin.flow.component.grid.Grid; + +import de.thpeetz.kontor.data.comics.TradePaperback; +import de.thpeetz.kontor.views.comics.TradePaperBackForm; +import de.thpeetz.kontor.views.comics.TradePaperbackView; + +@SpringBootTest +class TradePaperbackViewTest { + + @Autowired + private TradePaperbackView tradePaperbackView; + + @Test + void formShownWhenVolumeSelected() { + Grid grid = tradePaperbackView.getGrid(); + + TradePaperback firstTradePaperback = getFirstItem(grid); + + TradePaperBackForm form = tradePaperbackView.getForm(); + assertFalse(form.isVisible()); + + if (firstTradePaperback != null) { + grid.asSingleSelect().setValue(firstTradePaperback); + assertTrue(form.isVisible()); + assertEquals(firstTradePaperback.getName(), form.name.getValue()); + } + } + + private TradePaperback getFirstItem(Grid grid) { + int count = grid.getListDataView().getItemCount(); + List tradePaperbacks = grid.getListDataView().getItems().collect(Collectors.toList()); + assertEquals(40, count); + return tradePaperbacks.get(0); + } +} diff --git a/kontor-spring/src/integrationTest/java/de/thpeetz/kontor/comics/views/VolumeViewTest.java b/kontor-spring/src/integrationTest/java/de/thpeetz/kontor/comics/views/VolumeViewTest.java new file mode 100644 index 0000000..eaf0d73 --- /dev/null +++ b/kontor-spring/src/integrationTest/java/de/thpeetz/kontor/comics/views/VolumeViewTest.java @@ -0,0 +1,52 @@ +package de.thpeetz.kontor.comics.views; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; + +import java.util.List; +import java.util.stream.Collectors; + +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; + +import com.vaadin.flow.component.grid.Grid; + +import de.thpeetz.kontor.data.comics.Volume; +import de.thpeetz.kontor.views.comics.VolumeForm; +import de.thpeetz.kontor.views.comics.VolumeView; + +@SpringBootTest +class VolumeViewTest { + + @Autowired + private VolumeView volumeView; + + @Test + void formShownWhenVolumeSelected() { + Grid grid = volumeView.getGrid(); + + Volume firstVolume = getFirstItem(grid); + + VolumeForm form = volumeView.getForm(); + assertFalse(form.isVisible()); + + if (firstVolume != null) { + grid.asSingleSelect().setValue(firstVolume); + assertTrue(form.isVisible()); + assertEquals(firstVolume.getName(), form.name.getValue()); + } + } + + private Volume getFirstItem(Grid grid) { + int count = grid.getListDataView().getItemCount(); + List volumes = grid.getListDataView().getItems().collect(Collectors.toList()); + assertEquals(0, count); + if (count > 0) { + return volumes.get(0); + } else { + return null; + } + } +} diff --git a/kontor-spring/src/integrationTest/java/de/thpeetz/kontor/comics/views/WorktypeViewTest.java b/kontor-spring/src/integrationTest/java/de/thpeetz/kontor/comics/views/WorktypeViewTest.java new file mode 100644 index 0000000..05bf459 --- /dev/null +++ b/kontor-spring/src/integrationTest/java/de/thpeetz/kontor/comics/views/WorktypeViewTest.java @@ -0,0 +1,51 @@ +package de.thpeetz.kontor.comics.views; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; + +import java.util.List; +import java.util.stream.Collectors; + +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; + +import com.vaadin.flow.component.grid.Grid; + +import de.thpeetz.kontor.data.comics.Worktype; +import de.thpeetz.kontor.views.comics.WorktypeForm; +import de.thpeetz.kontor.views.comics.WorktypeView; +import lombok.extern.slf4j.Slf4j; + +@Slf4j +@SpringBootTest +class WorktypeViewTest { + + @Autowired + private WorktypeView worktypeView; + + @Test + void formShownWhenWorktypeSelected() { + Grid grid = worktypeView.getGrid(); + + Worktype firstWorktype = getFirstItem(grid); + + WorktypeForm form = worktypeView.getForm(); + assertFalse(form.isVisible()); + + if (firstWorktype != null) { + grid.asSingleSelect().setValue(firstWorktype); + assertTrue(form.isVisible()); + assertEquals(firstWorktype.getName(), form.name.getValue()); + } + } + + private Worktype getFirstItem(Grid grid) { + int count = grid.getListDataView().getItemCount(); + List worktypes = grid.getListDataView().getItems().collect(Collectors.toList()); + log.info("found worktypes: {}", worktypes); + assertEquals(3, count); + return worktypes.get(0); + } +} diff --git a/kontor-spring/src/integrationTest/java/de/thpeetz/kontor/views/tysc/CardSetViewTest.java b/kontor-spring/src/integrationTest/java/de/thpeetz/kontor/views/tysc/CardSetViewTest.java new file mode 100644 index 0000000..980c236 --- /dev/null +++ b/kontor-spring/src/integrationTest/java/de/thpeetz/kontor/views/tysc/CardSetViewTest.java @@ -0,0 +1,45 @@ +package de.thpeetz.kontor.views.tysc; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; + +import java.util.List; +import java.util.stream.Collectors; + +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; + +import com.vaadin.flow.component.grid.Grid; + +import de.thpeetz.kontor.data.tysc.CardSet; +import de.thpeetz.kontor.views.tysc.CardSetForm; +import de.thpeetz.kontor.views.tysc.CardSetView; + +@SpringBootTest +class CardSetViewTest { + + @Autowired + private CardSetView cardSetView; + + @Test + void formShownWhenCardSetSelected() { + Grid grid = cardSetView.getGrid(); + CardSet firstCardSet = getFirstItem(grid); + + CardSetForm form = cardSetView.getForm(); + + assertFalse(form.isVisible()); + grid.asSingleSelect().setValue(firstCardSet); + assertTrue(form.isVisible()); + assertEquals(firstCardSet.getName(), form.name.getValue()); + } + + private CardSet getFirstItem(Grid grid) { + int count = grid.getListDataView().getItemCount(); + List cardSets = grid.getListDataView().getItems().collect(Collectors.toList()); + assertEquals(15, count); + return cardSets.get(0); + } +} diff --git a/kontor-spring/src/integrationTest/java/de/thpeetz/kontor/views/tysc/CardViewTest.java b/kontor-spring/src/integrationTest/java/de/thpeetz/kontor/views/tysc/CardViewTest.java new file mode 100644 index 0000000..d2a70ee --- /dev/null +++ b/kontor-spring/src/integrationTest/java/de/thpeetz/kontor/views/tysc/CardViewTest.java @@ -0,0 +1,45 @@ +package de.thpeetz.kontor.views.tysc; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; + +import java.util.List; +import java.util.stream.Collectors; + +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; + +import com.vaadin.flow.component.grid.Grid; + +import de.thpeetz.kontor.data.tysc.Card; +import de.thpeetz.kontor.views.tysc.CardForm; +import de.thpeetz.kontor.views.tysc.CardView; + +@SpringBootTest +class CardViewTest { + + @Autowired + private CardView cardView; + + @Test + void formShownWhenCardSelected() { + Grid grid = cardView.getGrid(); + Card firstCard = getFirstItem(grid); + + CardForm form = cardView.getForm(); + + assertFalse(form.isVisible()); + grid.asSingleSelect().setValue(firstCard); + assertTrue(form.isVisible()); + assertEquals(String.valueOf(firstCard.getCardNumber()), form.cardNumber.getValue()); + } + + private Card getFirstItem(Grid grid) { + int count = grid.getListDataView().getItemCount(); + List cards = grid.getListDataView().getItems().collect(Collectors.toList()); + assertEquals(10, count); + return cards.get(0); + } +} diff --git a/kontor-spring/src/integrationTest/java/de/thpeetz/kontor/views/tysc/FieldPositionViewTest.java b/kontor-spring/src/integrationTest/java/de/thpeetz/kontor/views/tysc/FieldPositionViewTest.java new file mode 100644 index 0000000..845044e --- /dev/null +++ b/kontor-spring/src/integrationTest/java/de/thpeetz/kontor/views/tysc/FieldPositionViewTest.java @@ -0,0 +1,45 @@ +package de.thpeetz.kontor.views.tysc; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; + +import java.util.List; +import java.util.stream.Collectors; + +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; + +import com.vaadin.flow.component.grid.Grid; + +import de.thpeetz.kontor.data.tysc.FieldPosition; +import de.thpeetz.kontor.views.tysc.PositionForm; +import de.thpeetz.kontor.views.tysc.PositionView; + +@SpringBootTest +class FieldPositionViewTest { + + @Autowired + private PositionView positionView; + + @Test + void formShownWhenPositionSelected() { + Grid grid = positionView.getGrid(); + FieldPosition firstFieldPosition = getFirstItem(grid); + + PositionForm form = positionView.getForm(); + + assertFalse(form.isVisible()); + grid.asSingleSelect().setValue(firstFieldPosition); + assertTrue(form.isVisible()); + assertEquals(firstFieldPosition.getName(), form.name.getValue()); + } + + private FieldPosition getFirstItem(Grid grid) { + int count = grid.getListDataView().getItemCount(); + List positions = grid.getListDataView().getItems().collect(Collectors.toList()); + assertEquals(44, count); + return positions.get(0); + } +} diff --git a/kontor-spring/src/integrationTest/java/de/thpeetz/kontor/views/tysc/PlayerViewTest.java b/kontor-spring/src/integrationTest/java/de/thpeetz/kontor/views/tysc/PlayerViewTest.java new file mode 100644 index 0000000..d93da8d --- /dev/null +++ b/kontor-spring/src/integrationTest/java/de/thpeetz/kontor/views/tysc/PlayerViewTest.java @@ -0,0 +1,46 @@ +package de.thpeetz.kontor.views.tysc; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; + +import java.util.List; +import java.util.stream.Collectors; + +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; + +import com.vaadin.flow.component.grid.Grid; + +import de.thpeetz.kontor.data.tysc.Player; +import de.thpeetz.kontor.views.tysc.PlayerForm; +import de.thpeetz.kontor.views.tysc.PlayerView; + +@SpringBootTest +class PlayerViewTest { + + @Autowired + private PlayerView playerView; + + @Test + void formShownWhenPlayerSelected() { + Grid grid = playerView.getGrid(); + Player firstPlayer = getFirstItem(grid); + + PlayerForm form = playerView.getForm(); + + assertFalse(form.isVisible()); + grid.asSingleSelect().setValue(firstPlayer); + assertTrue(form.isVisible()); + assertEquals(firstPlayer.getLastName(), form.lastName.getValue()); + assertEquals(firstPlayer.getFirstName(), form.firstName.getValue()); + } + + private Player getFirstItem(Grid grid) { + int count = grid.getListDataView().getItemCount(); + List players = grid.getListDataView().getItems().collect(Collectors.toList()); + assertEquals(38, count); + return players.get(0); + } +} diff --git a/kontor-spring/src/integrationTest/java/de/thpeetz/kontor/views/tysc/RoosterViewTest.java b/kontor-spring/src/integrationTest/java/de/thpeetz/kontor/views/tysc/RoosterViewTest.java new file mode 100644 index 0000000..c900305 --- /dev/null +++ b/kontor-spring/src/integrationTest/java/de/thpeetz/kontor/views/tysc/RoosterViewTest.java @@ -0,0 +1,45 @@ +package de.thpeetz.kontor.views.tysc; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; + +import java.util.List; +import java.util.stream.Collectors; + +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; + +import com.vaadin.flow.component.grid.Grid; + +import de.thpeetz.kontor.data.tysc.Rooster; +import de.thpeetz.kontor.views.tysc.RoosterForm; +import de.thpeetz.kontor.views.tysc.RoosterView; + +@SpringBootTest +class RoosterViewTest { + + @Autowired + private RoosterView roosterView; + + @Test + void formShownWhenRoosterSelected() { + Grid grid = roosterView.getGrid(); + Rooster firstRooster = getFirstItem(grid); + + RoosterForm form = roosterView.getForm(); + + assertFalse(form.isVisible()); + grid.asSingleSelect().setValue(firstRooster); + assertTrue(form.isVisible()); + assertEquals(firstRooster.getYear(), form.year.getValue()); + } + + private Rooster getFirstItem(Grid grid) { + int count = grid.getListDataView().getItemCount(); + List roosters = grid.getListDataView().getItems().collect(Collectors.toList()); + assertEquals(11, count); + return roosters.get(0); + } +} diff --git a/kontor-spring/src/integrationTest/java/de/thpeetz/kontor/views/tysc/SportViewTest.java b/kontor-spring/src/integrationTest/java/de/thpeetz/kontor/views/tysc/SportViewTest.java new file mode 100644 index 0000000..ec83ff3 --- /dev/null +++ b/kontor-spring/src/integrationTest/java/de/thpeetz/kontor/views/tysc/SportViewTest.java @@ -0,0 +1,45 @@ +package de.thpeetz.kontor.views.tysc; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; + +import java.util.List; +import java.util.stream.Collectors; + +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; + +import com.vaadin.flow.component.grid.Grid; + +import de.thpeetz.kontor.data.tysc.Sport; +import de.thpeetz.kontor.views.tysc.SportForm; +import de.thpeetz.kontor.views.tysc.SportView; + +@SpringBootTest +class SportViewTest { + + @Autowired + private SportView sportView; + + @Test + void formShownWhenSportSelected() { + Grid grid = sportView.getGrid(); + Sport firstSport = getFirstItem(grid); + + SportForm form = sportView.getForm(); + + assertFalse(form.isVisible()); + grid.asSingleSelect().setValue(firstSport); + assertTrue(form.isVisible()); + assertEquals(firstSport.getName(), form.name.getValue()); + } + + private Sport getFirstItem(Grid grid) { + int count = grid.getListDataView().getItemCount(); + List sports = grid.getListDataView().getItems().collect(Collectors.toList()); + assertEquals(4, count); + return sports.get(0); + } +} diff --git a/kontor-spring/src/integrationTest/java/de/thpeetz/kontor/views/tysc/TeamViewTest.java b/kontor-spring/src/integrationTest/java/de/thpeetz/kontor/views/tysc/TeamViewTest.java new file mode 100644 index 0000000..9e99a27 --- /dev/null +++ b/kontor-spring/src/integrationTest/java/de/thpeetz/kontor/views/tysc/TeamViewTest.java @@ -0,0 +1,45 @@ +package de.thpeetz.kontor.views.tysc; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; + +import java.util.List; +import java.util.stream.Collectors; + +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; + +import com.vaadin.flow.component.grid.Grid; + +import de.thpeetz.kontor.data.tysc.Team; +import de.thpeetz.kontor.views.tysc.TeamForm; +import de.thpeetz.kontor.views.tysc.TeamView; + +@SpringBootTest +class TeamViewTest { + + @Autowired + private TeamView teamView; + + @Test + void formShownWhenTeamSelected() { + Grid grid = teamView.getGrid(); + Team firstTeam = getFirstItem(grid); + + TeamForm form = teamView.getForm(); + + assertFalse(form.isVisible()); + grid.asSingleSelect().setValue(firstTeam); + assertTrue(form.isVisible()); + assertEquals(firstTeam.getName(), form.name.getValue()); + } + + private Team getFirstItem(Grid grid) { + int count = grid.getListDataView().getItemCount(); + List teams = grid.getListDataView().getItems().collect(Collectors.toList()); + assertEquals(122, count); + return teams.get(0); + } +} diff --git a/kontor-spring/src/integrationTest/java/de/thpeetz/kontor/views/tysc/VendorViewTest.java b/kontor-spring/src/integrationTest/java/de/thpeetz/kontor/views/tysc/VendorViewTest.java new file mode 100644 index 0000000..9e99cee --- /dev/null +++ b/kontor-spring/src/integrationTest/java/de/thpeetz/kontor/views/tysc/VendorViewTest.java @@ -0,0 +1,45 @@ +package de.thpeetz.kontor.views.tysc; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; + +import java.util.List; +import java.util.stream.Collectors; + +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; + +import com.vaadin.flow.component.grid.Grid; + +import de.thpeetz.kontor.data.tysc.Vendor; +import de.thpeetz.kontor.views.tysc.VendorForm; +import de.thpeetz.kontor.views.tysc.VendorView; + +@SpringBootTest +class VendorViewTest { + + @Autowired + private VendorView vendorView; + + @Test + void formShownWhenVendorSelected() { + Grid grid = vendorView.getGrid(); + Vendor firstVendor = getFirstItem(grid); + + VendorForm form = vendorView.getForm(); + + assertFalse(form.isVisible()); + grid.asSingleSelect().setValue(firstVendor); + assertTrue(form.isVisible()); + assertEquals(firstVendor.getName(), form.name.getValue()); + } + + private Vendor getFirstItem(Grid grid) { + int count = grid.getListDataView().getItemCount(); + List vendors = grid.getListDataView().getItems().collect(Collectors.toList()); + assertEquals(9, count); + return vendors.get(0); + } +} diff --git a/kontor-spring/src/integrationTest/resources/application.properties b/kontor-spring/src/integrationTest/resources/application.properties new file mode 100644 index 0000000..27a1935 --- /dev/null +++ b/kontor-spring/src/integrationTest/resources/application.properties @@ -0,0 +1,30 @@ +server.port=8085 + +spring.hibernate.dialect=org.hibernate.dialect.HSQLDialect +spring.jpa.database-platform=org.hibernate.dialect.HSQLDialect +spring.datasource.driverClassName=org.hsqldb.jdbc.JDBCDriver +spring.datasource.url=jdbc:hsqldb:mem:itDb +spring.datasource.username=sa +spring.datasource.password=sa + +#spring.jpa.database-platform=org.hibernate.community.dialect.SQLiteDialect +#spring.datasource.driverClassName=org.sqlite.JDBC +#spring.datasource.url=jdbc:sqlite:file:./kontorITDb?cache=shared +#spring.datasource.username=sa +#spring.datasource.password=sa + +spring.jpa.defer-datasource-initialization = true +#spring.jpa.hibernate.ddl-auto=create-drop +spring.jpa.hibernate.ddl-auto=update +spring.jpa.show-sql=false +spring.sql.init.mode=always + +spring.mustache.check-template-location = false + +logging.level.org.atmosphere=INFO +logging.level.org.springframework.web=INFO +logging.level.guru.springframework.controllers=DEBUG +logging.level.org.hibernate=INFO +logging.level.de.thpeetz=DEBUG + +jwt.auth.secret=J6GOtcwC2NJI1l0VkHu20PacPFGTxpirBxWwynoHjsc= diff --git a/kontor-spring/src/main/frontend/generated/app-shell-imports.d.ts b/kontor-spring/src/main/frontend/generated/app-shell-imports.d.ts deleted file mode 100644 index 693da49..0000000 --- a/kontor-spring/src/main/frontend/generated/app-shell-imports.d.ts +++ /dev/null @@ -1 +0,0 @@ -export {} \ No newline at end of file diff --git a/kontor-spring/src/main/frontend/generated/app-shell-imports.js b/kontor-spring/src/main/frontend/generated/app-shell-imports.js deleted file mode 100644 index e69de29..0000000 diff --git a/kontor-spring/src/main/frontend/generated/css.generated.d.ts b/kontor-spring/src/main/frontend/generated/css.generated.d.ts deleted file mode 100644 index ba07dc0..0000000 --- a/kontor-spring/src/main/frontend/generated/css.generated.d.ts +++ /dev/null @@ -1 +0,0 @@ -export declare const applyCss: (target: Node) => void; \ No newline at end of file diff --git a/kontor-spring/src/main/frontend/generated/flow/Flow.tsx b/kontor-spring/src/main/frontend/generated/flow/Flow.tsx deleted file mode 100644 index 7172685..0000000 --- a/kontor-spring/src/main/frontend/generated/flow/Flow.tsx +++ /dev/null @@ -1,707 +0,0 @@ -/* - * Copyright 2000-2026 Vaadin Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may not - * use this file except in compliance with the License. You may obtain a copy of - * the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations under - * the License. - */ -/// -import { Flow as _Flow } from 'Frontend/generated/jar-resources/Flow.js'; -import React, { useCallback, useEffect, useReducer, useRef, useState, type ReactNode } from 'react'; -import { matchRoutes, useBlocker, useLocation, useNavigate, type NavigateOptions, useHref } from 'react-router'; -import { createPortal } from 'react-dom'; - -const flow = new _Flow({ - imports: () => import('Frontend/generated/flow/generated-flow-imports.js') -}); - -const router = { - render() { - return Promise.resolve(); - } -}; - -const flowReact : { active: boolean } = { - active: false, -} - -// ClickHandler for vaadin-router-go event is copied from vaadin/router click.js -// @ts-ignore -function getAnchorOrigin(anchor) { - // IE11: on HTTP and HTTPS the default port is not included into - // window.location.origin, so won't include it here either. - const port = anchor.port; - const protocol = anchor.protocol; - const defaultHttp = protocol === 'http:' && port === '80'; - const defaultHttps = protocol === 'https:' && port === '443'; - const host = - defaultHttp || defaultHttps - ? anchor.hostname // does not include the port number (e.g. www.example.org) - : anchor.host; // does include the port number (e.g. www.example.org:80) - return `${protocol}//${host}`; -} - -function normalizeURL(url: URL): void | string { - // ignore click if baseURI does not match the document (external) - if (!url.href.startsWith(document.baseURI)) { - return; - } - - // Normalize path against baseURI - return '/' + url.href.slice(document.baseURI.length); -} - -function extractURL(event: MouseEvent): void | URL { - // ignore the click if the default action is prevented - if (event.defaultPrevented) { - return; - } - - // ignore the click if not with the primary mouse button - if (event.button !== 0) { - return; - } - - // ignore the click if a modifier key is pressed - if (event.shiftKey || event.ctrlKey || event.altKey || event.metaKey) { - return; - } - - // find the element that the click is at (or within) - let maybeAnchor = event.target; - const path = event.composedPath - ? event.composedPath() - : // @ts-ignore - event.path || []; - - // example to check: `for...of` loop here throws the "Not yet implemented" error - for (let i = 0; i < path.length; i++) { - const target = path[i]; - if (target.nodeName && target.nodeName.toLowerCase() === 'a') { - maybeAnchor = target; - break; - } - } - - // @ts-ignore - while (maybeAnchor && maybeAnchor.nodeName.toLowerCase() !== 'a') { - // @ts-ignore - maybeAnchor = maybeAnchor.parentNode; - } - - // ignore the click if not at an element - // @ts-ignore - if (!maybeAnchor || maybeAnchor.nodeName.toLowerCase() !== 'a') { - return; - } - - const anchor = maybeAnchor as HTMLAnchorElement; - - // ignore the click if the element has a non-default target - if (anchor.target && anchor.target.toLowerCase() !== '_self') { - return; - } - - // ignore the click if the element has the 'download' attribute - if (anchor.hasAttribute('download')) { - return; - } - - // ignore the click if the element has the 'router-ignore' attribute - if (anchor.hasAttribute('router-ignore')) { - return; - } - - // ignore the click if the target URL is a fragment on the current page - if (anchor.pathname === window.location.pathname && anchor.hash !== '') { - // @ts-ignore - window.location.hash = anchor.hash; - return; - } - - // ignore the click if the target is external to the app - // In IE11 HTMLAnchorElement does not have the `origin` property - // @ts-ignore - const origin = anchor.origin || getAnchorOrigin(anchor); - if (origin !== window.location.origin) { - return; - } - - return new URL(anchor.href, anchor.baseURI); -} - -function extractPath(event: MouseEvent): void | string { - const url = extractURL(event); - if (!url) { - return; - } - return normalizeURL(url); -} - -export const registerGlobalClickHandler = () => { - window.addEventListener('click', (event: MouseEvent) => { - if (flowReact.active) { - return; - } - const url = extractURL(event); - if (!url) { - return; - } - // ignore click if baseURI does not match the document (external) - if (!url.href.startsWith(document.baseURI)) { - return; - } - if (event && event.preventDefault) { - event.preventDefault(); - } - - // Normalize path against baseURI - const path = url.pathname + url.search + url.hash; - const state = {...window.history.state} - if (state.idx !== undefined) { - state.idx = state.idx + 1; - } - window.history.pushState(state, '', path); - window.dispatchEvent(new PopStateEvent('popstate')); - }, { capture: false }); -}; - -/** - * Fire 'vaadin-navigated' event to inform components of navigation. - * @param pathname pathname of navigation - * @param search search of navigation - */ -function fireNavigated(pathname: string, search: string) { - setTimeout(() => { - window.dispatchEvent( - new CustomEvent('vaadin-navigated', { - detail: { - pathname, - search - } - }) - ); - // @ts-ignore - delete window.Vaadin.Flow.navigation; - }); -} - -function postpone() {} - -const prevent = () => postpone; - -type RouterContainer = Awaited>; - -type PortalEntry = { - readonly children: ReactNode; - readonly domNode: HTMLElement; -}; - -type FlowPortalProps = React.PropsWithChildren< - Readonly<{ - domNode: HTMLElement; - onRemove(): void; - }> ->; - -function FlowPortal({ children, domNode, onRemove }: FlowPortalProps) { - useEffect(() => { - domNode.addEventListener( - 'flow-portal-remove', - (event: Event) => { - event.preventDefault(); - onRemove(); - }, - { once: true } - ); - }, []); - - return createPortal(children, domNode); -} - -const ADD_FLOW_PORTAL = 'ADD_FLOW_PORTAL'; - -type AddFlowPortalAction = Readonly<{ - type: typeof ADD_FLOW_PORTAL; - portal: React.ReactElement; -}>; - -function addFlowPortal(portal: React.ReactElement): AddFlowPortalAction { - return { - type: ADD_FLOW_PORTAL, - portal - }; -} - -const REMOVE_FLOW_PORTAL = 'REMOVE_FLOW_PORTAL'; - -type RemoveFlowPortalAction = Readonly<{ - type: typeof REMOVE_FLOW_PORTAL; - key: string; -}>; - -function removeFlowPortal(key: string): RemoveFlowPortalAction { - return { - type: REMOVE_FLOW_PORTAL, - key - }; -} - -function flowPortalsReducer( - portals: readonly React.ReactElement[], - action: AddFlowPortalAction | RemoveFlowPortalAction -) { - switch (action.type) { - case ADD_FLOW_PORTAL: - return [...portals, action.portal]; - case REMOVE_FLOW_PORTAL: - return portals.filter(({ key }) => key !== action.key); - default: - return portals; - } -} - -type NavigateOpts = { - to: string; - callback: boolean; - opts?: NavigateOptions; -}; - -type NavigateFn = (to: string, callback: boolean, opts?: NavigateOptions) => void; - -let navigateInProgress = false; -/** - * A hook providing the `navigate(path: string, opts?: NavigateOptions)` function - * with React Router API that has more consistent history updates. Uses internal - * queue for processing navigate calls. - */ -function useQueuedNavigate( - waitReference: React.MutableRefObject | undefined>, - navigated: React.MutableRefObject -): NavigateFn { - const navigate = useNavigate(); - const navigateQueue = useRef([]).current; - const [navigateQueueLength, setNavigateQueueLength] = useState(0); - - const dequeueNavigation = useCallback(() => { - if (navigateInProgress) { - dequeueNavigationAfterCurrentTask(); - return; - } - - const navigateArgs = navigateQueue.shift(); - if (navigateArgs === undefined) { - // Empty queue, do nothing. - return; - } - - const blockingNavigate = async () => { - if (waitReference.current) { - await waitReference.current; - waitReference.current = undefined; - } - navigated.current = !navigateArgs.callback; - navigateInProgress = true; - navigate(navigateArgs.to, navigateArgs.opts); - setNavigateQueueLength(navigateQueue.length); - }; - blockingNavigate(); - }, [navigate, setNavigateQueueLength]); - - const dequeueNavigationAfterCurrentTask = useCallback(() => { - setTimeout(dequeueNavigation, 0); - }, [dequeueNavigation]); - - const enqueueNavigation = useCallback( - (to: string, callback: boolean, opts?: NavigateOptions) => { - navigateQueue.push({ to: to, callback: callback, opts: opts }); - setNavigateQueueLength(navigateQueue.length); - if (navigateQueue.length === 1) { - // The first navigation can be started right after any pending sync - // jobs, which could add more navigations to the queue. - dequeueNavigationAfterCurrentTask(); - } - }, - [setNavigateQueueLength, dequeueNavigationAfterCurrentTask] - ); - - useEffect( - () => () => { - // The Flow component has rendered, but history might not be - // updated yet, as React Router does it asynchronously. - // Use microtask callback for history consistency. - dequeueNavigationAfterCurrentTask(); - }, - [navigateQueueLength, dequeueNavigationAfterCurrentTask] - ); - - return enqueueNavigation; -} - -const flowNavigation = () => { - // @ts-ignore - window.Vaadin.Flow.navigation = true; -}; - -function Flow() { - const ref = useRef(null); - const navigate = useNavigate(); - const blocker = useBlocker(({ currentLocation, nextLocation }) => { - navigated.current = - navigated.current || - (nextLocation.pathname === currentLocation.pathname && - nextLocation.search === currentLocation.search && - nextLocation.hash === currentLocation.hash); - return true; - }); - const location = useLocation(); - const navigated = useRef(false); - const blockerHandled = useRef(false); - const fromAnchor = useRef(false); - const containerRef = useRef(undefined); - const roundTrip = useRef | undefined>(undefined); - const queuedNavigate = useQueuedNavigate(roundTrip, navigated); - const basename = useHref('/'); - - // portalsReducer function is used as state outside the Flow component. - const [portals, dispatchPortalAction] = useReducer(flowPortalsReducer, []); - - const addPortalEventHandler = useCallback( - (event: CustomEvent) => { - event.preventDefault(); - - const key = Math.random().toString(36).slice(2); - dispatchPortalAction( - addFlowPortal( - dispatchPortalAction(removeFlowPortal(key))} - > - {event.detail.children} - - ) - ); - }, - [dispatchPortalAction] - ); - - const navigateEventHandler = useCallback( - (event: MouseEvent) => { - const path = extractPath(event); - if (!path) { - return; - } - - if (event && event.preventDefault) { - event.preventDefault(); - } - navigated.current = false; - // When navigation is triggered by click on a link, fromAnchor is set to true - // in order to get a server round-trip even when navigating to the same URL again - fromAnchor.current = true; - // @ts-ignore - window.Vaadin.Flow.navigation = true; - navigate(path); - // Dispatch close event for overlay drawer on click navigation. - window.dispatchEvent(new CustomEvent('close-overlay-drawer')); - }, - [navigate] - ); - - const vaadinRouterGoEventHandler = useCallback( - (event: CustomEvent) => { - const url = event.detail; - const path = normalizeURL(url); - if (!path) { - return; - } - - event.preventDefault(); - navigate(path); - }, - [navigate] - ); - - const vaadinNavigateEventHandler = useCallback( - (event: CustomEvent<{ state: unknown; url: string; replace?: boolean; callback: boolean }>) => { - // @ts-ignore - window.Vaadin.Flow.navigation = true; - // clean base uri away if for instance redirected to http://localhost/path/user?id=10 - // else the whole http... will be appended to the url see #19580 - const path = event.detail.url.startsWith(document.baseURI) - ? '/' + event.detail.url.slice(document.baseURI.length) - : '/' + event.detail.url; - fromAnchor.current = false; - queuedNavigate(path, event.detail.callback, { state: event.detail.state, replace: event.detail.replace }); - }, - [navigate] - ); - - const redirect = useCallback( - (path: string) => { - return () => { - navigate(path, { replace: true }); - }; - }, - [navigate] - ); - - useEffect(() => { - // @ts-ignore - window.addEventListener('vaadin-router-go', vaadinRouterGoEventHandler); - // @ts-ignore - window.addEventListener('vaadin-navigate', vaadinNavigateEventHandler); - - return () => { - // @ts-ignore - window.removeEventListener('vaadin-router-go', vaadinRouterGoEventHandler); - // @ts-ignore - window.removeEventListener('vaadin-navigate', vaadinNavigateEventHandler); - }; - }, [vaadinRouterGoEventHandler, vaadinNavigateEventHandler]); - - useEffect(() => { - // @ts-ignore - window.addEventListener("popstate", flowNavigation); - window.addEventListener('click', navigateEventHandler); - flowReact.active = true; - - return () => { - containerRef.current?.parentNode?.removeChild(containerRef.current); - containerRef.current?.removeEventListener('flow-portal-add', addPortalEventHandler as EventListener); - containerRef.current = undefined; - // @ts-ignore - window.removeEventListener("popstate", flowNavigation); - window.removeEventListener('click', navigateEventHandler); - flowReact.active = false; - }; - }, []); - - useEffect(() => { - if (blocker.state === 'blocked') { - if (blockerHandled.current) { - // Blocker is handled and the new navigation - // gets queued to be executed after the current handling ends. - const { pathname, state } = blocker.location; - // Clear base name to not get /baseName/basename/path - const pathNoBase = pathname.substring(basename.length); - // path should always start with / else react-router will append to current url - queuedNavigate(pathNoBase.startsWith('/') ? pathNoBase : '/' + pathNoBase, true, { - state: state, - replace: true - }); - return; - } - blockerHandled.current = true; - let blockingPromise: any; - roundTrip.current = new Promise( - (resolve, reject) => (blockingPromise = { resolve: resolve, reject: reject }) - ); - // Release blocker handling after promise is fulfilled - roundTrip.current.then( - () => (blockerHandled.current = false), - () => (blockerHandled.current = false) - ); - - // Proceed to the blocked location, unless the navigation originates from a click on a link. - // In that case continue with function execution and perform a server round-trip - if (navigated.current && !fromAnchor.current) { - blocker.proceed(); - blockingPromise.resolve(); - navigateInProgress = false; - return; - } - fromAnchor.current = false; - const { pathname, search } = blocker.location; - const routes = ((window as any)?.Vaadin?.routesConfig || []) as any[]; - let matched = matchRoutes(Array.from(routes), pathname); - - // Navigation between server routes - // @ts-ignore - if (matched && matched.filter((path) => path.route?.element?.type?.name === Flow.name).length != 0) { - containerRef.current?.onBeforeEnter?.call( - containerRef?.current, - { pathname, search }, - { - prevent() { - blocker.reset(); - blockingPromise.resolve(); - navigateInProgress = false; - navigated.current = false; - }, - redirect, - continue() { - blocker.proceed(); - blockingPromise.resolve(); - navigateInProgress = false; - } - }, - router - ); - navigated.current = true; - } else { - // For covering the 'server -> client' use case - Promise.resolve( - containerRef.current?.onBeforeLeave?.call( - containerRef?.current, - { - pathname, - search - }, - { prevent }, - router - ) - ).then((cmd: unknown) => { - if (cmd === postpone && containerRef.current) { - // postponed navigation: expose existing blocker to Flow - containerRef.current.serverConnected = (cancel) => { - if (cancel) { - blocker.reset(); - } else { - blocker.proceed(); - } - blockingPromise.resolve(); - navigateInProgress = false; - }; - } else { - // permitted navigation: proceed with the blocker - blocker.proceed(); - blockingPromise.resolve(); - navigateInProgress = false; - } - }); - } - } - }, [blocker.state, blocker.location]); - - useEffect(() => { - if (blocker.state === 'blocked') { - return; - } - if (navigated.current) { - navigated.current = false; - fireNavigated(location.pathname, location.search); - return; - } - flow.serverSideRoutes[0] - .action({ pathname: location.pathname, search: location.search }) - .then((container) => { - const outlet = ref.current?.parentNode; - if (outlet && outlet !== container.parentNode) { - outlet.append(container); - container.addEventListener('flow-portal-add', addPortalEventHandler as EventListener); - containerRef.current = container; - } - return container.onBeforeEnter?.call( - container, - // Always add base to path as it is cleaned in getFlowRoutePath and will break a route starting with basename - { pathname: basename + location.pathname, search: location.search }, - { - prevent, - redirect, - continue() { - fireNavigated(location.pathname, location.search); - } - }, - router - ); - }) - .then((result: unknown) => { - if (typeof result === 'function') { - result(); - } - }); - }, [location]); - - return ( - <> - - {portals} - - ); -} -Flow.type = 'FlowContainer'; // This is for copilot to recognize this - -export const serverSideRoutes = [{ path: '/*', element: }]; - -/** - * Load the script for an exported WebComponent with the given tag - * - * @param tag name of the exported web-component to load - * - * @returns Promise(resolve, reject) that is fulfilled on script load - */ -export const loadComponentScript = (tag: String): Promise => { - return new Promise((resolve, reject) => { - useEffect(() => { - const script = document.createElement('script'); - script.src = `/web-component/${tag}.js`; - script.onload = function () { - resolve(); - }; - script.onerror = function (err) { - reject(err); - }; - document.head.appendChild(script); - - return () => { - document.head.removeChild(script); - }; - }, []); - }); -}; - -interface Properties { - [key: string]: string; -} - -/** - * Load WebComponent script and create a React element for the WebComponent. - * - * @param tag custom web-component tag name. - * @param props optional Properties object to create element attributes with - * @param onload optional callback to be called for script onload - * @param onerror optional callback for error loading the script - */ -export const reactElement = (tag: string, props?: Properties, onload?: () => void, onerror?: (err: any) => void) => { - loadComponentScript(tag).then( - () => onload?.(), - (err) => { - if (onerror) { - onerror(err); - } else { - console.error(`Failed to load script for ${tag}.`, err); - } - } - ); - - if (props) { - return React.createElement(tag, props); - } - return React.createElement(tag); -}; - -export default Flow; - -// @ts-ignore -if (import.meta.hot) { - // @ts-ignore - import.meta.hot.accept((newModule) => { - // A hot module replace for Flow.tsx happens when any JS/TS imported through @JsModule - // or similar is updated because this updates generated-flow-imports.js and that in turn - // is imported by this file. We have no means of hot replacing those files, e.g. some - // custom lit element so we need to reload the page. */ - if (newModule) { - window.location.reload(); - } - }); -} diff --git a/kontor-spring/src/main/frontend/generated/flow/ReactAdapter.tsx b/kontor-spring/src/main/frontend/generated/flow/ReactAdapter.tsx deleted file mode 100644 index 479b506..0000000 --- a/kontor-spring/src/main/frontend/generated/flow/ReactAdapter.tsx +++ /dev/null @@ -1,329 +0,0 @@ -/* - * Copyright 2000-2026 Vaadin Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may not - * use this file except in compliance with the License. You may obtain a copy of - * the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations under - * the License. - */ -import { createRoot, Root } from 'react-dom/client'; -import { createElement, type Dispatch, type ReactElement, type ReactNode, useEffect, useReducer } from 'react'; - -type FlowStateKeyChangedAction = Readonly<{ - type: 'stateKeyChanged'; - key: K; - value: V; -}>; - -type FlowStateReducerAction = FlowStateKeyChangedAction; - -function stateReducer>>(state: S, action: FlowStateReducerAction): S { - switch (action.type) { - case 'stateKeyChanged': - const { value } = action; - return { - ...state, - key: value - } as S; - default: - return state; - } -} - -type DispatchEvent = T extends undefined ? () => boolean : (value: T) => boolean; - -const emptyAction: Dispatch = () => {}; - -/** - * An object with APIs exposed for using in the {@link ReactAdapterElement#render} - * implementation. - */ -export type RenderHooks = { - /** - * A hook API for using stateful JS properties of the Web Component from - * the React `render()`. - * - * @typeParam T - Type of the state value - * - * @param key - Web Component property name, which is used for two-way - * value propagation from the server and back. - * @param initialValue - Fallback initial value (optional). Only applies if - * the Java component constructor does not invoke `setState`. - * @returns A tuple with two values: - * 1. The current state. - * 2. The `set` function for changing the state and triggering render - * @protected - */ - readonly useState: ReactAdapterElement['useState']; - - /** - * A hook helper to simplify dispatching a `CustomEvent` on the Web - * Component from React. - * - * @typeParam T - The type for `event.detail` value (optional). - * - * @param type - The `CustomEvent` type string. - * @param options - The settings for the `CustomEvent`. - * @returns The `dispatch` function. The function parameters change - * depending on the `T` generic type: - * - For `undefined` type (default), has no parameters. - * - For other types, has one parameter for the `event.detail` value of that type. - * @protected - */ - readonly useCustomEvent: ReactAdapterElement['useCustomEvent']; - - /** - * A hook helper to generate the content element with name attribute to bind - * the server-side Flow element for this component. - * - * This is used together with {@link ReactAdapterComponent::getContentElement} - * to have server-side component attach to the correct client element. - * - * Usage as follows: - * - * const content = hooks.useContent('content'); - * return <> - * {content} - * ; - * - * Note! Not adding the 'content' element into the dom will have the - * server throw a IllegalStateException for element with tag name not found. - * - * @param name - The name attribute of the element - */ - readonly useContent: ReactAdapterElement['useContent']; -}; - -interface ReadyCallbackFunction { - (): void; -} - -/** - * A base class for Web Components that render using React. Enables creating - * adapters for integrating React components with Flow. Intended for use with - * `ReactAdapterComponent` Flow Java class. - */ -export abstract class ReactAdapterElement extends HTMLElement { - #root: Root | undefined = undefined; - #rootRendered: boolean = false; - #rendering: ReactNode | undefined = undefined; - - #state: Record = Object.create(null); - #stateSetters = new Map>(); - #customEvents = new Map>(); - #dispatchFlowState: Dispatch = emptyAction; - - #readyCallback = new Map(); - - readonly #renderHooks: RenderHooks; - - readonly #Wrapper: () => ReactElement | null; - - #unmounting?: Promise; - - constructor() { - super(); - this.#renderHooks = { - useState: this.useState.bind(this), - useCustomEvent: this.useCustomEvent.bind(this), - useContent: this.useContent.bind(this) - }; - this.#Wrapper = this.#renderWrapper.bind(this); - this.#markAsUsed(); - } - - public async connectedCallback() { - this.#rendering = createElement(this.#Wrapper); - const createNewRoot = this.dispatchEvent( - new CustomEvent('flow-portal-add', { - bubbles: true, - cancelable: true, - composed: true, - detail: { - children: this.#rendering, - domNode: this - } - }) - ); - - if (!createNewRoot || this.#root) { - return; - } - - await this.#unmounting; - - this.#root = createRoot(this); - this.#maybeRenderRoot(); - this.#root.render(this.#rendering); - } - - /** - * Add a callback for specified element identifier to be called when - * react element is ready. - *

- * For internal use only. May be renamed or removed in a future release. - * - * @param id element identifier that callback is for - * @param readyCallback callback method to be informed on element ready state - * @internal - */ - public addReadyCallback(id: string, readyCallback: ReadyCallbackFunction) { - this.#readyCallback.set(id, readyCallback); - } - - public async disconnectedCallback() { - if (!this.#root) { - this.dispatchEvent( - new CustomEvent('flow-portal-remove', { - bubbles: true, - cancelable: true, - composed: true, - detail: { - children: this.#rendering, - domNode: this - } - }) - ); - } else { - this.#unmounting = Promise.resolve(); - await this.#unmounting; - this.#root.unmount(); - this.#root = undefined; - } - this.#rootRendered = false; - this.#rendering = undefined; - } - - /** - * A hook API for using stateful JS properties of the Web Component from - * the React `render()`. - * - * @typeParam T - Type of the state value - * - * @param key - Web Component property name, which is used for two-way - * value propagation from the server and back. - * @param initialValue - Fallback initial value (optional). Only applies if - * the Java component constructor does not invoke `setState`. - * @returns A tuple with two values: - * 1. The current state. - * 2. The `set` function for changing the state and triggering render - * @protected - */ - protected useState(key: string, initialValue?: T): [value: T, setValue: Dispatch] { - if (this.#stateSetters.has(key)) { - return [this.#state[key] as T, this.#stateSetters.get(key)!]; - } - - const value = ((this as Record)[key] as T) ?? initialValue!; - this.#state[key] = value; - Object.defineProperty(this, key, { - enumerable: true, - get(): T { - return this.#state[key]; - }, - set(nextValue: T) { - this.#state[key] = nextValue; - this.#dispatchFlowState({ type: 'stateKeyChanged', key, value }); - } - }); - - const dispatchChangedEvent = this.useCustomEvent<{ value: T }>(`${key}-changed`, { detail: { value } }); - const setValue = (value: T) => { - this.#state[key] = value; - dispatchChangedEvent({ value }); - this.#dispatchFlowState({ type: 'stateKeyChanged', key, value }); - }; - this.#stateSetters.set(key, setValue as Dispatch); - return [value, setValue]; - } - - /** - * A hook helper to simplify dispatching a `CustomEvent` on the Web - * Component from React. - * - * @typeParam T - The type for `event.detail` value (optional). - * - * @param type - The `CustomEvent` type string. - * @param options - The settings for the `CustomEvent`. - * @returns The `dispatch` function. The function parameters change - * depending on the `T` generic type: - * - For `undefined` type (default), has no parameters. - * - For other types, has one parameter for the `event.detail` value of that type. - * @protected - */ - protected useCustomEvent(type: string, options: CustomEventInit = {}): DispatchEvent { - if (!this.#customEvents.has(type)) { - const dispatch = ((detail?: T) => { - const eventInitDict = - detail === undefined - ? options - : { - ...options, - detail - }; - const event = new CustomEvent(type, eventInitDict); - return this.dispatchEvent(event); - }) as DispatchEvent; - this.#customEvents.set(type, dispatch as DispatchEvent); - return dispatch; - } - return this.#customEvents.get(type)! as DispatchEvent; - } - - /** - * The Web Component render function. To be implemented by users with React. - * - * @param hooks - the adapter APIs exposed for the implementation. - * @protected - */ - protected abstract render(hooks: RenderHooks): ReactElement | null; - - /** - * Prepare content container for Flow to bind server Element to. - * - * @param name container name attribute matching server name attribute - * @protected - */ - protected useContent(name: string): ReactElement | null { - useEffect(() => { - this.#readyCallback.get(name)?.(); - }, []); - return createElement('flow-content-container', { name, style: { display: 'contents' } }); - } - - #maybeRenderRoot() { - if (this.#rootRendered || !this.#root) { - return; - } - - this.#root.render(createElement(this.#Wrapper)); - this.#rootRendered = true; - } - - #renderWrapper(): ReactElement | null { - const [state, dispatchFlowState] = useReducer(stateReducer, this.#state); - this.#state = state; - this.#dispatchFlowState = dispatchFlowState; - return this.render(this.#renderHooks); - } - - #markAsUsed(): void { - // @ts-ignore - let vaadinObject = window.Vaadin || {}; - // @ts-ignore - if (vaadinObject.developmentMode) { - vaadinObject.registrations = vaadinObject.registrations || []; - vaadinObject.registrations.push({ - is: 'ReactAdapterElement', - version: '25.2.6' - }); - } - } -} diff --git a/kontor-spring/src/main/frontend/generated/flow/generated-flow-imports.d.ts b/kontor-spring/src/main/frontend/generated/flow/generated-flow-imports.d.ts deleted file mode 100644 index 693da49..0000000 --- a/kontor-spring/src/main/frontend/generated/flow/generated-flow-imports.d.ts +++ /dev/null @@ -1 +0,0 @@ -export {} \ No newline at end of file diff --git a/kontor-spring/src/main/frontend/generated/flow/generated-flow-imports.js b/kontor-spring/src/main/frontend/generated/flow/generated-flow-imports.js deleted file mode 100644 index f9b97a8..0000000 --- a/kontor-spring/src/main/frontend/generated/flow/generated-flow-imports.js +++ /dev/null @@ -1,105 +0,0 @@ -import '@vaadin/field-highlighter/src/vaadin-field-highlighter.js'; -import '@vaadin/common-frontend/ConnectionIndicator.js'; -import '@vaadin/accordion/src/vaadin-accordion.js'; -import '@vaadin/details/src/vaadin-details.js'; -import '@vaadin/accordion/src/vaadin-accordion-panel.js'; -import '@vaadin/app-layout/src/vaadin-app-layout.js'; -import '@vaadin/button/src/vaadin-button.js'; -import '@vaadin/app-layout/src/vaadin-drawer-toggle.js'; -import '@vaadin/avatar/src/vaadin-avatar.js'; -import '@vaadin/avatar-group/src/vaadin-avatar-group.js'; -import '@vaadin/badge/src/vaadin-badge.js'; -import '@vaadin/breadcrumbs/src/vaadin-breadcrumbs-item.js'; -import '@vaadin/card/src/vaadin-card.js'; -import '@vaadin/checkbox/src/vaadin-checkbox.js'; -import '@vaadin/checkbox-group/src/vaadin-checkbox-group.js'; -import '@vaadin/combo-box/src/vaadin-combo-box.js'; -import 'Frontend/generated/jar-resources/flow-component-renderer.js'; -import 'Frontend/generated/jar-resources/flow-component-directive.js'; -import 'Frontend/generated/jar-resources/comboBoxConnector.js'; -import '@vaadin/multi-select-combo-box/src/vaadin-multi-select-combo-box.js'; -import '@vaadin/confirm-dialog/src/vaadin-confirm-dialog.js'; -import '@vaadin/context-menu/src/vaadin-context-menu.js'; -import '@vaadin/tooltip/src/vaadin-tooltip.js'; -import 'Frontend/generated/jar-resources/contextMenuConnector.js'; -import 'Frontend/generated/jar-resources/contextMenuTargetConnector.js'; -import '@vaadin/custom-field/src/vaadin-custom-field.js'; -import '@vaadin/date-picker/src/vaadin-date-picker.js'; -import 'Frontend/generated/jar-resources/datepickerConnector.js'; -import '@vaadin/date-time-picker/src/vaadin-date-time-picker.js'; -import '@vaadin/time-picker/src/vaadin-time-picker.js'; -import 'Frontend/generated/jar-resources/vaadin-time-picker/timepickerConnector.js'; -import 'Frontend/generated/jar-resources/vaadin-time-picker/helpers.js'; -import '@vaadin/dialog/src/vaadin-dialog.js'; -import 'Frontend/generated/jar-resources/dndConnector.js'; -import '@vaadin/form-layout/src/vaadin-form-layout.js'; -import '@vaadin/form-layout/src/vaadin-form-item.js'; -import '@vaadin/form-layout/src/vaadin-form-row.js'; -import '@vaadin/grid/src/vaadin-grid-column-group.js'; -import '@vaadin/grid/src/vaadin-grid.js'; -import '@vaadin/grid/src/vaadin-grid-column.js'; -import '@vaadin/grid/src/vaadin-grid-sorter.js'; -import 'Frontend/generated/jar-resources/gridConnector.ts'; -import 'Frontend/generated/jar-resources/vaadin-grid-flow-selection-column.js'; -import '@vaadin/icon/src/vaadin-icon.js'; -import '@vaadin/icons/vaadin-iconset.js'; -import '@vaadin/list-box/src/vaadin-list-box.js'; -import '@vaadin/item/src/vaadin-item.js'; -import '@vaadin/login/src/vaadin-login-form.js'; -import '@vaadin/login/src/vaadin-login-overlay.js'; -import '@vaadin/markdown/src/vaadin-markdown.js'; -import '@vaadin/master-detail-layout/src/vaadin-master-detail-layout.js'; -import 'Frontend/generated/jar-resources/menubarConnector.js'; -import '@vaadin/menu-bar/src/vaadin-menu-bar.js'; -import '@vaadin/message-input/src/vaadin-message-input.js'; -import 'Frontend/generated/jar-resources/messageListConnector.js'; -import '@vaadin/message-list/src/vaadin-message-list.js'; -import '@vaadin/notification/src/vaadin-notification.js'; -import '@vaadin/horizontal-layout/src/vaadin-horizontal-layout.js'; -import '@vaadin/scroller/src/vaadin-scroller.js'; -import '@vaadin/vertical-layout/src/vaadin-vertical-layout.js'; -import '@vaadin/popover/src/vaadin-popover.js'; -import 'Frontend/generated/jar-resources/vaadin-popover/popover.ts'; -import '@vaadin/progress-bar/src/vaadin-progress-bar.js'; -import '@vaadin/radio-group/src/vaadin-radio-button.js'; -import '@vaadin/radio-group/src/vaadin-radio-group.js'; -import 'Frontend/generated/jar-resources/ReactRouterOutletElement.tsx'; -import '@vaadin/select/src/vaadin-select.js'; -import 'Frontend/generated/jar-resources/selectConnector.js'; -import 'Frontend/generated/jar-resources/tooltip.ts'; -import 'Frontend/generated/jar-resources/disableOnClickFunctions.js'; -import '@vaadin/side-nav/src/vaadin-side-nav.js'; -import '@vaadin/side-nav/src/vaadin-side-nav-item.js'; -import '@vaadin/slider/src/vaadin-range-slider.js'; -import '@vaadin/slider/src/vaadin-slider.js'; -import '@vaadin/split-layout/src/vaadin-split-layout.js'; -import '@vaadin/tabs/src/vaadin-tab.js'; -import '@vaadin/tabsheet/src/vaadin-tabsheet.js'; -import '@vaadin/tabs/src/vaadin-tabs.js'; -import 'Frontend/generated/jar-resources/vaadin-big-decimal-field.js'; -import '@vaadin/email-field/src/vaadin-email-field.js'; -import '@vaadin/integer-field/src/vaadin-integer-field.js'; -import '@vaadin/number-field/src/vaadin-number-field.js'; -import '@vaadin/password-field/src/vaadin-password-field.js'; -import '@vaadin/text-area/src/vaadin-text-area.js'; -import '@vaadin/text-field/src/vaadin-text-field.js'; -import 'Frontend/generated/jar-resources/lit-renderer.ts'; -import '@vaadin/grid/src/vaadin-grid-tree-toggle.js'; -import 'Frontend/generated/jar-resources/treeGridConnector.ts'; -import '@vaadin/upload/src/vaadin-upload.js'; -import '@vaadin/upload/src/vaadin-upload-button.js'; -import '@vaadin/upload/src/vaadin-upload-drop-zone.js'; -import '@vaadin/upload/src/vaadin-upload-file-list.js'; -import 'Frontend/generated/jar-resources/vaadin-upload-manager-connector.ts'; -import '@vaadin/virtual-list/src/vaadin-virtual-list.js'; -import 'Frontend/generated/jar-resources/virtualListConnector.js'; -import '@vaadin/vaadin-lumo-styles/vaadin-iconset.js'; -const loadOnDemand = (key) => { return Promise.resolve(0); } -window.Vaadin = window.Vaadin || {}; -window.Vaadin.Flow = window.Vaadin.Flow || {}; -window.Vaadin.Flow.loadOnDemand = loadOnDemand; -window.Vaadin.Flow.resetFocus = () => { - let ae=document.activeElement; - while(ae&&ae.shadowRoot) ae = ae.shadowRoot.activeElement; - return !ae || ae.blur() || ae.focus() || true; -} \ No newline at end of file diff --git a/kontor-spring/src/main/frontend/generated/flow/generated-flow-webcomponent-imports.js b/kontor-spring/src/main/frontend/generated/flow/generated-flow-webcomponent-imports.js deleted file mode 100644 index ede4b1a..0000000 --- a/kontor-spring/src/main/frontend/generated/flow/generated-flow-webcomponent-imports.js +++ /dev/null @@ -1,107 +0,0 @@ -import { injectGlobalWebcomponentCss } from 'Frontend/generated/jar-resources/theme-util.js'; - -import '@vaadin/field-highlighter/src/vaadin-field-highlighter.js'; -import '@vaadin/common-frontend/ConnectionIndicator.js'; -import '@vaadin/accordion/src/vaadin-accordion.js'; -import '@vaadin/details/src/vaadin-details.js'; -import '@vaadin/accordion/src/vaadin-accordion-panel.js'; -import '@vaadin/app-layout/src/vaadin-app-layout.js'; -import '@vaadin/button/src/vaadin-button.js'; -import '@vaadin/app-layout/src/vaadin-drawer-toggle.js'; -import '@vaadin/avatar/src/vaadin-avatar.js'; -import '@vaadin/avatar-group/src/vaadin-avatar-group.js'; -import '@vaadin/badge/src/vaadin-badge.js'; -import '@vaadin/breadcrumbs/src/vaadin-breadcrumbs-item.js'; -import '@vaadin/card/src/vaadin-card.js'; -import '@vaadin/checkbox/src/vaadin-checkbox.js'; -import '@vaadin/checkbox-group/src/vaadin-checkbox-group.js'; -import '@vaadin/combo-box/src/vaadin-combo-box.js'; -import 'Frontend/generated/jar-resources/flow-component-renderer.js'; -import 'Frontend/generated/jar-resources/flow-component-directive.js'; -import 'Frontend/generated/jar-resources/comboBoxConnector.js'; -import '@vaadin/multi-select-combo-box/src/vaadin-multi-select-combo-box.js'; -import '@vaadin/confirm-dialog/src/vaadin-confirm-dialog.js'; -import '@vaadin/context-menu/src/vaadin-context-menu.js'; -import '@vaadin/tooltip/src/vaadin-tooltip.js'; -import 'Frontend/generated/jar-resources/contextMenuConnector.js'; -import 'Frontend/generated/jar-resources/contextMenuTargetConnector.js'; -import '@vaadin/custom-field/src/vaadin-custom-field.js'; -import '@vaadin/date-picker/src/vaadin-date-picker.js'; -import 'Frontend/generated/jar-resources/datepickerConnector.js'; -import '@vaadin/date-time-picker/src/vaadin-date-time-picker.js'; -import '@vaadin/time-picker/src/vaadin-time-picker.js'; -import 'Frontend/generated/jar-resources/vaadin-time-picker/timepickerConnector.js'; -import 'Frontend/generated/jar-resources/vaadin-time-picker/helpers.js'; -import '@vaadin/dialog/src/vaadin-dialog.js'; -import 'Frontend/generated/jar-resources/dndConnector.js'; -import '@vaadin/form-layout/src/vaadin-form-layout.js'; -import '@vaadin/form-layout/src/vaadin-form-item.js'; -import '@vaadin/form-layout/src/vaadin-form-row.js'; -import '@vaadin/grid/src/vaadin-grid-column-group.js'; -import '@vaadin/grid/src/vaadin-grid.js'; -import '@vaadin/grid/src/vaadin-grid-column.js'; -import '@vaadin/grid/src/vaadin-grid-sorter.js'; -import 'Frontend/generated/jar-resources/gridConnector.ts'; -import 'Frontend/generated/jar-resources/vaadin-grid-flow-selection-column.js'; -import '@vaadin/icon/src/vaadin-icon.js'; -import '@vaadin/icons/vaadin-iconset.js'; -import '@vaadin/list-box/src/vaadin-list-box.js'; -import '@vaadin/item/src/vaadin-item.js'; -import '@vaadin/login/src/vaadin-login-form.js'; -import '@vaadin/login/src/vaadin-login-overlay.js'; -import '@vaadin/markdown/src/vaadin-markdown.js'; -import '@vaadin/master-detail-layout/src/vaadin-master-detail-layout.js'; -import 'Frontend/generated/jar-resources/menubarConnector.js'; -import '@vaadin/menu-bar/src/vaadin-menu-bar.js'; -import '@vaadin/message-input/src/vaadin-message-input.js'; -import 'Frontend/generated/jar-resources/messageListConnector.js'; -import '@vaadin/message-list/src/vaadin-message-list.js'; -import '@vaadin/notification/src/vaadin-notification.js'; -import '@vaadin/horizontal-layout/src/vaadin-horizontal-layout.js'; -import '@vaadin/scroller/src/vaadin-scroller.js'; -import '@vaadin/vertical-layout/src/vaadin-vertical-layout.js'; -import '@vaadin/popover/src/vaadin-popover.js'; -import 'Frontend/generated/jar-resources/vaadin-popover/popover.ts'; -import '@vaadin/progress-bar/src/vaadin-progress-bar.js'; -import '@vaadin/radio-group/src/vaadin-radio-button.js'; -import '@vaadin/radio-group/src/vaadin-radio-group.js'; -import 'Frontend/generated/jar-resources/ReactRouterOutletElement.tsx'; -import '@vaadin/select/src/vaadin-select.js'; -import 'Frontend/generated/jar-resources/selectConnector.js'; -import 'Frontend/generated/jar-resources/tooltip.ts'; -import 'Frontend/generated/jar-resources/disableOnClickFunctions.js'; -import '@vaadin/side-nav/src/vaadin-side-nav.js'; -import '@vaadin/side-nav/src/vaadin-side-nav-item.js'; -import '@vaadin/slider/src/vaadin-range-slider.js'; -import '@vaadin/slider/src/vaadin-slider.js'; -import '@vaadin/split-layout/src/vaadin-split-layout.js'; -import '@vaadin/tabs/src/vaadin-tab.js'; -import '@vaadin/tabsheet/src/vaadin-tabsheet.js'; -import '@vaadin/tabs/src/vaadin-tabs.js'; -import 'Frontend/generated/jar-resources/vaadin-big-decimal-field.js'; -import '@vaadin/email-field/src/vaadin-email-field.js'; -import '@vaadin/integer-field/src/vaadin-integer-field.js'; -import '@vaadin/number-field/src/vaadin-number-field.js'; -import '@vaadin/password-field/src/vaadin-password-field.js'; -import '@vaadin/text-area/src/vaadin-text-area.js'; -import '@vaadin/text-field/src/vaadin-text-field.js'; -import 'Frontend/generated/jar-resources/lit-renderer.ts'; -import '@vaadin/grid/src/vaadin-grid-tree-toggle.js'; -import 'Frontend/generated/jar-resources/treeGridConnector.ts'; -import '@vaadin/upload/src/vaadin-upload.js'; -import '@vaadin/upload/src/vaadin-upload-button.js'; -import '@vaadin/upload/src/vaadin-upload-drop-zone.js'; -import '@vaadin/upload/src/vaadin-upload-file-list.js'; -import 'Frontend/generated/jar-resources/vaadin-upload-manager-connector.ts'; -import '@vaadin/virtual-list/src/vaadin-virtual-list.js'; -import 'Frontend/generated/jar-resources/virtualListConnector.js'; -import '@vaadin/vaadin-lumo-styles/vaadin-iconset.js'; -const loadOnDemand = (key) => { return Promise.resolve(0); } -window.Vaadin = window.Vaadin || {}; -window.Vaadin.Flow = window.Vaadin.Flow || {}; -window.Vaadin.Flow.loadOnDemand = loadOnDemand; -window.Vaadin.Flow.resetFocus = () => { - let ae=document.activeElement; - while(ae&&ae.shadowRoot) ae = ae.shadowRoot.activeElement; - return !ae || ae.blur() || ae.focus() || true; -} \ No newline at end of file diff --git a/kontor-spring/src/main/frontend/generated/generated-flow-files.txt b/kontor-spring/src/main/frontend/generated/generated-flow-files.txt deleted file mode 100644 index 8028436..0000000 --- a/kontor-spring/src/main/frontend/generated/generated-flow-files.txt +++ /dev/null @@ -1,132 +0,0 @@ -app-shell-imports.d.ts -app-shell-imports.js -css.generated.d.ts -flow/Flow.tsx -flow/ReactAdapter.tsx -flow/generated-flow-imports.d.ts -flow/generated-flow-imports.js -flow/generated-flow-webcomponent-imports.js -index.tsx -jar-resources/Clipboard.d.ts -jar-resources/Clipboard.js -jar-resources/Clipboard.js.map -jar-resources/Download.d.ts -jar-resources/Download.js -jar-resources/Download.js.map -jar-resources/ElementResize.d.ts -jar-resources/ElementResize.js -jar-resources/ElementResize.js.map -jar-resources/Flow.d.ts -jar-resources/Flow.js -jar-resources/Flow.js.map -jar-resources/FlowBootstrap.d.ts -jar-resources/FlowBootstrap.js -jar-resources/FlowClient.d.ts -jar-resources/FlowClient.js -jar-resources/FlowShortcut.js -jar-resources/Fullscreen.d.ts -jar-resources/Fullscreen.js -jar-resources/Fullscreen.js.map -jar-resources/Geolocation.d.ts -jar-resources/Geolocation.js -jar-resources/Geolocation.js.map -jar-resources/PageVisibility.d.ts -jar-resources/PageVisibility.js -jar-resources/PageVisibility.js.map -jar-resources/ReactRouterOutletElement.tsx -jar-resources/ScreenOrientation.d.ts -jar-resources/ScreenOrientation.js -jar-resources/ScreenOrientation.js.map -jar-resources/WakeLock.d.ts -jar-resources/WakeLock.js -jar-resources/WakeLock.js.map -jar-resources/WebShare.d.ts -jar-resources/WebShare.js -jar-resources/WebShare.js.map -jar-resources/comboBoxConnector.js -jar-resources/contextMenuConnector.js -jar-resources/contextMenuTargetConnector.js -jar-resources/copilot-version.js -jar-resources/copilot.d.ts -jar-resources/copilot.js -jar-resources/copilot/base-panel-Fr0D1ZcU.js -jar-resources/copilot/chunk-DiqZc92J.js -jar-resources/copilot/consts-CSALuSsm.js -jar-resources/copilot/copilot-development-setup-user-guide-Db31eO1T.js -jar-resources/copilot/copilot-development-setup-user-guide-utils-DzEVQbWO.js -jar-resources/copilot/copilot-devtools-CYwy4U79.js -jar-resources/copilot/copilot-error-handler-9OpssAH1.js -jar-resources/copilot/copilot-features-plugin-DwQSwtbQ.js -jar-resources/copilot/copilot-feedback-plugin-JMYrBCmQ.js -jar-resources/copilot/copilot-focus-trap-CaZw1c70.js -jar-resources/copilot/copilot-global-vars-later-CWkvR40X.js -jar-resources/copilot/copilot-impersonator-plugin-iN25IekB.js -jar-resources/copilot/copilot-info-plugin-9l6uSELy.js -jar-resources/copilot/copilot-init-step2-tqpZOWcn.js -jar-resources/copilot/copilot-log-plugin-CmwIHcBw.js -jar-resources/copilot/copilot-message-box-CVAh5PSs.js -jar-resources/copilot/copilot-modes-wJyMqHUb.js -jar-resources/copilot/copilot-notification-CCNJdNg4.js -jar-resources/copilot/copilot-notification-UcomqPI8.js -jar-resources/copilot/copilot-server-communicator-impl-B7YDzJpM.js -jar-resources/copilot/copilot-settings-panel-qUN2f6RH.js -jar-resources/copilot/copilot-shortcuts-BzZuUtjW.js -jar-resources/copilot/copilot-stored-machine-state-D6qB_Peh.js -jar-resources/copilot/copilot-tree-impl-DxBvMTRa.js -jar-resources/copilot/copilot-ui-state-Dc6l_5DA.js -jar-resources/copilot/copilot-userinfo-C0s6T_kB.js -jar-resources/copilot/copilot-vaadin-versions-CkxDkDmp.js -jar-resources/copilot/copy-to-clipboard-4Y12mBRr.js -jar-resources/copilot/directive-DWLihZIi.js -jar-resources/copilot/directive-helpers-BTt8P8-5.js -jar-resources/copilot/dom-utils-Cuv93-tQ.js -jar-resources/copilot/early-project-state-LGwavSyI.js -jar-resources/copilot/figma-public/figma-api.d.ts -jar-resources/copilot/icons-CwakCZgK.js -jar-resources/copilot/lit-renderer-fa_B9boC.js -jar-resources/copilot/section-panel-ui-state-hOj_RfX_.js -jar-resources/copilot/shared/copilot-plugin-support.d.ts -jar-resources/copilot/shared/flow-utils.d.ts -jar-resources/copilot/stats-CRkPKCLQ.js -jar-resources/copilot/track-active-mode-event-DkX0nsC6.js -jar-resources/copilot/typescript-BkEBjsia.js -jar-resources/datepickerConnector.js -jar-resources/disableOnClickFunctions.js -jar-resources/dndConnector.js -jar-resources/flow-component-directive.js -jar-resources/flow-component-renderer.js -jar-resources/gridConnector.ts -jar-resources/index.d.ts -jar-resources/index.js -jar-resources/index.js.map -jar-resources/lit-renderer.ts -jar-resources/menubarConnector.js -jar-resources/messageListConnector.js -jar-resources/selectConnector.js -jar-resources/theme-util.js -jar-resources/tooltip.ts -jar-resources/treeGridConnector.ts -jar-resources/vaadin-big-decimal-field.js -jar-resources/vaadin-dev-tools/License.d.ts -jar-resources/vaadin-dev-tools/connection.d.ts -jar-resources/vaadin-dev-tools/hotswap-scroll.d.ts -jar-resources/vaadin-dev-tools/live-reload-connection.d.ts -jar-resources/vaadin-dev-tools/pre-trial-splash-screen.d.ts -jar-resources/vaadin-dev-tools/vaadin-dev-tools.d.ts -jar-resources/vaadin-dev-tools/vaadin-dev-tools.js -jar-resources/vaadin-dev-tools/vaadin-dev-tools.js.map -jar-resources/vaadin-dev-tools/websocket-connection.d.ts -jar-resources/vaadin-grid-flow-selection-column.js -jar-resources/vaadin-popover/popover.ts -jar-resources/vaadin-time-picker/helpers.js -jar-resources/vaadin-time-picker/timepickerConnector.js -jar-resources/vaadin-upload-manager-connector.ts -jar-resources/virtualListConnector.js -jsx-dev-transform/index.ts -jsx-dev-transform/jsx-dev-runtime.ts -jsx-dev-transform/jsx-runtime.ts -layouts.json -routes.tsx -vaadin-featureflags.js -vaadin-react.tsx -vaadin.ts \ No newline at end of file diff --git a/kontor-spring/src/main/frontend/generated/index.tsx b/kontor-spring/src/main/frontend/generated/index.tsx deleted file mode 100644 index 8c8a71a..0000000 --- a/kontor-spring/src/main/frontend/generated/index.tsx +++ /dev/null @@ -1,26 +0,0 @@ -/****************************************************************************** - * This file is auto-generated by Vaadin. - * If you want to customize the entry point, you can copy this file or create - * your own `index.tsx` in your frontend directory. - * By default, the `index.tsx` file should be in `./frontend/` folder. - * - * NOTE: - * - You need to restart the dev-server after adding the new `index.tsx` file. - * After that, all modifications to `index.tsx` are recompiled automatically. - * - `index.js` is also supported if you don't want to use TypeScript. - ******************************************************************************/ - -import { createElement } from 'react'; -import { createRoot } from 'react-dom/client'; -import { RouterProvider } from 'react-router'; -import { router } from 'Frontend/generated/routes.js'; - -function App() { - return ; -} - -const outlet = document.getElementById('outlet')!; -let root = (outlet as any)._root ?? createRoot(outlet); -(outlet as any)._root = root; -root.render(createElement(App)); - diff --git a/kontor-spring/src/main/frontend/generated/jar-resources/Clipboard.d.ts b/kontor-spring/src/main/frontend/generated/jar-resources/Clipboard.d.ts deleted file mode 100644 index cb0ff5c..0000000 --- a/kontor-spring/src/main/frontend/generated/jar-resources/Clipboard.d.ts +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/kontor-spring/src/main/frontend/generated/jar-resources/Clipboard.js b/kontor-spring/src/main/frontend/generated/jar-resources/Clipboard.js deleted file mode 100644 index 97ed1b1..0000000 --- a/kontor-spring/src/main/frontend/generated/jar-resources/Clipboard.js +++ /dev/null @@ -1,199 +0,0 @@ -/* - * Copyright 2000-2026 Vaadin Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may not - * use this file except in compliance with the License. You may obtain a copy of - * the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations under - * the License. - */ -/** - * Reads the first item from the system clipboard and returns its text/plain - * and text/html representations. Either field is {@code null} if the - * corresponding MIME type is not present. - * - * The caller is expected to be inside a transient user gesture and to have - * been granted the {@code clipboard-read} permission; otherwise - * {@code navigator.clipboard.read} rejects and this function propagates the - * rejection. - */ -async function readClipboardPayload() { - const items = await navigator.clipboard.read(); - if (!items.length) { - return null; - } - const item = items[0]; - const get = async (type) => item.types.includes(type) ? (await item.getType(type)).text() : null; - return { - text: await get('text/plain'), - html: await get('text/html') - }; -} -/** - * Re-encodes the given {@code } as {@code image/png} via a canvas - * round-trip. The source can be any rasterisable format the browser already - * decodes ({@code image/png}, {@code image/jpeg}, {@code image/svg+xml}, ...); - * the output is always a {@code Promise} of {@code image/png}, the only - * image MIME type every browser's asynchronous Clipboard API accepts on write. - * - * Cross-origin images need {@code crossorigin="anonymous"} on the {@code } - * plus matching CORS headers, otherwise the canvas is tainted and - * {@code toBlob} throws. - */ -function imageToPngBlob(img) { - return new Promise((resolve, reject) => { - const draw = () => { - try { - const width = img.naturalWidth || img.width; - const height = img.naturalHeight || img.height; - if (!width || !height) { - reject(new Error('image has no intrinsic size')); - return; - } - const canvas = document.createElement('canvas'); - canvas.width = width; - canvas.height = height; - const ctx = canvas.getContext('2d'); - if (!ctx) { - reject(new Error('2D canvas context not available')); - return; - } - ctx.drawImage(img, 0, 0, width, height); - canvas.toBlob((png) => (png ? resolve(png) : reject(new Error('canvas.toBlob returned null'))), 'image/png'); - } - catch (err) { - reject(err); - } - }; - if (img.complete) { - // `complete` is also true for an image that already failed to load or has - // an empty src; those have naturalWidth === 0 and their load/error events - // have already fired and will never fire again, so we must settle here - // rather than wait for an event that never comes. - if (img.naturalWidth > 0) { - draw(); - } - else { - reject(new Error('image failed to load or has empty src')); - } - } - else { - img.addEventListener('load', draw, { once: true }); - img.addEventListener('error', () => reject(new Error('image load failed')), { once: true }); - } - }); -} -/** - * Writes any combination of text/plain, text/html and image/png to the system - * clipboard as a single ClipboardItem. Any argument may be {@code null} to omit - * that MIME type; at least one is expected to be non-null (the caller enforces - * this). The image argument is the source {@code }; it is re-encoded as - * {@code image/png} via {@link imageToPngBlob} and the resulting - * {@code Promise} is fed directly to {@code ClipboardItem} so the - * {@code navigator.clipboard.write} call stays synchronous inside the user - * gesture (Safari otherwise loses activation on the first await). - * - * The caller is expected to be inside a transient user gesture; otherwise - * {@code navigator.clipboard.write} rejects and this function propagates the - * rejection. - * - * Resolves with the {@code text/plain} value if present, otherwise with the - * {@code text/html} value, otherwise with {@code null} (image-only case). - */ -async function writeClipboardPayload(text, html, image) { - const entries = {}; - if (text !== null) { - entries['text/plain'] = text; - } - if (html !== null) { - entries['text/html'] = html; - } - if (image !== null) { - entries['image/png'] = imageToPngBlob(image); - } - await navigator.clipboard.write([new ClipboardItem(entries)]); - return text !== null ? text : html; -} -/** - * Posts each file from a {@code paste} event's {@code clipboardData.files} as - * its own XHR to the URL stored as the named attribute on {@code element}. The - * wire format matches vaadin-upload: raw body, percent-encoded {@code X-Filename} - * header, MIME type in {@code Content-Type}. - * - * Each upload is processed in its own HTTP request, so the UI changes the - * server-side UploadHandler makes through {@code UI.access} are applied to the - * state tree but not sent to the client by the upload response itself. Once - * every upload of the paste has settled this helper dispatches a - * {@code vaadin-paste-upload-finished} event back on {@code element}; a - * server-side listener for that event triggers a normal Flow round trip that - * flushes those pending UI changes — so the API works without {@code @Push}, - * exactly like a regular upload completing through the Upload component. - * - * Editable targets ({@code }, {@code