async service shutdown
This commit is contained in:
parent
ec1d10b646
commit
4dfba2e392
11 changed files with 25 additions and 13 deletions
|
@ -38,7 +38,7 @@ ENTRYPOINT exec java \
|
||||||
-jar seb-server-"${SEBSERVER_VERSION}"-SNAPSHOT.jar \
|
-jar seb-server-"${SEBSERVER_VERSION}"-SNAPSHOT.jar \
|
||||||
--server.port="${SERVER_PORT}" \
|
--server.port="${SERVER_PORT}" \
|
||||||
--spring.profiles.active=demo \
|
--spring.profiles.active=demo \
|
||||||
--spring.config.location=file:/sebserver/,classpath:/config/ \
|
--spring.config.location=file:/sebserver/config/,classpath:/config/ \
|
||||||
--spring.datasource.password="${DBSERVER_PWD}" \
|
--spring.datasource.password="${DBSERVER_PWD}" \
|
||||||
--sebserver.webservice.api.admin.clientSecret="${GUICLIENT_PWD}" \
|
--sebserver.webservice.api.admin.clientSecret="${GUICLIENT_PWD}" \
|
||||||
--sebserver.webservice.internalSecret="${INTERNAL_PWD}"
|
--sebserver.webservice.internalSecret="${INTERNAL_PWD}"
|
||||||
|
|
|
@ -46,7 +46,7 @@ management.endpoints.web.base-path=/actuator
|
||||||
management.endpoints.web.exposure.include=logfile,loggers
|
management.endpoints.web.exposure.include=logfile,loggers
|
||||||
|
|
||||||
# GUI server configuration
|
# GUI server configuration
|
||||||
sebserver.gui.external.messages=file:/sebserver/messages
|
sebserver.gui.external.messages=file:/sebserver/config/messages
|
||||||
sebserver.gui.entrypoint=/gui
|
sebserver.gui.entrypoint=/gui
|
||||||
sebserver.gui.webservice.protocol=http
|
sebserver.gui.webservice.protocol=http
|
||||||
sebserver.gui.webservice.address=${server.address}
|
sebserver.gui.webservice.address=${server.address}
|
|
@ -25,8 +25,8 @@ services:
|
||||||
- GUICLIENT_PWD=somePW
|
- GUICLIENT_PWD=somePW
|
||||||
- INTERNAL_PWD=somePW
|
- INTERNAL_PWD=somePW
|
||||||
volumes:
|
volumes:
|
||||||
- ./application-demo.properties:/sebserver/application-demo.properties
|
- ./config:/sebserver/config
|
||||||
- ./messages_en.properties:/sebserver/messages_en.properties
|
|
||||||
ports:
|
ports:
|
||||||
- 8080:8080
|
- 8080:8080
|
||||||
- 9090:9090
|
- 9090:9090
|
||||||
|
|
3
docker/prod/standalone/selfsigned/config/secrets
Normal file
3
docker/prod/standalone/selfsigned/config/secrets
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
KEYSTORE_PWD=[SET_PWD]
|
||||||
|
MYSQL_ROOT_PASSWORD=[SET_PWD]
|
||||||
|
SEBSERVER_PWD=[SET_PWD]
|
|
@ -8,17 +8,17 @@ services:
|
||||||
volumes:
|
volumes:
|
||||||
- ./certs:/certs
|
- ./certs:/certs
|
||||||
env_file:
|
env_file:
|
||||||
- secrets
|
- ./config/secrets
|
||||||
|
|
||||||
mariadb:
|
mariadb:
|
||||||
image: "mariadb/server:10.3"
|
image: "mariadb/server:10.3"
|
||||||
container_name: seb-server-mariadb
|
container_name: seb-server-mariadb
|
||||||
volumes:
|
volumes:
|
||||||
- .:/etc/mysql/conf.d
|
- ./config:/etc/mysql/conf.d
|
||||||
- ./certs:/etc/mysql/certs
|
- ./certs:/etc/mysql/certs
|
||||||
- seb-server-mariadb-data:/var/lib/mysql
|
- seb-server-mariadb-data:/var/lib/mysql
|
||||||
env_file:
|
env_file:
|
||||||
- secrets
|
- ./config/secrets
|
||||||
ports:
|
ports:
|
||||||
- 3306:3306
|
- 3306:3306
|
||||||
networks:
|
networks:
|
||||||
|
@ -34,14 +34,14 @@ services:
|
||||||
- GIT_TAG=
|
- GIT_TAG=
|
||||||
- SEBSERVER_VERSION=0.4.1-beta-SNAPSHOT
|
- SEBSERVER_VERSION=0.4.1-beta-SNAPSHOT
|
||||||
container_name: seb-server
|
container_name: seb-server
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
- ./config:/sebserver/config
|
||||||
|
- ./certs:/certs
|
||||||
env_file:
|
env_file:
|
||||||
- secrets
|
- ./config/secrets
|
||||||
environment:
|
environment:
|
||||||
- ADDITIONAL_DNS=dns:127.0.0.1,dns:seb-server
|
- ADDITIONAL_DNS=dns:127.0.0.1,dns:seb-server
|
||||||
volumes:
|
|
||||||
- ./application-prod.properties:/sebserver/application-prod.properties
|
|
||||||
- ./certs:/certs
|
|
||||||
- ./secrets:/sebserver/secrets
|
|
||||||
ports:
|
ports:
|
||||||
- 443:443
|
- 443:443
|
||||||
- 80:8080
|
- 80:8080
|
||||||
|
|
|
@ -42,7 +42,7 @@ ENTRYPOINT exec java \
|
||||||
# -Dcom.sun.management.jmxremote.authenticate=false \
|
# -Dcom.sun.management.jmxremote.authenticate=false \
|
||||||
-jar seb-server-"${SEBSERVER_VERSION}".jar \
|
-jar seb-server-"${SEBSERVER_VERSION}".jar \
|
||||||
--spring.profiles.active=prod \
|
--spring.profiles.active=prod \
|
||||||
--spring.config.location=file:/sebserver/,classpath:/config/ \
|
--spring.config.location=file:/sebserver/config/,classpath:/config/ \
|
||||||
--sebserver.certs.password="${KEYSTORE_PWD}" \
|
--sebserver.certs.password="${KEYSTORE_PWD}" \
|
||||||
--sebserver.mariadb.password="${MYSQL_ROOT_PASSWORD}" \
|
--sebserver.mariadb.password="${MYSQL_ROOT_PASSWORD}" \
|
||||||
--sebserver.password="${SEBSERVER_PWD}"
|
--sebserver.password="${SEBSERVER_PWD}"
|
||||||
|
|
|
@ -31,6 +31,7 @@ public class AsyncServiceSpringConfig implements AsyncConfigurer {
|
||||||
executor.setQueueCapacity(11);
|
executor.setQueueCapacity(11);
|
||||||
executor.setThreadNamePrefix("asyncService-");
|
executor.setThreadNamePrefix("asyncService-");
|
||||||
executor.initialize();
|
executor.initialize();
|
||||||
|
executor.setWaitForTasksToCompleteOnShutdown(true);
|
||||||
return executor;
|
return executor;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -14,6 +14,8 @@ import java.util.concurrent.BlockingDeque;
|
||||||
import java.util.concurrent.Executor;
|
import java.util.concurrent.Executor;
|
||||||
import java.util.concurrent.LinkedBlockingDeque;
|
import java.util.concurrent.LinkedBlockingDeque;
|
||||||
|
|
||||||
|
import javax.annotation.PreDestroy;
|
||||||
|
|
||||||
import org.apache.ibatis.session.ExecutorType;
|
import org.apache.ibatis.session.ExecutorType;
|
||||||
import org.apache.ibatis.session.SqlSessionFactory;
|
import org.apache.ibatis.session.SqlSessionFactory;
|
||||||
import org.mybatis.spring.SqlSessionTemplate;
|
import org.mybatis.spring.SqlSessionTemplate;
|
||||||
|
@ -89,6 +91,12 @@ public class AsyncBatchEventSaveStrategy implements EventHandlingStrategy {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PreDestroy
|
||||||
|
protected void shutdown() {
|
||||||
|
log.info("Reset workersRunning flag to stop worker after event queue is empty");
|
||||||
|
this.workersRunning = false;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void accept(final ClientEventRecord record) {
|
public void accept(final ClientEventRecord record) {
|
||||||
if (!this.workersRunning) {
|
if (!this.workersRunning) {
|
||||||
|
|
Loading…
Add table
Reference in a new issue