mirror of
https://gitee.com/gz-yami/mall4j.git
synced 2025-12-25 23:56:20 +08:00
支持部署到docker
This commit is contained in:
parent
66a36f05cb
commit
f0fb9d36a9
7
db/Dockerfile
Normal file
7
db/Dockerfile
Normal file
@ -0,0 +1,7 @@
|
||||
FROM mysql:5.7
|
||||
|
||||
MAINTAINER opgames(opgames.cn@gmail.com)
|
||||
|
||||
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
|
||||
|
||||
COPY ./db/yami_shop.sql /docker-entrypoint-initdb.d
|
||||
@ -3,6 +3,9 @@ SQLyog Ultimate v12.5.1 (64 bit)
|
||||
MySQL - 5.7.23 : Database - mall4j
|
||||
*********************************************************************
|
||||
*/
|
||||
create database `yami_shops` default character set utf8 collate utf8_general_ci;
|
||||
|
||||
USE yami_shops;
|
||||
|
||||
/*!40101 SET NAMES utf8 */;
|
||||
|
||||
@ -115,10 +118,10 @@ CREATE TABLE `qrtz_job_details` (
|
||||
/*Data for the table `qrtz_job_details` */
|
||||
|
||||
insert into `qrtz_job_details`(`SCHED_NAME`,`JOB_NAME`,`JOB_GROUP`,`DESCRIPTION`,`JOB_CLASS_NAME`,`IS_DURABLE`,`IS_NONCONCURRENT`,`IS_UPDATE_DATA`,`REQUESTS_RECOVERY`,`JOB_DATA`) values
|
||||
('clusteredScheduler','TASK_10','DEFAULT',NULL,'com.yami.shop.quartz.config.QuartzJob','0','1','0','0','¬í\0sr\0org.quartz.JobDataMapŸ°ƒè¿©°Ë\0\0xr\0&org.quartz.utils.StringKeyDirtyFlagMap‚èÃûÅ](\0Z\0allowsTransientDataxr\0org.quartz.utils.DirtyFlagMapæ.(v\nÎ\0Z\0dirtyL\0mapt\0Ljava/util/Map;xpsr\0java.util.HashMapÚÁÃ`Ñ\0F\0\nloadFactorI\0 thresholdxp?@\0\0\0\0\0w\0\0\0\0\0\0t\0\rJOB_PARAM_KEYsr\0&com.yami.shop.quartz.model.ScheduleJob~ûdê‚‘«\0L\0beanNamet\0Ljava/lang/String;L\0\ncreateTimet\0Ljava/util/Date;L\0cronExpressionq\0~\0 L\0jobIdt\0Ljava/lang/Long;L\0\nmethodNameq\0~\0 L\0paramsq\0~\0 L\0remarkq\0~\0 L\0statust\0Ljava/lang/Integer;xpt\0\ncouponTasksr\0java.util.Datehj<68>KYt\0\0xpw\0\0kds×sxt\0\r0 0 0/0 * * ?sr\0java.lang.Long;‹ä<E280B9>Ì<EFBFBD>#ß\0J\0valuexr\0java.lang.Number†¬•”à‹\0\0xp\0\0\0\0\0\0\0\nt\0changeCoupont\0\0q\0~\0sr\0java.lang.Integerâ ¤÷<C2A4>‡8\0I\0valuexq\0~\0\0\0\0\0x\0'),
|
||||
('clusteredScheduler','TASK_11','DEFAULT',NULL,'com.yami.shop.quartz.config.QuartzJob','0','1','0','0','¬í\0sr\0org.quartz.JobDataMapŸ°ƒè¿©°Ë\0\0xr\0&org.quartz.utils.StringKeyDirtyFlagMap‚èÃûÅ](\0Z\0allowsTransientDataxr\0org.quartz.utils.DirtyFlagMapæ.(v\nÎ\0Z\0dirtyL\0mapt\0Ljava/util/Map;xpsr\0java.util.HashMapÚÁÃ`Ñ\0F\0\nloadFactorI\0 thresholdxp?@\0\0\0\0\0w\0\0\0\0\0\0t\0\rJOB_PARAM_KEYsr\0&com.yami.shop.quartz.model.ScheduleJob~ûdê‚‘«\0L\0beanNamet\0Ljava/lang/String;L\0\ncreateTimet\0Ljava/util/Date;L\0cronExpressionq\0~\0 L\0jobIdt\0Ljava/lang/Long;L\0\nmethodNameq\0~\0 L\0paramsq\0~\0 L\0remarkq\0~\0 L\0statust\0Ljava/lang/Integer;xpt\0\ncouponTasksr\0java.util.Datehj<68>KYt\0\0xpw\0\0kdu0Sxt\0\r0 0 0/1 * * ?sr\0java.lang.Long;‹ä<EFBFBD>Ì<EFBFBD>#ß\0J\0valuexr\0java.lang.Number†¬•”à‹\0\0xp\0\0\0\0\0\0\0t\0deleteCouponUsert\0\0t\0)åˆ é™¤ç”¨æˆ·å¤±æ•ˆ30å¤©ä»¥ä¸Šçš„ä¼˜æƒ åˆ¸sr\0java.lang.Integerâ ¤÷<C2A4>‡8\0I\0valuexq\0~\0\0\0\0\0x\0'),
|
||||
('clusteredScheduler','TASK_12','DEFAULT',NULL,'com.yami.shop.quartz.config.QuartzJob','0','1','0','0','¬í\0sr\0org.quartz.JobDataMapŸ°ƒè¿©°Ë\0\0xr\0&org.quartz.utils.StringKeyDirtyFlagMap‚èÃûÅ](\0Z\0allowsTransientDataxr\0org.quartz.utils.DirtyFlagMapæ.(v\nÎ\0Z\0dirtyL\0mapt\0Ljava/util/Map;xpsr\0java.util.HashMapÚÁÃ`Ñ\0F\0\nloadFactorI\0 thresholdxp?@\0\0\0\0\0w\0\0\0\0\0\0t\0\rJOB_PARAM_KEYsr\0&com.yami.shop.quartz.model.ScheduleJob~ûdê‚‘«\0L\0beanNamet\0Ljava/lang/String;L\0\ncreateTimet\0Ljava/util/Date;L\0cronExpressionq\0~\0 L\0jobIdt\0Ljava/lang/Long;L\0\nmethodNameq\0~\0 L\0paramsq\0~\0 L\0remarkq\0~\0 L\0statust\0Ljava/lang/Integer;xpt\0\ncouponTasksr\0java.util.Datehj<68>KYt\0\0xpw\0\0kdu¶üxt\0\r0 0 0/1 * * ?sr\0java.lang.Long;‹ä<E280B9>Ì<EFBFBD>#ß\0J\0valuexr\0java.lang.Number†¬•”à‹\0\0xp\0\0\0\0\0\0\0t\0changeCouponUsert\0\0t\02改å<C2B9>˜ç”¨æˆ·ä¼˜æƒ 券的状æ€<C3A6>(设为失效状æ€<C3A6>)sr\0java.lang.Integerâ ¤÷<C2A4>‡8\0I\0valuexq\0~\0\0\0\0\0x\0'),
|
||||
('clusteredScheduler','TASK_13','DEFAULT',NULL,'com.yami.shop.quartz.config.QuartzJob','0','1','0','0','¬í\0sr\0org.quartz.JobDataMapŸ°ƒè¿©°Ë\0\0xr\0&org.quartz.utils.StringKeyDirtyFlagMap‚èÃûÅ](\0Z\0allowsTransientDataxr\0org.quartz.utils.DirtyFlagMapæ.(v\nÎ\0Z\0dirtyL\0mapt\0Ljava/util/Map;xpsr\0java.util.HashMapÚÁÃ`Ñ\0F\0\nloadFactorI\0 thresholdxp?@\0\0\0\0\0w\0\0\0\0\0\0t\0\rJOB_PARAM_KEYsr\0&com.yami.shop.quartz.model.ScheduleJob~ûdê‚‘«\0L\0beanNamet\0Ljava/lang/String;L\0\ncreateTimet\0Ljava/util/Date;L\0cronExpressionq\0~\0 L\0jobIdt\0Ljava/lang/Long;L\0\nmethodNameq\0~\0 L\0paramsq\0~\0 L\0remarkq\0~\0 L\0statust\0Ljava/lang/Integer;xpt\0\ncouponTasksr\0java.util.Datehj<68>KYt\0\0xpw\0\0kdv\n×xt\0\r0 0 0/1 * * ?sr\0java.lang.Long;‹ä<E280B9>Ì<EFBFBD>#ß\0J\0valuexr\0java.lang.Number†¬•”à‹\0\0xp\0\0\0\0\0\0\0\rt\0putOnCoupont\0\0t\0æŠ•æ”¾ä¼˜æƒ åˆ¸sr\0java.lang.Integerâ ¤÷<C2A4>‡8\0I\0valuexq\0~\0\0\0\0\0x\0');
|
||||
('clusteredScheduler','TASK_10','DEFAULT',NULL,'com.yami.shop.quartz.config.QuartzJob','0','1','0','0','<EFBFBD><EFBFBD>\0sr\0org.quartz.JobDataMap<61><70><EFBFBD>迩<EFBFBD><E8BFA9>\0\0xr\0&org.quartz.utils.StringKeyDirtyFlagMap<61><08><><EFBFBD><EFBFBD>](\0Z\0allowsTransientDataxr\0org.quartz.utils.DirtyFlagMap<13>.<2E>(v\n<>\0Z\0dirtyL\0mapt\0Ljava/util/Map;xpsr\0java.util.HashMap<07><><EFBFBD>`<60>\0F\0\nloadFactorI\0 thresholdxp?@\0\0\0\0\0w\0\0\0\0\0\0t\0\rJOB_PARAM_KEYsr\0&com.yami.shop.quartz.model.ScheduleJob~<EFBFBD>dꂑ<EFBFBD>\0L\0beanNamet\0Ljava/lang/String;L\0\ncreateTimet\0Ljava/util/Date;L\0cronExpressionq\0~\0 L\0jobIdt\0Ljava/lang/Long;L\0\nmethodNameq\0~\0 L\0paramsq\0~\0 L\0remarkq\0~\0 L\0statust\0Ljava/lang/Integer;xpt\0\ncouponTasksr\0java.util.Datehj<68>KYt\0\0xpw\0\0kds<EFBFBD>sxt\0\r0 0 0/0 * * ?sr\0java.lang.Long;<3B><>̏#<23>\0J\0valuexr\0java.lang.Number<65><72><EFBFBD><0B><><EFBFBD>\0\0xp\0\0\0\0\0\0\0\nt\0changeCoupont\0\0q\0~\0sr\0java.lang.Integer⠤<><E2A0A4><EFBFBD>8\0I\0valuexq\0~\0\0\0\0\0x\0'),
|
||||
('clusteredScheduler','TASK_11','DEFAULT',NULL,'com.yami.shop.quartz.config.QuartzJob','0','1','0','0','<EFBFBD><EFBFBD>\0sr\0org.quartz.JobDataMap<61><70><EFBFBD>迩<EFBFBD><E8BFA9>\0\0xr\0&org.quartz.utils.StringKeyDirtyFlagMap<61><08><><EFBFBD><EFBFBD>](\0Z\0allowsTransientDataxr\0org.quartz.utils.DirtyFlagMap<13>.<2E>(v\n<>\0Z\0dirtyL\0mapt\0Ljava/util/Map;xpsr\0java.util.HashMap<07><><EFBFBD>`<60>\0F\0\nloadFactorI\0 thresholdxp?@\0\0\0\0\0w\0\0\0\0\0\0t\0\rJOB_PARAM_KEYsr\0&com.yami.shop.quartz.model.ScheduleJob~<EFBFBD>dꂑ<EFBFBD>\0L\0beanNamet\0Ljava/lang/String;L\0\ncreateTimet\0Ljava/util/Date;L\0cronExpressionq\0~\0 L\0jobIdt\0Ljava/lang/Long;L\0\nmethodNameq\0~\0 L\0paramsq\0~\0 L\0remarkq\0~\0 L\0statust\0Ljava/lang/Integer;xpt\0\ncouponTasksr\0java.util.Datehj<68>KYt\0\0xpw\0\0kdu0Sxt\0\r0 0 0/1 * * ?sr\0java.lang.Long;<EFBFBD><EFBFBD>̏#<23>\0J\0valuexr\0java.lang.Number<65><72><EFBFBD><0B><><EFBFBD>\0\0xp\0\0\0\0\0\0\0t\0deleteCouponUsert\0\0t\0)删除用户失效30天以上的优惠券sr\0java.lang.Integer⠤<><E2A0A4><EFBFBD>8\0I\0valuexq\0~\0\0\0\0\0x\0'),
|
||||
('clusteredScheduler','TASK_12','DEFAULT',NULL,'com.yami.shop.quartz.config.QuartzJob','0','1','0','0','<EFBFBD><EFBFBD>\0sr\0org.quartz.JobDataMap<61><70><EFBFBD>迩<EFBFBD><E8BFA9>\0\0xr\0&org.quartz.utils.StringKeyDirtyFlagMap<61><08><><EFBFBD><EFBFBD>](\0Z\0allowsTransientDataxr\0org.quartz.utils.DirtyFlagMap<13>.<2E>(v\n<>\0Z\0dirtyL\0mapt\0Ljava/util/Map;xpsr\0java.util.HashMap<07><><EFBFBD>`<60>\0F\0\nloadFactorI\0 thresholdxp?@\0\0\0\0\0w\0\0\0\0\0\0t\0\rJOB_PARAM_KEYsr\0&com.yami.shop.quartz.model.ScheduleJob~<EFBFBD>dꂑ<EFBFBD>\0L\0beanNamet\0Ljava/lang/String;L\0\ncreateTimet\0Ljava/util/Date;L\0cronExpressionq\0~\0 L\0jobIdt\0Ljava/lang/Long;L\0\nmethodNameq\0~\0 L\0paramsq\0~\0 L\0remarkq\0~\0 L\0statust\0Ljava/lang/Integer;xpt\0\ncouponTasksr\0java.util.Datehj<68>KYt\0\0xpw\0\0kdu<EFBFBD><EFBFBD>xt\0\r0 0 0/1 * * ?sr\0java.lang.Long;<3B><>̏#<23>\0J\0valuexr\0java.lang.Number<65><72><EFBFBD><0B><><EFBFBD>\0\0xp\0\0\0\0\0\0\0t\0changeCouponUsert\0\0t\02改变用户优惠券的状态(设为失效状态)sr\0java.lang.Integer⠤<><E2A0A4><EFBFBD>8\0I\0valuexq\0~\0\0\0\0\0x\0'),
|
||||
('clusteredScheduler','TASK_13','DEFAULT',NULL,'com.yami.shop.quartz.config.QuartzJob','0','1','0','0','<EFBFBD><EFBFBD>\0sr\0org.quartz.JobDataMap<61><70><EFBFBD>迩<EFBFBD><E8BFA9>\0\0xr\0&org.quartz.utils.StringKeyDirtyFlagMap<61><08><><EFBFBD><EFBFBD>](\0Z\0allowsTransientDataxr\0org.quartz.utils.DirtyFlagMap<13>.<2E>(v\n<>\0Z\0dirtyL\0mapt\0Ljava/util/Map;xpsr\0java.util.HashMap<07><><EFBFBD>`<60>\0F\0\nloadFactorI\0 thresholdxp?@\0\0\0\0\0w\0\0\0\0\0\0t\0\rJOB_PARAM_KEYsr\0&com.yami.shop.quartz.model.ScheduleJob~<EFBFBD>dꂑ<EFBFBD>\0L\0beanNamet\0Ljava/lang/String;L\0\ncreateTimet\0Ljava/util/Date;L\0cronExpressionq\0~\0 L\0jobIdt\0Ljava/lang/Long;L\0\nmethodNameq\0~\0 L\0paramsq\0~\0 L\0remarkq\0~\0 L\0statust\0Ljava/lang/Integer;xpt\0\ncouponTasksr\0java.util.Datehj<68>KYt\0\0xpw\0\0kdv\n<EFBFBD>xt\0\r0 0 0/1 * * ?sr\0java.lang.Long;<3B><>̏#<23>\0J\0valuexr\0java.lang.Number<65><72><EFBFBD><0B><><EFBFBD>\0\0xp\0\0\0\0\0\0\0\rt\0putOnCoupont\0\0t\0投放优惠券sr\0java.lang.Integer⠤<><E2A0A4><EFBFBD>8\0I\0valuexq\0~\0\0\0\0\0x\0');
|
||||
|
||||
/*Table structure for table `qrtz_locks` */
|
||||
|
||||
@ -247,7 +250,7 @@ CREATE TABLE `qrtz_triggers` (
|
||||
/*Data for the table `qrtz_triggers` */
|
||||
|
||||
insert into `qrtz_triggers`(`SCHED_NAME`,`TRIGGER_NAME`,`TRIGGER_GROUP`,`JOB_NAME`,`JOB_GROUP`,`DESCRIPTION`,`NEXT_FIRE_TIME`,`PREV_FIRE_TIME`,`PRIORITY`,`TRIGGER_STATE`,`TRIGGER_TYPE`,`START_TIME`,`END_TIME`,`CALENDAR_NAME`,`MISFIRE_INSTR`,`JOB_DATA`) values
|
||||
('clusteredScheduler','TASK_10','DEFAULT','TASK_10','DEFAULT',NULL,1561359600000,1561356000000,5,'PAUSED','CRON',1560758441000,0,NULL,1,'¬í\0sr\0org.quartz.JobDataMapŸ°ƒè¿©°Ë\0\0xr\0&org.quartz.utils.StringKeyDirtyFlagMap‚èÃûÅ](\0Z\0allowsTransientDataxr\0org.quartz.utils.DirtyFlagMapæ.(v\nÎ\0Z\0dirtyL\0mapt\0Ljava/util/Map;xpsr\0java.util.HashMapÚÁÃ`Ñ\0F\0\nloadFactorI\0 thresholdxp?@\0\0\0\0\0w\0\0\0\0\0\0t\0\rJOB_PARAM_KEYsr\0&com.yami.shop.quartz.model.ScheduleJob~ûdê‚‘«\0L\0beanNamet\0Ljava/lang/String;L\0\ncreateTimet\0Ljava/util/Date;L\0cronExpressionq\0~\0 L\0jobIdt\0Ljava/lang/Long;L\0\nmethodNameq\0~\0 L\0paramsq\0~\0 L\0remarkq\0~\0 L\0statust\0Ljava/lang/Integer;xpt\0\ncouponTaskpt\0\r0 0 0/1 * * ?sr\0java.lang.Long;‹ä<EFBFBD>Ì<EFBFBD>#ß\0J\0valuexr\0java.lang.Number†¬•”à‹\0\0xp\0\0\0\0\0\0\0\nt\0changeCoupont\0\0q\0~\0sr\0java.lang.Integerâ ¤÷<C2A4>‡8\0I\0valuexq\0~\0\0\0\0\0x\0'),
|
||||
('clusteredScheduler','TASK_10','DEFAULT','TASK_10','DEFAULT',NULL,1561359600000,1561356000000,5,'PAUSED','CRON',1560758441000,0,NULL,1,'<EFBFBD><EFBFBD>\0sr\0org.quartz.JobDataMap<61><70><EFBFBD>迩<EFBFBD><E8BFA9>\0\0xr\0&org.quartz.utils.StringKeyDirtyFlagMap<61><08><><EFBFBD><EFBFBD>](\0Z\0allowsTransientDataxr\0org.quartz.utils.DirtyFlagMap<13>.<2E>(v\n<>\0Z\0dirtyL\0mapt\0Ljava/util/Map;xpsr\0java.util.HashMap<07><><EFBFBD>`<60>\0F\0\nloadFactorI\0 thresholdxp?@\0\0\0\0\0w\0\0\0\0\0\0t\0\rJOB_PARAM_KEYsr\0&com.yami.shop.quartz.model.ScheduleJob~<EFBFBD>dꂑ<EFBFBD>\0L\0beanNamet\0Ljava/lang/String;L\0\ncreateTimet\0Ljava/util/Date;L\0cronExpressionq\0~\0 L\0jobIdt\0Ljava/lang/Long;L\0\nmethodNameq\0~\0 L\0paramsq\0~\0 L\0remarkq\0~\0 L\0statust\0Ljava/lang/Integer;xpt\0\ncouponTaskpt\0\r0 0 0/1 * * ?sr\0java.lang.Long;<EFBFBD><EFBFBD>̏#<23>\0J\0valuexr\0java.lang.Number<65><72><EFBFBD><0B><><EFBFBD>\0\0xp\0\0\0\0\0\0\0\nt\0changeCoupont\0\0q\0~\0sr\0java.lang.Integer⠤<><E2A0A4><EFBFBD>8\0I\0valuexq\0~\0\0\0\0\0x\0'),
|
||||
('clusteredScheduler','TASK_11','DEFAULT','TASK_11','DEFAULT',NULL,1561359600000,1561356000000,5,'PAUSED','CRON',1560758530000,0,NULL,1,''),
|
||||
('clusteredScheduler','TASK_12','DEFAULT','TASK_12','DEFAULT',NULL,1561359600000,1561356000000,5,'PAUSED','CRON',1560758564000,0,NULL,1,''),
|
||||
('clusteredScheduler','TASK_13','DEFAULT','TASK_13','DEFAULT',NULL,1561359600000,1561356000000,5,'PAUSED','CRON',1560758586000,0,NULL,1,'');
|
||||
|
||||
55
docker-compose.yml
Normal file
55
docker-compose.yml
Normal file
@ -0,0 +1,55 @@
|
||||
version: '3'
|
||||
services:
|
||||
mall4j-mysql:
|
||||
build:
|
||||
context: ./
|
||||
dockerfile: ./db/Dockerfile
|
||||
environment:
|
||||
MYSQL_ROOT_PASSWORD: root
|
||||
restart: always
|
||||
container_name: mall4j-mysql
|
||||
image: mall4j-mysql
|
||||
ports:
|
||||
- 3306:3306
|
||||
volumes:
|
||||
- ./mall4j-mysql:/var/lib/mysql
|
||||
command: --lower_case_table_names=1
|
||||
|
||||
mall4j-redis:
|
||||
image: redis:5.0.4
|
||||
restart: always
|
||||
container_name: mall4j-redis
|
||||
ports:
|
||||
- 6379:6379
|
||||
|
||||
mall4j-admin:
|
||||
build:
|
||||
context: ./
|
||||
dockerfile: ./yami-shop-admin/Dockerfile
|
||||
restart: always
|
||||
container_name: mall4j-admin
|
||||
image: mall4j-admin
|
||||
ports:
|
||||
- 8085:8085
|
||||
depends_on:
|
||||
- mall4j-redis
|
||||
- mall4j-mysql
|
||||
links:
|
||||
- "mall4j-redis"
|
||||
- "mall4j-mysql"
|
||||
|
||||
mall4j-api:
|
||||
build:
|
||||
context: ./
|
||||
dockerfile: ./yami-shop-api/Dockerfile
|
||||
restart: always
|
||||
container_name: mall4j-api
|
||||
image: mall4j-api
|
||||
ports:
|
||||
- 8086:8086
|
||||
depends_on:
|
||||
- mall4j-redis
|
||||
- mall4j-mysql
|
||||
links:
|
||||
- "mall4j-redis"
|
||||
- "mall4j-mysql"
|
||||
15
yami-shop-admin/Dockerfile
Normal file
15
yami-shop-admin/Dockerfile
Normal file
@ -0,0 +1,15 @@
|
||||
FROM anapsix/alpine-java:8_server-jre_unlimited
|
||||
|
||||
MAINTAINER opgames(opgames.cn@gmail.com)
|
||||
|
||||
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
|
||||
|
||||
RUN mkdir -p /opt/projects/mall4j
|
||||
|
||||
WORKDIR /opt/projects/mall4j
|
||||
|
||||
ADD ./yami-shop-admin/target/yami-shop-admin-0.0.1-SNAPSHOT.jar ./
|
||||
|
||||
EXPOSE 8085
|
||||
|
||||
CMD java -jar -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=128m -Xms512m -Xmx512m -Xmn128m -Xss256k -XX:SurvivorRatio=8 -XX:+UseConcMarkSweepGC -Dspring.profiles.active=docker,quartz yami-shop-admin-0.0.1-SNAPSHOT.jar
|
||||
20
yami-shop-admin/src/main/resources/application-docker.yml
Normal file
20
yami-shop-admin/src/main/resources/application-docker.yml
Normal file
@ -0,0 +1,20 @@
|
||||
server:
|
||||
port: 8085
|
||||
spring:
|
||||
datasource:
|
||||
url: jdbc:mysql://mall4j-mysql:3306/yami_shops?allowMultiQueries=true&useSSL=false&useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&zeroDateTimeBehavior=convertToNull&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true
|
||||
username: root
|
||||
password: root
|
||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||
type: com.zaxxer.hikari.HikariDataSource
|
||||
hikari:
|
||||
minimum-idle: 0
|
||||
maximum-pool-size: 20
|
||||
idle-timeout: 25000
|
||||
auto-commit: true
|
||||
connection-test-query: SELECT 1
|
||||
redis:
|
||||
redisson:
|
||||
config: classpath:redisson-docker.yml
|
||||
logging:
|
||||
config: classpath:log4j2_prod.xml
|
||||
@ -15,6 +15,6 @@ spring:
|
||||
connection-test-query: SELECT 1
|
||||
redis:
|
||||
redisson:
|
||||
config: classpath:redisson.yml
|
||||
config: classpath:redisson-docker.yml
|
||||
logging:
|
||||
config: classpath:log4j2_prod.xml
|
||||
31
yami-shop-admin/src/main/resources/redisson-docker.yml
Normal file
31
yami-shop-admin/src/main/resources/redisson-docker.yml
Normal file
@ -0,0 +1,31 @@
|
||||
# 单节点设置
|
||||
singleServerConfig:
|
||||
address: redis://mall4j-redis:6379
|
||||
database: 0
|
||||
password: null
|
||||
idleConnectionTimeout: 10000
|
||||
pingTimeout: 1000
|
||||
connectTimeout: 10000
|
||||
timeout: 3000
|
||||
retryAttempts: 3
|
||||
retryInterval: 1500
|
||||
reconnectionTimeout: 3000
|
||||
failedAttempts: 3
|
||||
clientName: null
|
||||
# 发布和订阅连接的最小空闲连接数 默认1
|
||||
subscriptionConnectionMinimumIdleSize: 1
|
||||
# 发布和订阅连接池大小 默认50
|
||||
subscriptionConnectionPoolSize: 10
|
||||
# 单个连接最大订阅数量 默认5
|
||||
subscriptionsPerConnection: 5
|
||||
# 最小空闲连接数 默认32,现在暂时不需要那么多的线程
|
||||
connectionMinimumIdleSize: 4
|
||||
# connectionPoolSize 默认64,现在暂时不需要那么多的线程
|
||||
connectionPoolSize: 20
|
||||
# 这个线程池数量被所有RTopic对象监听器,RRemoteService调用者和RExecutorService任务共同共享。
|
||||
threads: 0
|
||||
# 这个线程池数量是在一个Redisson实例内,被其创建的所有分布式数据类型和服务,以及底层客户端所一同共享的线程池里保存的线程数量。
|
||||
nettyThreads: 0
|
||||
codec:
|
||||
class: com.yami.shop.common.serializer.redisson.FstCodec
|
||||
transportMode: NIO
|
||||
@ -1,6 +1,6 @@
|
||||
# 单节点设置
|
||||
singleServerConfig:
|
||||
address: redis://127.0.0.1:6379
|
||||
address: redis://mall4j-redis:6379
|
||||
database: 0
|
||||
password: null
|
||||
idleConnectionTimeout: 10000
|
||||
|
||||
15
yami-shop-api/Dockerfile
Normal file
15
yami-shop-api/Dockerfile
Normal file
@ -0,0 +1,15 @@
|
||||
FROM anapsix/alpine-java:8_server-jre_unlimited
|
||||
|
||||
MAINTAINER opgames(opgames.cn@gmail.com)
|
||||
|
||||
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
|
||||
|
||||
RUN mkdir -p /opt/projects/mall4j
|
||||
|
||||
WORKDIR /opt/projects/mall4j
|
||||
|
||||
EXPOSE 8086
|
||||
|
||||
ADD ./yami-shop-api/target/yami-shop-api-0.0.1-SNAPSHOT.jar ./
|
||||
|
||||
CMD java -jar -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=128m -Xms1024m -Xmx1024m -Xmn256m -Xss256k -XX:SurvivorRatio=8 -XX:+UseConcMarkSweepGC -Dspring.profiles.active=docker yami-shop-api-0.0.1-SNAPSHOT.jar
|
||||
21
yami-shop-api/src/main/resources/application-docker.yml
Normal file
21
yami-shop-api/src/main/resources/application-docker.yml
Normal file
@ -0,0 +1,21 @@
|
||||
server:
|
||||
port: 8086
|
||||
undertow:
|
||||
worker-threads: 200
|
||||
|
||||
spring:
|
||||
datasource:
|
||||
url: jdbc:mysql://mall4j-mysql:3306/yami_shops?allowMultiQueries=true&useSSL=false&useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&zeroDateTimeBehavior=convertToNull&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true
|
||||
username: root
|
||||
password: root
|
||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||
type: com.zaxxer.hikari.HikariDataSource
|
||||
hikari:
|
||||
minimum-idle: 0
|
||||
maximum-pool-size: 20
|
||||
connection-test-query: select 1
|
||||
redis:
|
||||
redisson:
|
||||
config: classpath:redisson-docker.yml
|
||||
logging:
|
||||
config: classpath:log4j2_prod.xml
|
||||
31
yami-shop-api/src/main/resources/redisson-docker.yml
Normal file
31
yami-shop-api/src/main/resources/redisson-docker.yml
Normal file
@ -0,0 +1,31 @@
|
||||
# 单节点设置
|
||||
singleServerConfig:
|
||||
address: redis://mall4j-redis:6379
|
||||
database: 0
|
||||
password: null
|
||||
idleConnectionTimeout: 10000
|
||||
pingTimeout: 1000
|
||||
connectTimeout: 10000
|
||||
timeout: 3000
|
||||
retryAttempts: 3
|
||||
retryInterval: 1500
|
||||
reconnectionTimeout: 3000
|
||||
failedAttempts: 3
|
||||
clientName: null
|
||||
# 发布和订阅连接的最小空闲连接数 默认1
|
||||
subscriptionConnectionMinimumIdleSize: 1
|
||||
# 发布和订阅连接池大小 默认50
|
||||
subscriptionConnectionPoolSize: 10
|
||||
# 单个连接最大订阅数量 默认5
|
||||
subscriptionsPerConnection: 5
|
||||
# 最小空闲连接数 默认32,现在暂时不需要那么多的线程
|
||||
connectionMinimumIdleSize: 4
|
||||
# connectionPoolSize 默认64,现在暂时不需要那么多的线程
|
||||
connectionPoolSize: 20
|
||||
# 这个线程池数量被所有RTopic对象监听器,RRemoteService调用者和RExecutorService任务共同共享。
|
||||
threads: 0
|
||||
# 这个线程池数量是在一个Redisson实例内,被其创建的所有分布式数据类型和服务,以及底层客户端所一同共享的线程池里保存的线程数量。
|
||||
nettyThreads: 0
|
||||
codec:
|
||||
class: com.yami.shop.common.serializer.redisson.FstCodec
|
||||
transportMode: NIO
|
||||
Loading…
x
Reference in New Issue
Block a user