# export-boot **Repository Path**: l-cloud/export-boot ## Basic Information - **Project Name**: export-boot - **Description**: 定时导出excel发送邮件的简单例子 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-09-18 - **Last Updated**: 2022-02-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # spring-cloud-stream-demo #### 介绍 简单的mq消息发送 #### 软件架构 软件架构说明 spring-cloud-stream-rocketmq #### 安装教程 1. xxxx 2. xxxx 3. xxxx #### docker安装rocketmq教程  **{RmHome}** 要替换成你的宿主机想保存 MQ 的日志与数据的地方, 通过 docker 的 -v 参数使用 volume 功能,把你本地的目录映射到容器内的目录上。 否则所有数据都默认保存在容器运行时的内存中,重启之后就又回到最初的起点。 1、安装 Namesrv 拉取镜像:docker pull rocketmqinc/rocketmq:4.4.0 启动容器:docker run -d -p 9876:9876 -v {RmHome}/data/namesrv/logs:/root/logs -v {RmHome}/data/namesrv/store:/root/store --name rmqnamesrv -e "MAX_POSSIBLE_HEAP=100000000" rocketmqinc/rocketmq sh mqnamesrv 2、安装 broker 服务器 与上步是同一个镜像,如果上步完成,此步无需拉取 创建 broker.conf 文件 在 broker.conf 中写入如下内容 brokerClusterName = DefaultCluster brokerName = broker-a brokerId = 0 deleteWhen = 04 fileReservedTime = 48 brokerRole = ASYNC_MASTER flushDiskType = ASYNC_FLUSH brokerIP1 = {本地外网 IP} brokerIP1 要修改成你自己宿主机的 IP 启动容器:docker run -d -p 10911:10911 -p 10909:10909 -v {RmHome}/data/broker/logs:/root/logs -v {RmHome}/rocketmq/data/broker/store:/root/store -v {RmHome}/conf/broker.conf:/opt/rocketmq-4.4.0/conf/broker.conf --name rmqbroker --link rmqnamesrv:namesrv -e "NAMESRV_ADDR=namesrv:9876" -e "MAX_POSSIBLE_HEAP=200000000" rocketmqinc/rocketmq sh mqbroker -c /opt/rocketmq-4.4.0/conf/broker.conf 3、安装 rocketmq 控制台 拉取镜像:docker pull pangliang/rocketmq-console-ng 启动容器:docker run -e "JAVA_OPTS=-Drocketmq.config.namesrvAddr=192.168.17.6:9876 -Drocketmq.config.isVIPChannel=false" -p 8080:8080 -t styletang/rocketmq-console-ng #### docker安装rabbitmq教程 1、安装 包含web管理页面rabbitmq 拉取镜像:docker pull rabbitmq:3.7.7-management 启动容器:docker run -d --name rabbitmq3.7.7 -p 5672:5672 -p 15672:15672 -v `pwd`/data:/var/lib/rabbitmq --hostname myRabbit -e RABBITMQ_DEFAULT_VHOST=my_vhost -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin df80af9ca0c9 -d 后台运行容器; --name 指定容器名; -p 指定服务运行的端口(5672:应用访问端口;15672:控制台Web端口号); -v 映射目录或文件; --hostname  主机名(RabbitMQ的一个重要注意事项是它根据所谓的 “节点名称” 存储数据,默认为主机名); -e 指定环境变量;(RABBITMQ_DEFAULT_VHOST:默认虚拟机名;RABBITMQ_DEFAULT_USER:默认的用户名;RABBITMQ_DEFAULT_PASS:默认用户名的密码) #### 使用说明 1. xxxx 2. xxxx 3. xxxx #### Flyway使用说明 1、Flyway 可以用来管理数据库版本 如果是在一个全新的项目中使用 Flyway,那么在新建一个 Spring Boot 项目时,就有 Flyway 的选项 项目创建成功后,resources目录下也会多出来一个db/migration目录,这个目录用来存放数据库脚本, 如下: 这个如果创建项目时就选择了 Flyway 依赖,就会有这个目录。现在我要在已经做好的微人事中加入 Flyway,这个目录就需要我手动创建了 然后在 vhr-web 模块下的 resources 目录下,手动创建 db/migration 目录, 然后在该目录下创建数据库脚本,数据库脚本的命名方式如下 Flyway不限定脚本里面的内容,但是对脚本文件的名称有一定的要求 版本号可以使用小版本,如V1.1 具体要求: 1、版本号和版本描述之间,使用两个下划线分隔。 2、版本描述之间,使用一个下划线分隔单词。 3、版本号唯一:不允许多个脚本文件有相同的版本号。 命名规则:V__.sql 首先是大写字母 V,然后是版本号,要是有小版本可以用下划线隔开,例如 2_1,版本号后面是两个下划线, 然后是脚本名称,文件后缀是 .sql。 使用Flyway升级,flyway会自动创建一张历史记录表:flyway_schema_history 这张表记录了每一次升级的记录,包括已经执行了哪些脚本,脚本的文件名,内容校验和,执行的时间和结果: flyway在升级数据库的时候,会检查已经执行过的版本对应的脚本是否发生变化,包括脚本文件名,以及脚本内容。如果flyway检测到发生了变化,则抛出错误,并终止升级。 如果已经执行过的脚本没有发生变化,flyway会跳过这些脚本,依次执行后续版本的脚本,并在记录表中插入对应的升级记录。 所以,flyway总是幂等的,而且可以支持跨版本的升级 所有的脚本,一旦执行了,就会在 flyway_schema_history 表中有记录,如果你不小心搞错了,可以手动从 flyway_schema_history 表中删除记录, 然后修改 SQL 脚本后再重新启动(生产环境不建议) prefix:前缀,不同的类型采用不同的前缀, 版本迁移使用 V 最常见的迁移就是就是版本化迁移,每次迁移都会对应的迁移版本,迁移的版本必须全局唯一,版本迁移最大的特点就是依次只被执行依次 撤销迁移使用 U 每个撤销迁移都对应的一个版本迁移,也就是说撤销迁移是针对版本迁移所存在的,每一个撤销迁移与版本迁移都是一一对应的,而且对应的版本号必须一致 可重复迁移使用 R,当然这些都是可配置的 可重复迁移有描述和校验码,但是没有版本号,程序在每次启动的时候,如果发现脚本文件有变化就会执行 Suffix:后缀,一般都是 .sql #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 码云特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. 码云官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解码云上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是码云最有价值开源项目,是码云综合评定出的优秀开源项目 5. 码云官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) 6. 码云封面人物是一档用来展示码云会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)