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
	
	 anhefti
						anhefti