1
0
mirror of https://github.com/coltoneshaw/CS-Repro-Mattermost.git synced 2025-12-23 18:11:34 +01:00

Added make file and modified how it works

This commit is contained in:
coltoneshaw
2023-02-15 11:47:47 -05:00
parent fdfe8c1eaa
commit 1f51321fb3
12 changed files with 348 additions and 414 deletions

5
.gitignore vendored
View File

@@ -1,6 +1,7 @@
enterprise.txt
license.mattermost
## Ignoring keycloak so it can be pulled already setup.
!volumes/keycloak/*
volumes
.DS_Store

51
Makefile Normal file
View File

@@ -0,0 +1,51 @@
.PHONY: stop start check_mattermost
docker_follow_logs:
@echo "Following logs..."
@docker compose logs --follow
@echo "Done"
check_mattermost:
setup-mattermost:
@./scripts/mattermost.sh setup
backup-keycloak:
@./scripts/keycloak.sh backup
restore-keycloak:
@./scripts/keycloak.sh restore
start:
@echo "Starting..."
@make restore-keycloak
@docker compose up -d
@make setup-mattermost
stop:
@echo "Stopping..."
@docker compose down
@echo "Done"
restart:
@docker compose restart
reset:
@echo "Resetting..."
@make delete-data
@make start
delete-dockerfiles:
@echo "Deleting data..."
@docker compose rm
@rm -rf ./volumes
@echo "Done"
delete-data: stop delete-dockerfiles
nuke:
@echo "Nuking Docker..."
@docker compose down --rmi all --volumes --remove-orphans
@make delete-data

View File

@@ -63,7 +63,7 @@ services:
depends_on:
postgres:
condition: service_healthy
image: mattermost/mattermost-enterprise-edition:release-7.5
image: mattermost/mattermost-enterprise-edition:release-7.7
restart: unless-stopped
security_opt:
- no-new-privileges:true
@@ -81,10 +81,17 @@ services:
- ./volumes/mattermost/plugins:/mattermost/plugins:rw
- ./volumes/mattermost/client/plugins:/mattermost/client/plugins:rw
- ./volumes/mattermost/bleve-indexes:/mattermost/bleve-indexes:rw
- ./enterprise.txt:/mattermost/config/license.mattermost-enterprise:ro
- ./files/mattermost/config.json:/mattermost/config/config.json
- ./license.mattermost:/mattermost/config/license.mattermost-enterprise:ro
- ./files/mattermost/samlCert.crt:/mattermost/config/samlCert.crt
# - ./certs/mattermost.crt:/mattermost/config/mattermost.crt:rW
- ./files/mattermost/defaultConfig.json:/mattermost/config/defaultConfig.json
environment:
- MM_SqlSettings_DriverName=postgres
- MM_SqlSettings_DataSource=postgres://mmuser:mmuser_password@cs-repro-postgres:5432/mattermost?sslmode=disable&connect_timeout=10&binary_parameters=yes
- MM_ServiceSettings_EnableLocalMode=true
- MM_ServiceSettings_LocalModeSocketLocation=/var/tmp/mattermost_local.socket
- MM_ServiceSettings_LicenseFileLocation=/mattermost/config/license.mattermost-enterprise
# command:
# - mmctl config patch /mattermost/config/defaultConfig.json --local
keycloak:
container_name: cs-repro-keycloak
restart: unless-stopped

BIN
files/.DS_Store vendored

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -89,7 +89,7 @@
"EnableSVGs": true,
"EnableLatex": true,
"EnableInlineLatex": true,
"PostPriority": false,
"PostPriority": true,
"EnableAPIChannelDeletion": false,
"EnableLocalMode": true,
"LocalModeSocketLocation": "/var/tmp/mattermost_local.socket",
@@ -100,12 +100,14 @@
"ThreadAutoFollow": true,
"CollapsedThreads": "always_on",
"ManagedResourcePaths": "",
"EnableCustomGroups": true
"EnableCustomGroups": true,
"SelfHostedPurchase": true,
"AllowSyncedDrafts": true
},
"TeamSettings": {
"SiteName": "Mattermost",
"MaxUsersPerTeam": 50,
"EnableUserCreation": true,
"EnableUserCreation": false,
"EnableOpenServer": false,
"EnableUserDeactivation": false,
"RestrictCreationToDomains": "",
@@ -119,7 +121,7 @@
"MaxChannelsPerTeam": 2000,
"MaxNotificationsPerChannel": 1000,
"EnableConfirmNotificationsToChannel": true,
"TeammateNameDisplay": "username",
"TeammateNameDisplay": "full_name",
"ExperimentalViewArchivedChannels": true,
"ExperimentalEnableAutomaticReplies": false,
"LockTeammateNameDisplay": false,
@@ -142,7 +144,7 @@
"ConnMaxIdleTimeMilliseconds": 300000,
"MaxOpenConns": 300,
"Trace": false,
"AtRestEncryptKey": "d44qwusbidpssy13zw6cr9idp43mgw5w",
"AtRestEncryptKey": "c6j9z5bzbsargtkk17fxcjuyw7yetkdd",
"QueryTimeout": 30,
"DisableDatabaseSearch": false,
"MigrationsStatementTimeoutSeconds": 100000,
@@ -154,11 +156,12 @@
"ConsoleJson": true,
"EnableColor": false,
"EnableFile": true,
"FileLevel": "INFO",
"FileLevel": "DEBUG",
"FileJson": true,
"FileLocation": "",
"EnableWebhookDebugging": true,
"EnableDiagnostics": true,
"VerboseDiagnostics": false,
"EnableSentry": true,
"AdvancedLoggingConfig": ""
},
@@ -202,7 +205,7 @@
"EnablePublicLink": false,
"ExtractContent": true,
"ArchiveRecursion": false,
"PublicLinkSalt": "o57y33mz89b5jjxibuyxyjds6s8tcxxd",
"PublicLinkSalt": "5dt8nrqjspnjikmb7yaz9kwesanaqcf5",
"InitialFont": "nunito-bold.ttf",
"AmazonS3AccessKeyId": "",
"AmazonS3SecretAccessKey": "",
@@ -217,8 +220,8 @@
"AmazonS3RequestTimeoutMilliseconds": 30000
},
"EmailSettings": {
"EnableSignUpWithEmail": true,
"EnableSignInWithEmail": true,
"EnableSignUpWithEmail": false,
"EnableSignInWithEmail": false,
"EnableSignInWithUsername": true,
"SendEmailNotifications": true,
"UseChannelInEmailNotifications": false,
@@ -347,13 +350,13 @@
"BaseDN": "dc=planetexpress,dc=com",
"BindUsername": "cn=admin,dc=planetexpress,dc=com",
"BindPassword": "GoodNewsEveryone",
"UserFilter": "(objectClass=banana)",
"UserFilter": "(objectClass=Person)",
"GroupFilter": "(objectClass=Group)",
"GuestFilter": "",
"EnableAdminFilter": true,
"EnableAdminFilter": false,
"AdminFilter": "(memberof=cn=admin_staff,ou=people,dc=planetexpress,dc=com)",
"GroupDisplayNameAttribute": "cn",
"GroupIdAttribute": "dn",
"GroupIdAttribute": "cn",
"FirstNameAttribute": "givenName",
"LastNameAttribute": "sn",
"EmailAttribute": "mail",
@@ -449,7 +452,7 @@
"IdleConnTimeoutMilliseconds": 90000
},
"MetricsSettings": {
"Enable": false,
"Enable": true,
"BlockProfileRate": 0,
"ListenAddress": ":8067"
},
@@ -461,7 +464,8 @@
"UseNewSAMLLibrary": false,
"EnableSharedChannels": false,
"EnableRemoteClusterService": false,
"EnableAppBar": false
"EnableAppBar": false,
"PatchPluginsReactDOM": false
},
"AnalyticsSettings": {
"MaxUsersForStatistics": 2500
@@ -471,8 +475,8 @@
"Username": "elastic",
"Password": "changeme",
"EnableIndexing": true,
"EnableSearching": false,
"EnableAutocomplete": false,
"EnableSearching": true,
"EnableAutocomplete": true,
"Sniff": true,
"PostIndexReplicas": 1,
"PostIndexShards": 1,
@@ -532,14 +536,14 @@
},
"PluginSettings": {
"Enable": true,
"EnableUploads": false,
"EnableUploads": true,
"AllowInsecureDownloadURL": false,
"EnableHealthCheck": true,
"Directory": "./plugins",
"ClientDirectory": "./client/plugins",
"Plugins": {
"playbooks": {
"BotUserID": "kkx51t3yytrabj9dfjtzyaazdw"
"BotUserID": "qy9ge6fgcjf35yc5ugb93r65fh"
}
},
"PluginStates": {
@@ -575,7 +579,7 @@
"ExperimentalTimezone": true
},
"GuestAccountsSettings": {
"Enable": false,
"Enable": true,
"AllowEmailAccounts": true,
"EnforceMultifactorAuthentication": false,
"RestrictCreationToDomains": ""

View File

@@ -0,0 +1,139 @@
{
"ServiceSettings": {
"LicenseFileLocation": "config/license.mattermost-enterprise",
"AllowedUntrustedInternalConnections": "cs-repro-keycloak:8080 cs-repro-keycloak"
},
"LogSettings": {
"EnableConsole": true,
"ConsoleLevel": "DEBUG",
"ConsoleJson": true,
"EnableColor": false,
"EnableFile": true,
"FileLevel": "INFO",
"FileJson": true,
"FileLocation": "",
"EnableWebhookDebugging": true,
"EnableDiagnostics": true,
"EnableSentry": true,
"AdvancedLoggingConfig": ""
},
"ExperimentalAuditSettings": {
"FileEnabled": false,
"FileName": "",
"FileMaxSizeMB": 100,
"FileMaxAgeDays": 0,
"FileMaxBackups": 0,
"FileCompress": false,
"FileMaxQueueSize": 1000,
"AdvancedLoggingConfig": ""
},
"NotificationLogSettings": {
"EnableConsole": true,
"ConsoleLevel": "DEBUG",
"ConsoleJson": true,
"EnableColor": false,
"EnableFile": true,
"FileLevel": "INFO",
"FileJson": true,
"FileLocation": "",
"AdvancedLoggingConfig": ""
},
"LdapSettings": {
"Enable": true,
"EnableSync": true,
"LdapServer": "openldap",
"LdapPort": 10389,
"ConnectionSecurity": "",
"BaseDN": "dc=planetexpress,dc=com",
"BindUsername": "cn=admin,dc=planetexpress,dc=com",
"BindPassword": "GoodNewsEveryone",
"UserFilter": "(objectClass=banana)",
"GroupFilter": "(objectClass=Group)",
"GuestFilter": "",
"EnableAdminFilter": true,
"AdminFilter": "(memberof=cn=admin_staff,ou=people,dc=planetexpress,dc=com)",
"GroupDisplayNameAttribute": "cn",
"GroupIdAttribute": "dn",
"FirstNameAttribute": "givenName",
"LastNameAttribute": "sn",
"EmailAttribute": "mail",
"UsernameAttribute": "uid",
"NicknameAttribute": "",
"IdAttribute": "uid",
"PositionAttribute": "",
"LoginIdAttribute": "uid",
"PictureAttribute": "",
"SyncIntervalMinutes": 60,
"SkipCertificateVerification": false,
"PublicCertificateFile": "",
"PrivateKeyFile": "",
"QueryTimeout": 60,
"MaxPageSize": 0,
"LoginFieldName": "",
"LoginButtonColor": "#0000",
"LoginButtonBorderColor": "#2389D7",
"LoginButtonTextColor": "#2389D7",
"Trace": true
},
"SamlSettings": {
"Enable": true,
"EnableSyncWithLdap": true,
"EnableSyncWithLdapIncludeAuth": true,
"IgnoreGuestsLdapSync": false,
"Verify": false,
"Encrypt": false,
"SignRequest": false,
"IdpURL": "http://localhost:8080/realms/master/protocol/saml",
"IdpDescriptorURL": "http://localhost:8080/realms/master",
"IdpMetadataURL": "http://cs-repro-keycloak:8080/realms/master/protocol/saml/descriptor",
"ServiceProviderIdentifier": "mattermost",
"AssertionConsumerServiceURL": "http://localhost:8065/login/sso/saml",
"SignatureAlgorithm": "RSAwithSHA1",
"CanonicalAlgorithm": "Canonical1.0",
"ScopingIDPProviderId": "",
"ScopingIDPName": "",
"IdpCertificateFile": "samlCert.crt",
"PublicCertificateFile": "",
"PrivateKeyFile": "",
"IdAttribute": "id",
"GuestAttribute": "",
"EnableAdminAttribute": false,
"AdminAttribute": "",
"FirstNameAttribute": "",
"LastNameAttribute": "",
"EmailAttribute": "email",
"UsernameAttribute": "username",
"NicknameAttribute": "",
"LocaleAttribute": "",
"PositionAttribute": "",
"LoginButtonText": "keycloak",
"LoginButtonColor": "#34a28b",
"LoginButtonBorderColor": "#2389D7",
"LoginButtonTextColor": "#ffffff"
},
"MetricsSettings": {
"Enable": true,
"BlockProfileRate": 0,
"ListenAddress": ":8067"
},
"ElasticsearchSettings": {
"ConnectionURL": "http://cs-repro-elasticsearch:9200",
"EnableIndexing": true,
"EnableSearching": true,
"EnableAutocomplete": true,
"Sniff": true,
"PostIndexReplicas": 1,
"PostIndexShards": 1,
"ChannelIndexReplicas": 1,
"ChannelIndexShards": 1,
"UserIndexReplicas": 1,
"UserIndexShards": 1,
"AggregatePostsAfterDays": 365,
"PostsAggregatorJobStartTime": "03:00",
"IndexPrefix": ""
},
"PluginSettings": {
"Enable": true,
"EnableUploads": true
}
}

44
scripts/keycloak.sh Executable file
View File

@@ -0,0 +1,44 @@
#!/bin/bash
DIR="./volumes/keycloak"
restore () {
if [ -d "$DIR" ]; then
echo ===========================================================
echo
echo "'$DIR' found skipping keycloak setup"
echo
echo ===========================================================
else
echo ===========================================================
echo
echo "Warning: '$DIR' NOT found. Setting up from base"
echo
echo ===========================================================
mkdir -p ./volumes/keycloak
tar -zxf ./files/keycloak/keycloakBackup.tar -C ./volumes/keycloak
fi
}
backup () {
if [ -d "$DIR" ]; then
echo ===========================================================
echo
echo "'$DIR' found backing up keycloak"
echo
echo ===========================================================
tar -zcf keycloakBackup.tar -C ./volumes/keycloak .
mv keycloakBackup.tar ./files/keycloak/keycloakBackup.tar
else
echo ===========================================================
echo
echo "Warning: '$DIR' NOT found. Skipping backup"
echo
echo ===========================================================
fi
}
"$@"

77
scripts/mattermost.sh Executable file
View File

@@ -0,0 +1,77 @@
#!/bin/bash
DIR="./volumes/mattermost"
setup() {
if ! waitForStart; then
make stop
else
echo
echo
echo
echo "Do you want to setup test data for Mattermost?"
echo "This will overwrite some config and add a sysadmin user and a regular user."
echo "If you are curious about the config changes check out the file ./files/mattermost/defaultConfig.json"
echo "If you don't want to do this, just press enter."
echo
read -p "Y / N " -n 1 -r
echo # (optional) move to a new line
if [[ $REPLY =~ ^[Yy]$ ]]; then
echo ===========================================================
echo
echo "setting up test Data for Mattermost"
echo
echo ===========================================================
docker exec -it cs-repro-mattermost mmctl config patch /mattermost/config/defaultConfig.json --local
docker exec -it cs-repro-mattermost mmctl user create --password Testpassword123! --username sysadmin --email sysadmin@example.com --system-admin --local
docker exec -it cs-repro-mattermost mmctl user create --password Testpassword123! --username user-1 --email user-1@example.com --local
echoLogins
exit 0
fi
fi
echo
echo "Alright, everything seems to be setup and running. Enjoy."
}
total=0
max_wait_seconds=120
waitForStart() {
echo "waiting $max_wait_seconds seconds for the server to start"
while [[ "$total" -le "$max_wait_seconds" ]]; do
if docker exec -i cs-repro-mattermost mmctl system status --local 2>/dev/null; then
echo "server started"
return 0
else
((total = total + 1))
printf "."
sleep 1
fi
done
printf "\nserver didn't start in $max_wait_seconds seconds\n"
make stop
exit 1
}
echoLogins() {
echo
echo ========================================================================
echo
echo Logins:
echo
echo - System admin: username=sysadmin password=Testpassword123!
echo - Regular account: username=user-1 password=Testpassword123!
echo - LDAP or SAML account: username=professor password=professor
echo
echo ========================================================================
}
"$@"

Binary file not shown.

View File

@@ -1,389 +0,0 @@
2023-01-31 20:05:33 jdbc[3]: exception
org.h2.jdbc.JdbcSQLException: Table "MIGRATION_MODEL" not found; SQL statement:
SELECT ID, VERSION FROM MIGRATION_MODEL ORDER BY UPDATE_TIME DESC [42102-197]
2023-01-31 20:09:07 jdbc[3]: exception
org.h2.jdbc.JdbcSQLException: Table "MIGRATION_MODEL" not found; SQL statement:
SELECT ID, VERSION FROM MIGRATION_MODEL ORDER BY UPDATE_TIME DESC [42102-197]
2023-01-31 20:09:11 jdbc[3]: exception
org.h2.jdbc.JdbcSQLException: Table "DATABASECHANGELOG" not found; SQL statement:
SELECT COUNT(*) FROM PUBLIC.DATABASECHANGELOG [42102-197]
2023-01-31 20:09:13 jdbc[4]: exception
org.h2.jdbc.JdbcSQLException: Table "DATABASECHANGELOGLOCK" not found; SQL statement:
SELECT COUNT(*) FROM PUBLIC.DATABASECHANGELOGLOCK [42102-197]
2023-01-31 20:09:13 jdbc[3]: exception
org.h2.jdbc.JdbcSQLException: Table "DATABASECHANGELOG" not found; SQL statement:
SELECT COUNT(*) FROM PUBLIC.DATABASECHANGELOG [42102-197]
2023-01-31 20:16:47 jdbc[3]: exception
org.h2.jdbc.JdbcSQLException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-197]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:357)
at org.h2.message.DbException.get(DbException.java:179)
at org.h2.message.DbException.get(DbException.java:155)
at org.h2.message.DbException.get(DbException.java:144)
at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1526)
at org.h2.jdbcx.JdbcXAConnection$PooledJdbcConnection.checkClosed(JdbcXAConnection.java:470)
at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1502)
at org.h2.jdbc.JdbcConnection.setAutoCommit(JdbcConnection.java:455)
at org.h2.jdbcx.JdbcXAConnection$PooledJdbcConnection.close(JdbcXAConnection.java:451)
at org.h2.jdbcx.JdbcXAConnection.close(JdbcXAConnection.java:78)
at io.agroal.pool.ConnectionHandler.closeConnection(ConnectionHandler.java:185)
at io.agroal.pool.ConnectionPool$DestroyConnectionTask.run(ConnectionPool.java:768)
at io.agroal.pool.ConnectionPool.close(ConnectionPool.java:189)
at io.agroal.pool.DataSource.close(DataSource.java:79)
at io.quarkus.agroal.runtime.DataSources.stop(DataSources.java:381)
at io.quarkus.agroal.runtime.DataSources_Bean.destroy(Unknown Source)
at io.quarkus.agroal.runtime.DataSources_Bean.destroy(Unknown Source)
at io.quarkus.arc.impl.AbstractInstanceHandle.destroyInternal(AbstractInstanceHandle.java:80)
at io.quarkus.arc.impl.ContextInstanceHandleImpl.destroy(ContextInstanceHandleImpl.java:20)
at io.quarkus.arc.impl.AbstractSharedContext.destroy(AbstractSharedContext.java:94)
at io.quarkus.arc.impl.ArcContainerImpl.shutdown(ArcContainerImpl.java:369)
at io.quarkus.arc.Arc.shutdown(Arc.java:52)
at io.quarkus.arc.runtime.ArcRecorder$1.run(ArcRecorder.java:44)
at io.quarkus.runtime.StartupContext.runAllInReverseOrder(StartupContext.java:84)
at io.quarkus.runtime.StartupContext.close(StartupContext.java:73)
at io.quarkus.runner.ApplicationImpl.doStop(Unknown Source)
at io.quarkus.runtime.Application.stop(Application.java:203)
at io.quarkus.runtime.Application.stop(Application.java:155)
at io.quarkus.runtime.ApplicationLifecycleManager.run(ApplicationLifecycleManager.java:215)
at io.quarkus.runtime.Quarkus.run(Quarkus.java:67)
at org.keycloak.quarkus.runtime.KeycloakMain.start(KeycloakMain.java:86)
at org.keycloak.quarkus.runtime.cli.command.AbstractStartCommand.run(AbstractStartCommand.java:34)
at picocli.CommandLine.executeUserObject(CommandLine.java:1939)
at picocli.CommandLine.access$1300(CommandLine.java:145)
at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2358)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2352)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2314)
at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2179)
at picocli.CommandLine$RunLast.execute(CommandLine.java:2316)
at picocli.CommandLine.execute(CommandLine.java:2078)
at org.keycloak.quarkus.runtime.cli.Picocli.parseAndRun(Picocli.java:88)
at org.keycloak.quarkus.runtime.KeycloakMain.main(KeycloakMain.java:77)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at io.quarkus.bootstrap.runner.QuarkusEntryPoint.doRun(QuarkusEntryPoint.java:60)
at io.quarkus.bootstrap.runner.QuarkusEntryPoint.main(QuarkusEntryPoint.java:31)
2023-01-31 20:16:47 jdbc[4]: exception
org.h2.jdbc.JdbcSQLException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-197]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:357)
at org.h2.message.DbException.get(DbException.java:179)
at org.h2.message.DbException.get(DbException.java:155)
at org.h2.message.DbException.get(DbException.java:144)
at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1526)
at org.h2.jdbcx.JdbcXAConnection$PooledJdbcConnection.checkClosed(JdbcXAConnection.java:470)
at org.h2.jdbc.JdbcConnection.checkClosedForWrite(JdbcConnection.java:1512)
at org.h2.jdbc.JdbcConnection.rollback(JdbcConnection.java:516)
at org.h2.jdbcx.JdbcXAConnection$PooledJdbcConnection.close(JdbcXAConnection.java:450)
at org.h2.jdbcx.JdbcXAConnection.close(JdbcXAConnection.java:78)
at io.agroal.pool.ConnectionHandler.closeConnection(ConnectionHandler.java:185)
at io.agroal.pool.ConnectionPool$DestroyConnectionTask.run(ConnectionPool.java:768)
at io.agroal.pool.ConnectionPool.close(ConnectionPool.java:189)
at io.agroal.pool.DataSource.close(DataSource.java:79)
at io.quarkus.agroal.runtime.DataSources.stop(DataSources.java:381)
at io.quarkus.agroal.runtime.DataSources_Bean.destroy(Unknown Source)
at io.quarkus.agroal.runtime.DataSources_Bean.destroy(Unknown Source)
at io.quarkus.arc.impl.AbstractInstanceHandle.destroyInternal(AbstractInstanceHandle.java:80)
at io.quarkus.arc.impl.ContextInstanceHandleImpl.destroy(ContextInstanceHandleImpl.java:20)
at io.quarkus.arc.impl.AbstractSharedContext.destroy(AbstractSharedContext.java:94)
at io.quarkus.arc.impl.ArcContainerImpl.shutdown(ArcContainerImpl.java:369)
at io.quarkus.arc.Arc.shutdown(Arc.java:52)
at io.quarkus.arc.runtime.ArcRecorder$1.run(ArcRecorder.java:44)
at io.quarkus.runtime.StartupContext.runAllInReverseOrder(StartupContext.java:84)
at io.quarkus.runtime.StartupContext.close(StartupContext.java:73)
at io.quarkus.runner.ApplicationImpl.doStop(Unknown Source)
at io.quarkus.runtime.Application.stop(Application.java:203)
at io.quarkus.runtime.Application.stop(Application.java:155)
at io.quarkus.runtime.ApplicationLifecycleManager.run(ApplicationLifecycleManager.java:215)
at io.quarkus.runtime.Quarkus.run(Quarkus.java:67)
at org.keycloak.quarkus.runtime.KeycloakMain.start(KeycloakMain.java:86)
at org.keycloak.quarkus.runtime.cli.command.AbstractStartCommand.run(AbstractStartCommand.java:34)
at picocli.CommandLine.executeUserObject(CommandLine.java:1939)
at picocli.CommandLine.access$1300(CommandLine.java:145)
at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2358)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2352)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2314)
at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2179)
at picocli.CommandLine$RunLast.execute(CommandLine.java:2316)
at picocli.CommandLine.execute(CommandLine.java:2078)
at org.keycloak.quarkus.runtime.cli.Picocli.parseAndRun(Picocli.java:88)
at org.keycloak.quarkus.runtime.KeycloakMain.main(KeycloakMain.java:77)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at io.quarkus.bootstrap.runner.QuarkusEntryPoint.doRun(QuarkusEntryPoint.java:60)
at io.quarkus.bootstrap.runner.QuarkusEntryPoint.main(QuarkusEntryPoint.java:31)
2023-01-31 20:16:47 jdbc[5]: exception
org.h2.jdbc.JdbcSQLException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-197]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:357)
at org.h2.message.DbException.get(DbException.java:179)
at org.h2.message.DbException.get(DbException.java:155)
at org.h2.message.DbException.get(DbException.java:144)
at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1526)
at org.h2.jdbcx.JdbcXAConnection$PooledJdbcConnection.checkClosed(JdbcXAConnection.java:470)
at org.h2.jdbc.JdbcConnection.checkClosedForWrite(JdbcConnection.java:1512)
at org.h2.jdbc.JdbcConnection.rollback(JdbcConnection.java:516)
at org.h2.jdbcx.JdbcXAConnection$PooledJdbcConnection.close(JdbcXAConnection.java:450)
at org.h2.jdbcx.JdbcXAConnection.close(JdbcXAConnection.java:78)
at io.agroal.pool.ConnectionHandler.closeConnection(ConnectionHandler.java:185)
at io.agroal.pool.ConnectionPool$DestroyConnectionTask.run(ConnectionPool.java:768)
at io.agroal.pool.ConnectionPool.close(ConnectionPool.java:189)
at io.agroal.pool.DataSource.close(DataSource.java:79)
at io.quarkus.agroal.runtime.DataSources.stop(DataSources.java:381)
at io.quarkus.agroal.runtime.DataSources_Bean.destroy(Unknown Source)
at io.quarkus.agroal.runtime.DataSources_Bean.destroy(Unknown Source)
at io.quarkus.arc.impl.AbstractInstanceHandle.destroyInternal(AbstractInstanceHandle.java:80)
at io.quarkus.arc.impl.ContextInstanceHandleImpl.destroy(ContextInstanceHandleImpl.java:20)
at io.quarkus.arc.impl.AbstractSharedContext.destroy(AbstractSharedContext.java:94)
at io.quarkus.arc.impl.ArcContainerImpl.shutdown(ArcContainerImpl.java:369)
at io.quarkus.arc.Arc.shutdown(Arc.java:52)
at io.quarkus.arc.runtime.ArcRecorder$1.run(ArcRecorder.java:44)
at io.quarkus.runtime.StartupContext.runAllInReverseOrder(StartupContext.java:84)
at io.quarkus.runtime.StartupContext.close(StartupContext.java:73)
at io.quarkus.runner.ApplicationImpl.doStop(Unknown Source)
at io.quarkus.runtime.Application.stop(Application.java:203)
at io.quarkus.runtime.Application.stop(Application.java:155)
at io.quarkus.runtime.ApplicationLifecycleManager.run(ApplicationLifecycleManager.java:215)
at io.quarkus.runtime.Quarkus.run(Quarkus.java:67)
at org.keycloak.quarkus.runtime.KeycloakMain.start(KeycloakMain.java:86)
at org.keycloak.quarkus.runtime.cli.command.AbstractStartCommand.run(AbstractStartCommand.java:34)
at picocli.CommandLine.executeUserObject(CommandLine.java:1939)
at picocli.CommandLine.access$1300(CommandLine.java:145)
at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2358)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2352)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2314)
at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2179)
at picocli.CommandLine$RunLast.execute(CommandLine.java:2316)
at picocli.CommandLine.execute(CommandLine.java:2078)
at org.keycloak.quarkus.runtime.cli.Picocli.parseAndRun(Picocli.java:88)
at org.keycloak.quarkus.runtime.KeycloakMain.main(KeycloakMain.java:77)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at io.quarkus.bootstrap.runner.QuarkusEntryPoint.doRun(QuarkusEntryPoint.java:60)
at io.quarkus.bootstrap.runner.QuarkusEntryPoint.main(QuarkusEntryPoint.java:31)
2023-01-31 20:34:31 jdbc[3]: exception
org.h2.jdbc.JdbcSQLException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-197]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:357)
at org.h2.message.DbException.get(DbException.java:179)
at org.h2.message.DbException.get(DbException.java:155)
at org.h2.message.DbException.get(DbException.java:144)
at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1526)
at org.h2.jdbcx.JdbcXAConnection$PooledJdbcConnection.checkClosed(JdbcXAConnection.java:470)
at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1502)
at org.h2.jdbc.JdbcConnection.setAutoCommit(JdbcConnection.java:455)
at org.h2.jdbcx.JdbcXAConnection$PooledJdbcConnection.close(JdbcXAConnection.java:451)
at org.h2.jdbcx.JdbcXAConnection.close(JdbcXAConnection.java:78)
at io.agroal.pool.ConnectionHandler.closeConnection(ConnectionHandler.java:185)
at io.agroal.pool.ConnectionPool$DestroyConnectionTask.run(ConnectionPool.java:768)
at io.agroal.pool.ConnectionPool.close(ConnectionPool.java:189)
at io.agroal.pool.DataSource.close(DataSource.java:79)
at io.quarkus.agroal.runtime.DataSources.stop(DataSources.java:381)
at io.quarkus.agroal.runtime.DataSources_Bean.destroy(Unknown Source)
at io.quarkus.agroal.runtime.DataSources_Bean.destroy(Unknown Source)
at io.quarkus.arc.impl.AbstractInstanceHandle.destroyInternal(AbstractInstanceHandle.java:80)
at io.quarkus.arc.impl.ContextInstanceHandleImpl.destroy(ContextInstanceHandleImpl.java:20)
at io.quarkus.arc.impl.AbstractSharedContext.destroy(AbstractSharedContext.java:94)
at io.quarkus.arc.impl.ArcContainerImpl.shutdown(ArcContainerImpl.java:369)
at io.quarkus.arc.Arc.shutdown(Arc.java:52)
at io.quarkus.arc.runtime.ArcRecorder$1.run(ArcRecorder.java:44)
at io.quarkus.runtime.StartupContext.runAllInReverseOrder(StartupContext.java:84)
at io.quarkus.runtime.StartupContext.close(StartupContext.java:73)
at io.quarkus.runner.ApplicationImpl.doStop(Unknown Source)
at io.quarkus.runtime.Application.stop(Application.java:203)
at io.quarkus.runtime.Application.stop(Application.java:155)
at io.quarkus.runtime.ApplicationLifecycleManager$ShutdownHookThread.run(ApplicationLifecycleManager.java:420)
2023-01-31 20:36:21 jdbc[3]: exception
org.h2.jdbc.JdbcSQLException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-197]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:357)
at org.h2.message.DbException.get(DbException.java:179)
at org.h2.message.DbException.get(DbException.java:155)
at org.h2.message.DbException.get(DbException.java:144)
at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1526)
at org.h2.jdbcx.JdbcXAConnection$PooledJdbcConnection.checkClosed(JdbcXAConnection.java:470)
at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1502)
at org.h2.jdbc.JdbcConnection.setAutoCommit(JdbcConnection.java:455)
at org.h2.jdbcx.JdbcXAConnection$PooledJdbcConnection.close(JdbcXAConnection.java:451)
at org.h2.jdbcx.JdbcXAConnection.close(JdbcXAConnection.java:78)
at io.agroal.pool.ConnectionHandler.closeConnection(ConnectionHandler.java:185)
at io.agroal.pool.ConnectionPool$DestroyConnectionTask.run(ConnectionPool.java:768)
at io.agroal.pool.ConnectionPool.close(ConnectionPool.java:189)
at io.agroal.pool.DataSource.close(DataSource.java:79)
at io.quarkus.agroal.runtime.DataSources.stop(DataSources.java:381)
at io.quarkus.agroal.runtime.DataSources_Bean.destroy(Unknown Source)
at io.quarkus.agroal.runtime.DataSources_Bean.destroy(Unknown Source)
at io.quarkus.arc.impl.AbstractInstanceHandle.destroyInternal(AbstractInstanceHandle.java:80)
at io.quarkus.arc.impl.ContextInstanceHandleImpl.destroy(ContextInstanceHandleImpl.java:20)
at io.quarkus.arc.impl.AbstractSharedContext.destroy(AbstractSharedContext.java:94)
at io.quarkus.arc.impl.ArcContainerImpl.shutdown(ArcContainerImpl.java:369)
at io.quarkus.arc.Arc.shutdown(Arc.java:52)
at io.quarkus.arc.runtime.ArcRecorder$1.run(ArcRecorder.java:44)
at io.quarkus.runtime.StartupContext.runAllInReverseOrder(StartupContext.java:84)
at io.quarkus.runtime.StartupContext.close(StartupContext.java:73)
at io.quarkus.runner.ApplicationImpl.doStop(Unknown Source)
at io.quarkus.runtime.Application.stop(Application.java:203)
at io.quarkus.runtime.Application.stop(Application.java:155)
at io.quarkus.runtime.ApplicationLifecycleManager$ShutdownHookThread.run(ApplicationLifecycleManager.java:420)
2023-01-31 20:37:21 jdbc[3]: exception
org.h2.jdbc.JdbcSQLException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-197]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:357)
at org.h2.message.DbException.get(DbException.java:179)
at org.h2.message.DbException.get(DbException.java:155)
at org.h2.message.DbException.get(DbException.java:144)
at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1526)
at org.h2.jdbcx.JdbcXAConnection$PooledJdbcConnection.checkClosed(JdbcXAConnection.java:470)
at org.h2.jdbc.JdbcConnection.checkClosedForWrite(JdbcConnection.java:1512)
at org.h2.jdbc.JdbcConnection.rollback(JdbcConnection.java:516)
at org.h2.jdbcx.JdbcXAConnection$PooledJdbcConnection.close(JdbcXAConnection.java:450)
at io.agroal.pool.ConnectionFactory.xaConnectionSetup(ConnectionFactory.java:251)
at io.agroal.pool.ConnectionFactory.createConnection(ConnectionFactory.java:216)
at io.agroal.pool.ConnectionPool$CreateConnectionTask.call(ConnectionPool.java:513)
at io.agroal.pool.ConnectionPool$CreateConnectionTask.call(ConnectionPool.java:494)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at io.agroal.pool.util.PriorityScheduledExecutor.beforeExecute(PriorityScheduledExecutor.java:75)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1126)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:829)
2023-01-31 20:37:21 jdbc[3]: exception
org.h2.jdbc.JdbcSQLException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-197]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:357)
at org.h2.message.DbException.get(DbException.java:179)
at org.h2.message.DbException.get(DbException.java:155)
at org.h2.message.DbException.get(DbException.java:144)
at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1526)
at org.h2.jdbc.JdbcConnection.checkClosedForWrite(JdbcConnection.java:1512)
at org.h2.jdbc.JdbcConnection.rollback(JdbcConnection.java:516)
at org.h2.jdbcx.JdbcXAConnection.getConnection(JdbcXAConnection.java:104)
at io.agroal.pool.ConnectionHandler.<init>(ConnectionHandler.java:91)
at io.agroal.pool.ConnectionPool$CreateConnectionTask.call(ConnectionPool.java:513)
at io.agroal.pool.ConnectionPool$CreateConnectionTask.call(ConnectionPool.java:494)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at io.agroal.pool.util.PriorityScheduledExecutor.beforeExecute(PriorityScheduledExecutor.java:75)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1126)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:829)
2023-01-31 21:37:21 jdbc[3]: exception
org.h2.jdbc.JdbcSQLException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-197]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:357)
at org.h2.message.DbException.get(DbException.java:179)
at org.h2.message.DbException.get(DbException.java:155)
at org.h2.message.DbException.get(DbException.java:144)
at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1526)
at org.h2.jdbcx.JdbcXAConnection$PooledJdbcConnection.checkClosed(JdbcXAConnection.java:470)
at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1502)
at org.h2.jdbc.JdbcConnection.setAutoCommit(JdbcConnection.java:455)
at org.h2.jdbcx.JdbcXAConnection$PooledJdbcConnection.close(JdbcXAConnection.java:451)
at org.h2.jdbcx.JdbcXAConnection.close(JdbcXAConnection.java:78)
at io.agroal.pool.ConnectionHandler.closeConnection(ConnectionHandler.java:185)
at io.agroal.pool.ConnectionPool$DestroyConnectionTask.run(ConnectionPool.java:768)
at io.agroal.pool.ConnectionPool.close(ConnectionPool.java:189)
at io.agroal.pool.DataSource.close(DataSource.java:79)
at io.quarkus.agroal.runtime.DataSources.stop(DataSources.java:381)
at io.quarkus.agroal.runtime.DataSources_Bean.destroy(Unknown Source)
at io.quarkus.agroal.runtime.DataSources_Bean.destroy(Unknown Source)
at io.quarkus.arc.impl.AbstractInstanceHandle.destroyInternal(AbstractInstanceHandle.java:80)
at io.quarkus.arc.impl.ContextInstanceHandleImpl.destroy(ContextInstanceHandleImpl.java:20)
at io.quarkus.arc.impl.AbstractSharedContext.destroy(AbstractSharedContext.java:94)
at io.quarkus.arc.impl.ArcContainerImpl.shutdown(ArcContainerImpl.java:369)
at io.quarkus.arc.Arc.shutdown(Arc.java:52)
at io.quarkus.arc.runtime.ArcRecorder$1.run(ArcRecorder.java:44)
at io.quarkus.runtime.StartupContext.runAllInReverseOrder(StartupContext.java:84)
at io.quarkus.runtime.StartupContext.close(StartupContext.java:73)
at io.quarkus.runner.ApplicationImpl.doStop(Unknown Source)
at io.quarkus.runtime.Application.stop(Application.java:203)
at io.quarkus.runtime.Application.stop(Application.java:155)
at io.quarkus.runtime.ApplicationLifecycleManager$ShutdownHookThread.run(ApplicationLifecycleManager.java:420)
2023-01-31 21:37:21 jdbc[4]: exception
org.h2.jdbc.JdbcSQLException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-197]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:357)
at org.h2.message.DbException.get(DbException.java:179)
at org.h2.message.DbException.get(DbException.java:155)
at org.h2.message.DbException.get(DbException.java:144)
at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1526)
at org.h2.jdbcx.JdbcXAConnection$PooledJdbcConnection.checkClosed(JdbcXAConnection.java:470)
at org.h2.jdbc.JdbcConnection.checkClosedForWrite(JdbcConnection.java:1512)
at org.h2.jdbc.JdbcConnection.rollback(JdbcConnection.java:516)
at org.h2.jdbcx.JdbcXAConnection$PooledJdbcConnection.close(JdbcXAConnection.java:450)
at org.h2.jdbcx.JdbcXAConnection.close(JdbcXAConnection.java:78)
at io.agroal.pool.ConnectionHandler.closeConnection(ConnectionHandler.java:185)
at io.agroal.pool.ConnectionPool$DestroyConnectionTask.run(ConnectionPool.java:768)
at io.agroal.pool.ConnectionPool.close(ConnectionPool.java:189)
at io.agroal.pool.DataSource.close(DataSource.java:79)
at io.quarkus.agroal.runtime.DataSources.stop(DataSources.java:381)
at io.quarkus.agroal.runtime.DataSources_Bean.destroy(Unknown Source)
at io.quarkus.agroal.runtime.DataSources_Bean.destroy(Unknown Source)
at io.quarkus.arc.impl.AbstractInstanceHandle.destroyInternal(AbstractInstanceHandle.java:80)
at io.quarkus.arc.impl.ContextInstanceHandleImpl.destroy(ContextInstanceHandleImpl.java:20)
at io.quarkus.arc.impl.AbstractSharedContext.destroy(AbstractSharedContext.java:94)
at io.quarkus.arc.impl.ArcContainerImpl.shutdown(ArcContainerImpl.java:369)
at io.quarkus.arc.Arc.shutdown(Arc.java:52)
at io.quarkus.arc.runtime.ArcRecorder$1.run(ArcRecorder.java:44)
at io.quarkus.runtime.StartupContext.runAllInReverseOrder(StartupContext.java:84)
at io.quarkus.runtime.StartupContext.close(StartupContext.java:73)
at io.quarkus.runner.ApplicationImpl.doStop(Unknown Source)
at io.quarkus.runtime.Application.stop(Application.java:203)
at io.quarkus.runtime.Application.stop(Application.java:155)
at io.quarkus.runtime.ApplicationLifecycleManager$ShutdownHookThread.run(ApplicationLifecycleManager.java:420)
2023-01-31 21:37:21 jdbc[5]: exception
org.h2.jdbc.JdbcSQLException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-197]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:357)
at org.h2.message.DbException.get(DbException.java:179)
at org.h2.message.DbException.get(DbException.java:155)
at org.h2.message.DbException.get(DbException.java:144)
at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1526)
at org.h2.jdbcx.JdbcXAConnection$PooledJdbcConnection.checkClosed(JdbcXAConnection.java:470)
at org.h2.jdbc.JdbcConnection.checkClosedForWrite(JdbcConnection.java:1512)
at org.h2.jdbc.JdbcConnection.rollback(JdbcConnection.java:516)
at org.h2.jdbcx.JdbcXAConnection$PooledJdbcConnection.close(JdbcXAConnection.java:450)
at org.h2.jdbcx.JdbcXAConnection.close(JdbcXAConnection.java:78)
at io.agroal.pool.ConnectionHandler.closeConnection(ConnectionHandler.java:185)
at io.agroal.pool.ConnectionPool$DestroyConnectionTask.run(ConnectionPool.java:768)
at io.agroal.pool.ConnectionPool.close(ConnectionPool.java:189)
at io.agroal.pool.DataSource.close(DataSource.java:79)
at io.quarkus.agroal.runtime.DataSources.stop(DataSources.java:381)
at io.quarkus.agroal.runtime.DataSources_Bean.destroy(Unknown Source)
at io.quarkus.agroal.runtime.DataSources_Bean.destroy(Unknown Source)
at io.quarkus.arc.impl.AbstractInstanceHandle.destroyInternal(AbstractInstanceHandle.java:80)
at io.quarkus.arc.impl.ContextInstanceHandleImpl.destroy(ContextInstanceHandleImpl.java:20)
at io.quarkus.arc.impl.AbstractSharedContext.destroy(AbstractSharedContext.java:94)
at io.quarkus.arc.impl.ArcContainerImpl.shutdown(ArcContainerImpl.java:369)
at io.quarkus.arc.Arc.shutdown(Arc.java:52)
at io.quarkus.arc.runtime.ArcRecorder$1.run(ArcRecorder.java:44)
at io.quarkus.runtime.StartupContext.runAllInReverseOrder(StartupContext.java:84)
at io.quarkus.runtime.StartupContext.close(StartupContext.java:73)
at io.quarkus.runner.ApplicationImpl.doStop(Unknown Source)
at io.quarkus.runtime.Application.stop(Application.java:203)
at io.quarkus.runtime.Application.stop(Application.java:155)
at io.quarkus.runtime.ApplicationLifecycleManager$ShutdownHookThread.run(ApplicationLifecycleManager.java:420)
2023-01-31 21:37:21 jdbc[6]: exception
org.h2.jdbc.JdbcSQLException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-197]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:357)
at org.h2.message.DbException.get(DbException.java:179)
at org.h2.message.DbException.get(DbException.java:155)
at org.h2.message.DbException.get(DbException.java:144)
at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1526)
at org.h2.jdbcx.JdbcXAConnection$PooledJdbcConnection.checkClosed(JdbcXAConnection.java:470)
at org.h2.jdbc.JdbcConnection.checkClosedForWrite(JdbcConnection.java:1512)
at org.h2.jdbc.JdbcConnection.rollback(JdbcConnection.java:516)
at org.h2.jdbcx.JdbcXAConnection$PooledJdbcConnection.close(JdbcXAConnection.java:450)
at org.h2.jdbcx.JdbcXAConnection.close(JdbcXAConnection.java:78)
at io.agroal.pool.ConnectionHandler.closeConnection(ConnectionHandler.java:185)
at io.agroal.pool.ConnectionPool$DestroyConnectionTask.run(ConnectionPool.java:768)
at io.agroal.pool.ConnectionPool.close(ConnectionPool.java:189)
at io.agroal.pool.DataSource.close(DataSource.java:79)
at io.quarkus.agroal.runtime.DataSources.stop(DataSources.java:381)
at io.quarkus.agroal.runtime.DataSources_Bean.destroy(Unknown Source)
at io.quarkus.agroal.runtime.DataSources_Bean.destroy(Unknown Source)
at io.quarkus.arc.impl.AbstractInstanceHandle.destroyInternal(AbstractInstanceHandle.java:80)
at io.quarkus.arc.impl.ContextInstanceHandleImpl.destroy(ContextInstanceHandleImpl.java:20)
at io.quarkus.arc.impl.AbstractSharedContext.destroy(AbstractSharedContext.java:94)
at io.quarkus.arc.impl.ArcContainerImpl.shutdown(ArcContainerImpl.java:369)
at io.quarkus.arc.Arc.shutdown(Arc.java:52)
at io.quarkus.arc.runtime.ArcRecorder$1.run(ArcRecorder.java:44)
at io.quarkus.runtime.StartupContext.runAllInReverseOrder(StartupContext.java:84)
at io.quarkus.runtime.StartupContext.close(StartupContext.java:73)
at io.quarkus.runner.ApplicationImpl.doStop(Unknown Source)
at io.quarkus.runtime.Application.stop(Application.java:203)
at io.quarkus.runtime.Application.stop(Application.java:155)
at io.quarkus.runtime.ApplicationLifecycleManager$ShutdownHookThread.run(ApplicationLifecycleManager.java:420)