diff --git a/activiti-sample/pom.xml b/activiti-sample/pom.xml index 6d5d4607432236d767dd9549ac554bdb6ff7d41d..29947476a12aea62566ea7b40cda0a4ba1dc458a 100644 --- a/activiti-sample/pom.xml +++ b/activiti-sample/pom.xml @@ -50,6 +50,12 @@ org.activiti activiti-spring-boot-starter 7.1.0.M6 + + + org.mybatis + mybatis + + diff --git a/activiti-sample/src/main/java/com/workflow/SecurityConfiguration.java b/activiti-sample/src/main/java/com/workflow/SecurityConfiguration.java index 27c1866aa76966da5d344da4d41f5ac18e2f051a..61a4dc136406004946d372195044ce901c0e063f 100644 --- a/activiti-sample/src/main/java/com/workflow/SecurityConfiguration.java +++ b/activiti-sample/src/main/java/com/workflow/SecurityConfiguration.java @@ -1,19 +1,19 @@ -package com.workflow; - -import org.springframework.context.annotation.Configuration; -import org.springframework.security.config.annotation.web.builders.WebSecurity; -import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; -import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter; -import org.springframework.stereotype.Component; - -@Configuration -@Component -@EnableWebSecurity -public class SecurityConfiguration extends WebSecurityConfigurerAdapter { - - @Override - public void configure(WebSecurity web) throws Exception { - web.ignoring().antMatchers("/**"); - } - -} +//package com.workflow; +// +//import org.springframework.context.annotation.Configuration; +//import org.springframework.security.config.annotation.web.builders.WebSecurity; +//import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; +//import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter; +//import org.springframework.stereotype.Component; +// +//@Configuration +//@Component +//@EnableWebSecurity +//public class SecurityConfiguration extends WebSecurityConfigurerAdapter { +// +// @Override +// public void configure(WebSecurity web) throws Exception { +// web.ignoring().antMatchers("/**"); +// } +// +//} diff --git a/activiti-sample/src/main/java/com/workflow/model/dto/TaskParamDto.java b/activiti-sample/src/main/java/com/workflow/model/dto/TaskParamDto.java index c8d5bb034d96837e6d78696916a33bca2846409a..f91e9bf2a82e54425a7377da959f42c49ba77c61 100644 --- a/activiti-sample/src/main/java/com/workflow/model/dto/TaskParamDto.java +++ b/activiti-sample/src/main/java/com/workflow/model/dto/TaskParamDto.java @@ -1,8 +1,9 @@ package com.workflow.model.dto; +import jakarta.validation.constraints.NotEmpty; import lombok.Data; -import javax.validation.constraints.NotEmpty; +//import javax.validation.constraints.NotEmpty; /** * 待办、已办列表入参 diff --git a/chat/src/main/java/com/chat/vo/InviteInfoVo.java b/chat/src/main/java/com/chat/vo/InviteInfoVo.java index 1e18079b7e3662db207a68444ff1a6d936a4f45d..b12edd3e310c8783c07a7aac3fb6c6043effd49a 100644 --- a/chat/src/main/java/com/chat/vo/InviteInfoVo.java +++ b/chat/src/main/java/com/chat/vo/InviteInfoVo.java @@ -1,8 +1,9 @@ package com.chat.vo; +import jakarta.validation.constraints.NotEmpty; import lombok.Data; -import javax.validation.constraints.NotEmpty; +//import javax.validation.constraints.NotEmpty; /** * 发送邀请用户信息实体 diff --git a/chat/src/main/java/com/chat/vo/LoginUserInfoVo.java b/chat/src/main/java/com/chat/vo/LoginUserInfoVo.java index 3b9d31dbb69436cb4b85552e75e5d918145a895f..0217ada84250c4f7d9fdaef365c116931819e793 100644 --- a/chat/src/main/java/com/chat/vo/LoginUserInfoVo.java +++ b/chat/src/main/java/com/chat/vo/LoginUserInfoVo.java @@ -1,8 +1,9 @@ package com.chat.vo; +import jakarta.validation.constraints.NotEmpty; import lombok.Data; -import javax.validation.constraints.NotEmpty; +//import javax.validation.constraints.NotEmpty; /** * 登录信息实体 diff --git a/chat/src/main/java/com/chat/vo/RegisterUserInfoVo.java b/chat/src/main/java/com/chat/vo/RegisterUserInfoVo.java index eacb0be5786239a65633ab23447d988de07030b2..b2b2e880cfdadf0b6b60f24cb744ee506a036dfa 100644 --- a/chat/src/main/java/com/chat/vo/RegisterUserInfoVo.java +++ b/chat/src/main/java/com/chat/vo/RegisterUserInfoVo.java @@ -1,8 +1,9 @@ package com.chat.vo; +import jakarta.validation.constraints.NotEmpty; import lombok.Data; -import javax.validation.constraints.NotEmpty; +//import javax.validation.constraints.NotEmpty; /** * 注册信息实体 diff --git a/common-support/pom.xml b/common-support/pom.xml index b2c915156abc99b6c73268426ec1da90b59d36d5..292c6996ec92b71f72adb48ae8115916bf4c440a 100644 --- a/common-support/pom.xml +++ b/common-support/pom.xml @@ -11,5 +11,57 @@ common-support + + + org.apache.poi + poi + 5.2.2 + + + org.apache.poi + poi-ooxml + 5.2.2 + + + + commons-io + commons-io + 2.11.0 + + + org.apache.logging.log4j + log4j-api + 2.17.2 + + + + org.apache.logging.log4j + log4j-slf4j-impl + 2.17.2 + + + + org.apache.logging.log4j + log4j-core + 2.17.2 + + + + org.apache.commons + commons-collections4 + 4.4 + + + + mysql + mysql-connector-java + + + + org.apache.commons + commons-lang3 + + + \ No newline at end of file diff --git a/common-support/src/main/java/com/common/convert/WordUtil.java b/common-support/src/main/java/com/common/convert/WordUtil.java new file mode 100644 index 0000000000000000000000000000000000000000..e18e01100147f0c6b4506756e879bc9df0ca3a39 --- /dev/null +++ b/common-support/src/main/java/com/common/convert/WordUtil.java @@ -0,0 +1,4 @@ +package com.common.convert; + +public class WordUtil { +} diff --git a/common-support/src/main/java/com/common/convert/business/DatabaseExcelOperate.java b/common-support/src/main/java/com/common/convert/business/DatabaseExcelOperate.java new file mode 100644 index 0000000000000000000000000000000000000000..0ab6d5d71b42d87f62cb4408ae7ed43a51f6fd5a --- /dev/null +++ b/common-support/src/main/java/com/common/convert/business/DatabaseExcelOperate.java @@ -0,0 +1,48 @@ +package com.common.convert.business; + +import com.common.convert.entity.DataSourceInfo; +import com.common.convert.entity.TableMetaData; +import com.common.convert.util.DatabaseUtil; +import com.common.convert.util.ExcelUtils; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.poi.openxml4j.exceptions.InvalidFormatException; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +public class DatabaseExcelOperate { + + private static final String[] EXCLUDE_DATABASE = {"", "", "", ""}; + + public static void main(String[] args) { + long start = System.currentTimeMillis(); + String driver = "com.mysql.jdbc.Driver"; + + String url = "jdbc:mysql://localhost:3306/ifbc_system?serverTimezone=GMT&useSSL=false&useInformationSchema=true"; + String user = "root"; + String password = "123456"; + + List dataSourceInfoList = DatabaseUtil.getDatabaseProperties(driver, url, user, password); + List tableMetaDataList = new ArrayList<>(); + if (CollectionUtils.isNotEmpty(dataSourceInfoList)) { + dataSourceInfoList.forEach(dataSourceInfo -> { + List tableMetaDatas = DatabaseUtil.getTableStructure(driver, dataSourceInfo.getUrl(), dataSourceInfo.getUsername(), dataSourceInfo.getPassword()); + tableMetaDataList.addAll(tableMetaDatas); + }); + } + + if (CollectionUtils.isNotEmpty(tableMetaDataList)) { + try { + ExcelUtils.writeExcel(tableMetaDataList); + } catch (IOException | InvalidFormatException e) { + throw new RuntimeException(e); + } + } + long end = System.currentTimeMillis(); + + System.out.println("耗时:" + (end - start) + "ms"); + } + + +} diff --git a/common-support/src/main/java/com/common/convert/business/DictOperate.java b/common-support/src/main/java/com/common/convert/business/DictOperate.java new file mode 100644 index 0000000000000000000000000000000000000000..4e8b14287d9c5da79379036728e53f537cd1409d --- /dev/null +++ b/common-support/src/main/java/com/common/convert/business/DictOperate.java @@ -0,0 +1,130 @@ +package com.common.convert.business; + +import com.common.convert.entity.ExcelDictData; +import com.common.convert.enums.DictCompareEnum; +import com.common.convert.util.DatabaseUtil; +import com.common.convert.util.ExcelUtils; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.poi.openxml4j.exceptions.InvalidFormatException; + +import java.io.FileInputStream; +import java.io.IOException; +import java.sql.Connection; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.sql.Statement; +import java.util.*; + +public class DictOperate { + + public static void main(String[] args) throws IOException, InvalidFormatException { + List> lists = ExcelUtils.readExcelOneSheetData("C:\\Users\\wangg\\Desktop\\普惠2.0元数据采集(3).xlsx", 1); + Map> dictMap = convertExcelData2Map(lists); + + List executeSqlList = new ArrayList<>(); + + DictCompareEnum[] values = DictCompareEnum.values(); + for (DictCompareEnum dictCompareEnum : values) { + String code = dictCompareEnum.getCode(); + String dictType = dictCompareEnum.getDict_type(); + String desc = dictCompareEnum.getDesc(); + if (!queryDictType(dictType)) { + executeSqlList.add("insert into sys_dict_type (dict_name, dict_type, remark) values ('" + desc + "', '" + dictType + "', '" + desc + "');"); + } + if (dictMap.containsKey(code)) { + executeSqlList.add("delete from sys_dict_data where dict_type = '" + dictType + "';"); + List excelDictDataList = dictMap.get(code); + if (CollectionUtils.isNotEmpty(excelDictDataList)) { + for (int i = 0; i < excelDictDataList.size(); i++) { + ExcelDictData bean = excelDictDataList.get(i); + executeSqlList.add("insert into sys_dict_data (dict_type, dict_sort, dict_label, dict_value, parent_value) values ('" + dictType + "','" + i + "','" + bean.getComment().trim() + "','" + bean.getDictValue() + "', '');"); + } + } + } + + } + batchExecuteSql(executeSqlList); + for (String sql : executeSqlList) { + System.out.println(sql); + } + } + + private static void batchExecuteSql(List sqls) { + Properties properties = new Properties(); + Connection connection = null; + Statement statement = null; + ResultSet resultSet = null; + try { + properties.load(new FileInputStream("C:\\IdeaProjects\\opensource-learn\\common-support\\src\\main\\resources\\jdbc.properties")); + connection = DatabaseUtil.getConnection(properties.getProperty("jdbc.url"), properties.getProperty("jdbc.username"), properties.getProperty("jdbc.password")); + statement = connection.createStatement(); + for (String sql : sqls) { + statement.addBatch(sql); + } + statement.executeBatch(); + } catch (IOException e) { + throw new RuntimeException(e); + } catch (SQLException e) { + throw new RuntimeException(e); + } finally { + DatabaseUtil.closeResource(connection, statement, resultSet); + } + + } + + private static boolean queryDictType(String dictType) { + Properties properties = new Properties(); + Connection connection = null; + Statement statement = null; + ResultSet resultSet = null; + try { + properties.load(new FileInputStream("C:\\IdeaProjects\\opensource-learn\\common-support\\src\\main\\resources\\jdbc.properties")); + connection = DatabaseUtil.getConnection(properties.getProperty("jdbc.url"), properties.getProperty("jdbc.username"), properties.getProperty("jdbc.password")); + statement = connection.createStatement(); + String sql = "select * from sys_dict_type where dict_type = '" + dictType + "'"; + resultSet = statement.executeQuery(sql); + while (resultSet.next()) { + return true; + } + } catch (IOException e) { + throw new RuntimeException(e); + } catch (SQLException e) { + throw new RuntimeException(e); + } finally { + DatabaseUtil.closeResource(connection, statement, resultSet); + } + + return false; + + } + + private static Map> convertExcelData2Map(List> excelData) { + Map> resultMap = new HashMap<>(); + if (CollectionUtils.isNotEmpty(excelData)) { + excelData.forEach(objects -> { + ExcelDictData excelDictData = new ExcelDictData(); + excelDictData.setDictCode((String) objects.get(0)); + excelDictData.setDictName((String) objects.get(1)); + if (objects.get(2) instanceof Double) { + excelDictData.setDictValue(((Double) objects.get(2)).intValue()); + } else { + + excelDictData.setDictValue(objects.get(2)); + } + excelDictData.setComment((String) objects.get(3)); + + if (resultMap.containsKey(excelDictData.getDictCode())) { + List existExcelDictDataList = resultMap.get(excelDictData.getDictCode()); + existExcelDictDataList.add(excelDictData); + } else { + List list = new ArrayList<>(); + list.add(excelDictData); + resultMap.put(excelDictData.getDictCode(), list); + } + }); + } + + return resultMap; + } + +} diff --git a/common-support/src/main/java/com/common/convert/entity/CellStyleData.java b/common-support/src/main/java/com/common/convert/entity/CellStyleData.java new file mode 100644 index 0000000000000000000000000000000000000000..b437e86385678e20a083f90f278b2202e5de2015 --- /dev/null +++ b/common-support/src/main/java/com/common/convert/entity/CellStyleData.java @@ -0,0 +1,18 @@ +package com.common.convert.entity; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.apache.poi.xssf.usermodel.XSSFCellStyle; + +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +public class CellStyleData { + + private XSSFCellStyle blueCellStyle; + + private XSSFCellStyle greenCellStyle; +} diff --git a/common-support/src/main/java/com/common/convert/entity/ColumnMetaData.java b/common-support/src/main/java/com/common/convert/entity/ColumnMetaData.java new file mode 100644 index 0000000000000000000000000000000000000000..a8edc523de6f26eb34b169520a01c258706b42fc --- /dev/null +++ b/common-support/src/main/java/com/common/convert/entity/ColumnMetaData.java @@ -0,0 +1,39 @@ +package com.common.convert.entity; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +public class ColumnMetaData { + + /** + * 列名 + */ + private String columnName; + + /** + * 字段说明 + */ + private String columnComment; + + /** + * 类型 + */ + private String type; + + /** + * 主键标识 + */ + private String keyFlag; + + /** + * 备注 + */ + private String remarks; + +} diff --git a/common-support/src/main/java/com/common/convert/entity/DataSourceInfo.java b/common-support/src/main/java/com/common/convert/entity/DataSourceInfo.java new file mode 100644 index 0000000000000000000000000000000000000000..e19c7e7ac9bb3287a53b43c133a84f35cbf8cc58 --- /dev/null +++ b/common-support/src/main/java/com/common/convert/entity/DataSourceInfo.java @@ -0,0 +1,22 @@ +package com.common.convert.entity; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +public class DataSourceInfo { + + private String username; + + private String password; + + private String url; + + private String dataSource; + +} diff --git a/common-support/src/main/java/com/common/convert/entity/ExcelDictData.java b/common-support/src/main/java/com/common/convert/entity/ExcelDictData.java new file mode 100644 index 0000000000000000000000000000000000000000..d7228bd703d74b7f1b231971c210638ce3990d76 --- /dev/null +++ b/common-support/src/main/java/com/common/convert/entity/ExcelDictData.java @@ -0,0 +1,16 @@ +package com.common.convert.entity; + +import lombok.Data; + +@Data +public class ExcelDictData { + + private String dictCode; + + private String dictName; + + private Object dictValue; + + private String comment; + +} diff --git a/common-support/src/main/java/com/common/convert/entity/TableMetaData.java b/common-support/src/main/java/com/common/convert/entity/TableMetaData.java new file mode 100644 index 0000000000000000000000000000000000000000..20eafb74b7a62da5496d040207f4dabd9b8cb072 --- /dev/null +++ b/common-support/src/main/java/com/common/convert/entity/TableMetaData.java @@ -0,0 +1,22 @@ +package com.common.convert.entity; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +public class TableMetaData { + + private String tableName; + + private String tableComment; + + private List columnMetaDataList; + +} diff --git a/common-support/src/main/java/com/common/convert/enums/DictCompareEnum.java b/common-support/src/main/java/com/common/convert/enums/DictCompareEnum.java new file mode 100644 index 0000000000000000000000000000000000000000..80998060de7eb22ba8d5799673f2c592b724ae8a --- /dev/null +++ b/common-support/src/main/java/com/common/convert/enums/DictCompareEnum.java @@ -0,0 +1,32 @@ +package com.common.convert.enums; + +import lombok.*; + +@Getter +@AllArgsConstructor +@NoArgsConstructor +public enum DictCompareEnum { + + HIGHEST_DEGREE("CD0008", "highest_degree", "最高学位"), + EDUCATION("CD0006", "education", "最高学历"), + // 职业 + OCCUPATION("CD0009", "occupation", "职业"), + // 政治面貌 + POLITICAL_STATUS("CD0005", "political_status", "政治面貌"), + ID_TYPE("CD0007", "legal_person_id_type", "证件类型"), + GENDER("CD0002", "gender", "性别"), + COMPANY_SIZE("CD0012", "EntpSz", "企业规模"), + NATION("CD0003", "nation", "民族"), + MARITAL_STATUS("CD0004", "marital_status", "婚姻状况"), + COUNTRY("CD0034", "country", "国家地区代码"), + COLLATERAL_TYPE("CD0125", "collateral_type", "抵质押品类型"), + PRODUCT_GUARANTEE_METHOD("CD0084", "productGuaranteeMethod", "担保方式"), + CURRENCY("CD0035", "currency", "币种"), + TERM_UNIT("CD0120", "term_unit", "期限单位"); + + private String code; + + private String dict_type; + + private String desc; +} diff --git a/common-support/src/main/java/com/common/convert/util/DatabaseUtil.java b/common-support/src/main/java/com/common/convert/util/DatabaseUtil.java new file mode 100644 index 0000000000000000000000000000000000000000..0fe6969618fca7a804dacdaaafbf4b1390cc9930 --- /dev/null +++ b/common-support/src/main/java/com/common/convert/util/DatabaseUtil.java @@ -0,0 +1,162 @@ +package com.common.convert.util; + +import com.common.convert.entity.ColumnMetaData; +import com.common.convert.entity.DataSourceInfo; +import com.common.convert.entity.TableMetaData; +import lombok.SneakyThrows; +import lombok.extern.slf4j.Slf4j; + +import java.sql.*; +import java.util.ArrayList; +import java.util.List; + +@Slf4j +public final class DatabaseUtil { + + private static final String DRIVER = "com.mysql.jdbc.Driver"; + + public static Connection getConnection(String url, String user, String password) { + try { + Class.forName(DRIVER); + return DriverManager.getConnection(url, user, password); + } catch (SQLException e) { + e.printStackTrace(); + throw new RuntimeException("获取数据库连接出错"); + } catch (ClassNotFoundException e) { + e.printStackTrace(); + throw new RuntimeException("加载数据库驱动出错"); + } + } + + public static void closeResource(Connection connection, Statement statement, ResultSet resultSet) { + try { + if (null != resultSet) { + resultSet.close(); + } + + if (null != statement) { + statement.close(); + } + + if (null != connection) { + connection.close(); + } + } catch (SQLException e) { + throw new RuntimeException(e); + + } + } + + @SneakyThrows + public static List getDatabaseProperties(String driver, String url, String user, String password) { + Connection connection = null; + Statement statement = null; + ResultSet resultSet = null; + List dataSourceInfoList = new ArrayList<>(); + + try { + connection = getConnection(url, user, password); + statement = connection.createStatement(); + // 获取所有表 + resultSet = statement.executeQuery("select * from sys_data_info"); + + DataSourceInfo dataSourceInfo = null; + while (resultSet.next()) { + String jdbcUrl = resultSet.getString(2); + String username = resultSet.getString(3); + String pwd = resultSet.getString(4); + String dataSource = resultSet.getString(5); + + dataSourceInfo = DataSourceInfo.builder() + .url(jdbcUrl) + .username(username) + .password(pwd) + .dataSource(dataSource) + .build(); + dataSourceInfoList.add(dataSourceInfo); + } + + return dataSourceInfoList; + + } catch (Exception e) { + log.error("{}", e); + } finally { + closeResource(connection, statement, resultSet); + } + return dataSourceInfoList; + } + + /** + * 获取所有表结构 + * + * @param driver driver + * @param url url + * @param user user + * @param password password + * @throws Exception exception + */ + @SneakyThrows + public static List getTableStructure(String driver, String url, String user, String password) { + + + Connection connection = null; + ResultSet tableResultSet = null; + List tableMetaDataList = new ArrayList<>(); + + try { + connection = getConnection(url, user, password); + DatabaseMetaData metaData = connection.getMetaData(); + // 获取所有表 + tableResultSet = metaData.getTables(null, null, "%", new String[]{"TABLE"}); + + TableMetaData tableMetaData = null; + while (tableResultSet.next()) { + String tableName = tableResultSet.getString("TABLE_NAME"); + String tableRemarks = tableResultSet.getString("REMARKS"); + + tableMetaData = new TableMetaData(); + tableMetaData.setTableName(tableName); + tableMetaData.setTableComment(tableRemarks); + + // 获取表字段结构 + ResultSet columnResultSet = metaData.getColumns(null, "%", tableName, "%"); + + List columnMetaDataList = new ArrayList<>(); + ColumnMetaData columnMetaData = null; + while (columnResultSet.next()) { + columnMetaData = new ColumnMetaData(); + + // 字段名称 + String columnName = columnResultSet.getString("COLUMN_NAME"); + // 数据类型 + String columnType = columnResultSet.getString("TYPE_NAME"); + // 字段长度 + int datasize = columnResultSet.getInt("COLUMN_SIZE"); + // 小数部分位数 + int digits = columnResultSet.getInt("DECIMAL_DIGITS"); + // 是否可为空 1代表可空 0代表不可为空 + int nullable = columnResultSet.getInt("NULLABLE"); + // 描述 + String remarks = columnResultSet.getString("REMARKS"); + + columnMetaData.setColumnName(columnName); + columnMetaData.setColumnComment(remarks); + String type = columnType + "(" + datasize + ")"; + columnMetaData.setType(type); + columnMetaData.setRemarks(remarks); + + columnMetaDataList.add(columnMetaData); + } + tableMetaData.setColumnMetaDataList(columnMetaDataList); + tableMetaDataList.add(tableMetaData); + } + + } catch (Exception e) { + log.error("{}", e); + } finally { + closeResource(connection, null, tableResultSet); + } + return tableMetaDataList; + } + +} diff --git a/common-support/src/main/java/com/common/convert/util/ExcelUtils.java b/common-support/src/main/java/com/common/convert/util/ExcelUtils.java new file mode 100644 index 0000000000000000000000000000000000000000..5ba2bfd2347b9f75a57d27cb9dada5a7e796e159 --- /dev/null +++ b/common-support/src/main/java/com/common/convert/util/ExcelUtils.java @@ -0,0 +1,290 @@ +package com.common.convert.util; + +import com.common.convert.entity.CellStyleData; +import com.common.convert.entity.ColumnMetaData; +import com.common.convert.entity.TableMetaData; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; +import org.apache.poi.common.usermodel.HyperlinkType; +import org.apache.poi.openxml4j.exceptions.InvalidFormatException; +import org.apache.poi.ss.usermodel.*; +import org.apache.poi.ss.util.CellRangeAddress; +import org.apache.poi.xssf.usermodel.*; + +import java.io.*; +import java.util.*; + +@Slf4j +public final class ExcelUtils { + + private static final String[] ROW_NAME = {"中文名", "英文名", "功能", "主要来源", "加工说明"}; + private static final String[] COLUMN_NAME = {"字段说明", "字段名", "类型", "主键标识", "备注"}; + + private static final String[] INDEX_DOC_TITLE = {"序号", "类别", "模块", "物理表名", "中文表名", "每日数据规模", "说明", "状态", "备注"}; + + public static void writeExcel(List result) throws IOException, InvalidFormatException { + XSSFWorkbook workbook = new XSSFWorkbook(); + CellStyleData cellStyleData = readExcel("C:\\工作\\2023工作\\威海银行\\项目文档\\03_项目实施\\02_分析设计\\03_02_系统数据库说明书.xlsx"); + + if (CollectionUtils.isEmpty(result)) { + return; + } + + Set tableNameSet = new HashSet<>(); + Map linkSheetMap = new LinkedHashMap<>(); + + XSSFSheet sheet0 = workbook.createSheet("封面"); + XSSFSheet sheet1 = workbook.createSheet("版本修改说明"); + XSSFSheet sheet2 = workbook.createSheet("索引"); + + CreationHelper creationHelper = workbook.getCreationHelper(); + + + for (TableMetaData tableMetaData : result) { + String sheetName = dealSheetName(tableMetaData, tableNameSet); + + linkSheetMap.put(sheetName, tableMetaData.getTableName()); + + XSSFSheet sheet = workbook.createSheet(sheetName); + CellStyle cellStyle = workbook.createCellStyle(); + CellStyle cellStyle2 = workbook.createCellStyle(); + for (int i = 0; i < tableMetaData.getColumnMetaDataList().size() + 6; i++) { + XSSFRow row = sheet.createRow(i); + if (i == tableMetaData.getColumnMetaDataList().size() + 5) { + XSSFCell cell = row.createCell(0); + Hyperlink indexedHyperlink = indexHyperlink(creationHelper); + cell.setHyperlink(indexedHyperlink); + cell.setCellValue("返回"); + cell.setCellStyle(hyperLinkColor(workbook)); + continue; + } + + if (i <= 5) { + XSSFCell cell2 = row.createCell(1); + if (i == 0) { + cell2.setCellValue(tableMetaData.getTableComment()); + } + + if (i == 1) { + cell2.setCellValue(tableMetaData.getTableName()); + } + + if (i == 5) { + for (int k = 0; k < COLUMN_NAME.length; k++) { + XSSFCell titleCell = row.createCell(k); + titleCell.setCellValue(COLUMN_NAME[k]); + cellStyle2.cloneStyleFrom(cellStyleData.getGreenCellStyle()); + titleCell.setCellStyle(cellStyle2); + } + } else { + XSSFCell cell = row.createCell(0); + cell.setCellValue(ROW_NAME[i]); + cellStyle.cloneStyleFrom(cellStyleData.getBlueCellStyle()); + cell.setCellStyle(cellStyle); + } + } else { + ColumnMetaData columnMetaData = tableMetaData.getColumnMetaDataList().get(i - 5); + XSSFCell cell = row.createCell(0); + cell.setCellValue(columnMetaData.getColumnComment()); + XSSFCell cell2 = row.createCell(1); + cell2.setCellValue(columnMetaData.getColumnName()); + + XSSFCell cell3 = row.createCell(2); + cell3.setCellValue(columnMetaData.getType()); + + XSSFCell cell4 = row.createCell(3); + cell4.setCellValue(columnMetaData.getKeyFlag()); + + XSSFCell cell5 = row.createCell(4); + cell5.setCellValue(columnMetaData.getRemarks()); + } + } + mergeCell(sheet); + } + + createIndexSheet(workbook, sheet2, linkSheetMap, creationHelper); + + workbook.write(new FileOutputStream("c:\\工作\\03_02_系统数据库说明书.xlsx")); + workbook.close(); + + } + + /** + * 合并单元格 + * + * @param sheet + */ + private static void mergeCell(XSSFSheet sheet) { + sheet.addMergedRegion(new CellRangeAddress(0, 0, 1, 4)); + sheet.addMergedRegion(new CellRangeAddress(1, 1, 1, 4)); + sheet.addMergedRegion(new CellRangeAddress(2, 2, 1, 4)); + sheet.addMergedRegion(new CellRangeAddress(3, 3, 1, 4)); + sheet.addMergedRegion(new CellRangeAddress(4, 4, 1, 4)); + } + + /** + * 处理工作簿名称 1.去重 2.表字结尾 3.不能带有/ + * + * @param tableMetaData + * @param tableNameSet + * @return + */ + private static String dealSheetName(TableMetaData tableMetaData, Set tableNameSet) { + String sheetName = StringUtils.isEmpty(tableMetaData.getTableComment()) ? tableMetaData.getTableName() : tableMetaData.getTableComment(); + + if (!sheetName.endsWith("表")) { + System.out.println(String.format("注释未加表字:%s", sheetName)); + sheetName = sheetName + "表"; + } + + if (sheetName.contains("/")) { + sheetName = sheetName.replaceAll("/", "或"); + } + + if (tableNameSet.contains(sheetName)) { + System.out.println(String.format("%s, %s, %s已经存在sheet", sheetName, tableMetaData.getTableName(), tableMetaData.getTableComment())); + log.error("{}, {}, {}已经存在sheet", sheetName, tableMetaData.getTableName(), tableMetaData.getTableComment()); + sheetName = sheetName + UUID.randomUUID().toString().replaceAll("-", ""); + } else { + tableNameSet.add(sheetName); + } + + return sheetName; + } + + /** + * 创建索引页 + * + * @param sheet 第三页 + * @param linkSheetMap <中文表名,英文表名> + * @param creationHelper + */ + private static void createIndexSheet(XSSFWorkbook workbook, XSSFSheet sheet, Map linkSheetMap, CreationHelper creationHelper) { + XSSFRow firstRow = sheet.createRow(0); + XSSFCellStyle cellStyle = workbook.createCellStyle(); + + int columnIndex = 0; + for (String name : INDEX_DOC_TITLE) { + XSSFCell cell = firstRow.createCell(columnIndex); + cell.setCellValue(name); + cellStyle.setFillBackgroundColor(IndexedColors.BRIGHT_GREEN.index); + cellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND); + cell.setCellStyle(cellStyle); + columnIndex++; + } + + int index = 1; + for (String sheetName : linkSheetMap.keySet()) { + String tableName = linkSheetMap.get(sheetName); + XSSFRow row = sheet.createRow(index); + + Hyperlink hyperlink = creationHelper.createHyperlink(HyperlinkType.DOCUMENT); + hyperlink.setAddress("#" + sheetName + "!A1"); + XSSFCell cell = row.createCell(3); + cell.setCellValue(tableName); + cell.setHyperlink(hyperlink); + cell.setCellStyle(hyperLinkColor(workbook)); + + XSSFCell cellChineseTableName = row.createCell(4); + cellChineseTableName.setCellValue(sheetName); + + index++; + } + } + + /** + * 生成索引页的跳转对象 + * + * @param creationHelper + * @return + */ + private static Hyperlink indexHyperlink(CreationHelper creationHelper) { + Hyperlink hyperlink = creationHelper.createHyperlink(HyperlinkType.DOCUMENT); + hyperlink.setAddress("#索引!A1"); + return hyperlink; + } + + /** + * 跳转链接字体颜色 + * + * @param workbook + * @return + */ + private static CellStyle hyperLinkColor(XSSFWorkbook workbook) { + XSSFCellStyle cellStyle = workbook.createCellStyle(); + Font font = workbook.createFont(); + font.setColor(IndexedColors.BLUE.index); + font.setUnderline((byte) 1); + cellStyle.setFont(font); + + return cellStyle; + } + + public static CellStyleData readExcel(String path) throws IOException, InvalidFormatException { + XSSFWorkbook workbook = new XSSFWorkbook(new File(path)); + CellStyleData cellStyleData = new CellStyleData(); + int numberOfSheets = workbook.getNumberOfSheets(); + for (int i = 3; i < 4; i++) { + XSSFSheet sheet = workbook.getSheetAt(i); + Iterator rowIterator = sheet.rowIterator(); + while (rowIterator.hasNext()) { + Row row = rowIterator.next(); + Iterator cellIterator = row.cellIterator(); + int k = 0; + while (cellIterator.hasNext()) { + Cell cell = cellIterator.next(); + XSSFCellStyle cellStyle = (XSSFCellStyle) cell.getCellStyle(); + int rowIndex = cell.getRowIndex(); + if (rowIndex == 0 && k == 0) { + cellStyleData.setBlueCellStyle(cellStyle); + } + if (rowIndex == 5 && k == 0) { + cellStyleData.setGreenCellStyle(cellStyle); + return cellStyleData; + } + k++; + } + } + } + + return null; + } + + public static List> readExcelOneSheetData(String path, int sheetIndex) throws IOException, InvalidFormatException { + XSSFWorkbook workbook = new XSSFWorkbook(new File(path)); + XSSFSheet sheet = workbook.getSheetAt(sheetIndex); + int physicalNumberOfRows = sheet.getPhysicalNumberOfRows(); + List> rows = new ArrayList<>(); + for (int i = 0; i < physicalNumberOfRows; i++) { + Row row = sheet.getRow(i); + if (null != row) { + int physicalNumberOfCells = row.getPhysicalNumberOfCells(); + List rowData = new ArrayList<>(); + for (int ci = 0; ci < physicalNumberOfCells; ci++) { + Cell cell = row.getCell(ci); + if (null != cell) { + CellType cellType = cell.getCellType(); + switch (cellType) { + case STRING -> rowData.add(cell.getStringCellValue()); + case NUMERIC -> rowData.add(cell.getNumericCellValue()); + default -> throw new RuntimeException("位置数据类型"); + } + } + } + rows.add(rowData); + } + } + return rows; + + } + + public static void main(String[] args) throws IOException, InvalidFormatException { + List> firstSheetList = readExcelOneSheetData("C:\\Users\\wangg\\Desktop\\普惠2.0元数据采集(3).xlsx", 0); + System.out.println(firstSheetList); + System.out.println("--------------------------------------------------------"); + List> lists = readExcelOneSheetData("C:\\Users\\wangg\\Desktop\\普惠2.0元数据采集(3).xlsx", 1); + System.out.println(lists); + } + +} diff --git a/common-support/src/main/resources/jdbc.properties b/common-support/src/main/resources/jdbc.properties new file mode 100644 index 0000000000000000000000000000000000000000..d8a056c0461b580bb269e197fa03c32448adcbea --- /dev/null +++ b/common-support/src/main/resources/jdbc.properties @@ -0,0 +1,3 @@ +jdbc.url= +jdbc.username= +jdbc.password= \ No newline at end of file diff --git a/file-server/src/main/java/com/file/controller/DownloadController.java b/file-server/src/main/java/com/file/controller/DownloadController.java index 290d738ea3e7df1a7c9f0e078e7450a207673538..03bc036aa41d9fa5100a68d074b0aa8f3d9c09d9 100644 --- a/file-server/src/main/java/com/file/controller/DownloadController.java +++ b/file-server/src/main/java/com/file/controller/DownloadController.java @@ -1,11 +1,13 @@ package com.file.controller; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import org.apache.commons.io.IOUtils; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; +//import javax.servlet.http.HttpServletRequest; +//import javax.servlet.http.HttpServletResponse; import java.io.*; import java.net.URLEncoder; diff --git a/message-queue-example/pom.xml b/message-queue-example/pom.xml index 9bce9a6e07131c7e02d191867146c9585bd823c8..8f8b04c02f20e1fb898c0bf31add79db26584f06 100644 --- a/message-queue-example/pom.xml +++ b/message-queue-example/pom.xml @@ -7,20 +7,25 @@ com.opensource 1.0.0-SNAPSHOT + + rabbitmq-example + rocketmq-example + 4.0.0 message-queue-example - jar + pom 2.1.0 + org.apache.rocketmq - rocketmq-client - 4.7.1 + rocketmq-spring-boot-starter + 2.2.2 @@ -54,6 +59,7 @@ mysql mysql-connector-java + ${mysql.version} runtime diff --git a/message-queue-example/rabbitmq-example/.gitignore b/message-queue-example/rabbitmq-example/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..5ff6309b7199129c1afe4f4ec1906e640bec48c6 --- /dev/null +++ b/message-queue-example/rabbitmq-example/.gitignore @@ -0,0 +1,38 @@ +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### IntelliJ IDEA ### +.idea/modules.xml +.idea/jarRepositories.xml +.idea/compiler.xml +.idea/libraries/ +*.iws +*.iml +*.ipr + +### Eclipse ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ + +### Mac OS ### +.DS_Store \ No newline at end of file diff --git a/message-queue-example/rabbitmq-example/pom.xml b/message-queue-example/rabbitmq-example/pom.xml new file mode 100644 index 0000000000000000000000000000000000000000..ba75b450a6fd7a0360e0d29cc5c6c45b9c5233c5 --- /dev/null +++ b/message-queue-example/rabbitmq-example/pom.xml @@ -0,0 +1,28 @@ + + + 4.0.0 + + com.opensource + message-queue-example + 1.0.0-SNAPSHOT + + + rabbitmq-example + + + 17 + 17 + UTF-8 + + + + com.opensource + rocketmq-example + 1.0.0-SNAPSHOT + compile + + + + \ No newline at end of file diff --git a/message-queue-example/rabbitmq-example/src/main/java/com/opensource/MQApplication.java b/message-queue-example/rabbitmq-example/src/main/java/com/opensource/MQApplication.java new file mode 100644 index 0000000000000000000000000000000000000000..b54e8caa577911768b33dd187ebf3c12e51517ed --- /dev/null +++ b/message-queue-example/rabbitmq-example/src/main/java/com/opensource/MQApplication.java @@ -0,0 +1,20 @@ +package com.opensource; + +import lombok.extern.slf4j.Slf4j; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.context.annotation.ComponentScan; + +/** + * @author Kevin + */ +@SpringBootApplication +@ComponentScan(basePackages = {"com.queue.**"}) +//@ComponentScan(basePackages = {"com.queue.common.*", "com.queue.ribbitmq.*"}) +@Slf4j +public class MQApplication { + public static void main(String[] args) { + SpringApplication.run(MQApplication.class, args); + } + +} diff --git a/message-queue-example/src/main/java/com/common/entity/AccountTbl.java b/message-queue-example/rabbitmq-example/src/main/java/com/opensource/common/entity/AccountTbl.java similarity index 94% rename from message-queue-example/src/main/java/com/common/entity/AccountTbl.java rename to message-queue-example/rabbitmq-example/src/main/java/com/opensource/common/entity/AccountTbl.java index 322ad03b32d96ef6199b519d75545493c3feabeb..6607ce2f6451616c546480aac79a72cf1bcf228d 100644 --- a/message-queue-example/src/main/java/com/common/entity/AccountTbl.java +++ b/message-queue-example/rabbitmq-example/src/main/java/com/opensource/common/entity/AccountTbl.java @@ -1,4 +1,4 @@ -package com.common.entity; +package com.opensource.common.entity; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; diff --git a/message-queue-example/src/main/java/com/common/entity/OrderTbl.java b/message-queue-example/rabbitmq-example/src/main/java/com/opensource/common/entity/OrderTbl.java similarity index 94% rename from message-queue-example/src/main/java/com/common/entity/OrderTbl.java rename to message-queue-example/rabbitmq-example/src/main/java/com/opensource/common/entity/OrderTbl.java index cc6845450bd56351db8d041d9a785ef2b57dc712..5d3e2a606dbc58a8bfdef9de4f4b7e21dd1b8604 100644 --- a/message-queue-example/src/main/java/com/common/entity/OrderTbl.java +++ b/message-queue-example/rabbitmq-example/src/main/java/com/opensource/common/entity/OrderTbl.java @@ -1,4 +1,4 @@ -package com.common.entity; +package com.opensource.common.entity; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; diff --git a/message-queue-example/src/main/java/com/common/mapper/AccountTblMapper.java b/message-queue-example/rabbitmq-example/src/main/java/com/opensource/common/mapper/AccountTblMapper.java similarity index 75% rename from message-queue-example/src/main/java/com/common/mapper/AccountTblMapper.java rename to message-queue-example/rabbitmq-example/src/main/java/com/opensource/common/mapper/AccountTblMapper.java index 48c162dbedc6a1cc7d33cd4760882b984279985e..a872de2e4e3a48b091935cbb781dea2ad649b857 100644 --- a/message-queue-example/src/main/java/com/common/mapper/AccountTblMapper.java +++ b/message-queue-example/rabbitmq-example/src/main/java/com/opensource/common/mapper/AccountTblMapper.java @@ -1,8 +1,8 @@ -package com.common.mapper; +package com.opensource.common.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.common.entity.AccountTbl; +import com.opensource.common.entity.AccountTbl; import org.apache.ibatis.annotations.Mapper; /** diff --git a/message-queue-example/src/main/java/com/common/mapper/OrderTblMapper.java b/message-queue-example/rabbitmq-example/src/main/java/com/opensource/common/mapper/OrderTblMapper.java similarity index 75% rename from message-queue-example/src/main/java/com/common/mapper/OrderTblMapper.java rename to message-queue-example/rabbitmq-example/src/main/java/com/opensource/common/mapper/OrderTblMapper.java index 89d1078d8115d02baa64fddd8cf076828e0fb35a..1da20dacc7092a830d7c01893ec6f4cd1b1a0f1a 100644 --- a/message-queue-example/src/main/java/com/common/mapper/OrderTblMapper.java +++ b/message-queue-example/rabbitmq-example/src/main/java/com/opensource/common/mapper/OrderTblMapper.java @@ -1,7 +1,7 @@ -package com.common.mapper; +package com.opensource.common.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.common.entity.OrderTbl; +import com.opensource.common.entity.OrderTbl; import org.apache.ibatis.annotations.Mapper; /** diff --git a/message-queue-example/src/main/java/com/common/service/IAccountService.java b/message-queue-example/rabbitmq-example/src/main/java/com/opensource/common/service/IAccountService.java similarity index 79% rename from message-queue-example/src/main/java/com/common/service/IAccountService.java rename to message-queue-example/rabbitmq-example/src/main/java/com/opensource/common/service/IAccountService.java index 2cebf8c9d2b7e6d1a1383526b3c14e61ce55b632..771bef19c9cb401bd346d67a73652be5f4159af2 100644 --- a/message-queue-example/src/main/java/com/common/service/IAccountService.java +++ b/message-queue-example/rabbitmq-example/src/main/java/com/opensource/common/service/IAccountService.java @@ -1,7 +1,7 @@ -package com.common.service; +package com.opensource.common.service; import com.baomidou.mybatisplus.extension.service.IService; -import com.common.entity.AccountTbl; +import com.opensource.common.entity.AccountTbl; /** *

diff --git a/message-queue-example/src/main/java/com/common/service/IOrderService.java b/message-queue-example/rabbitmq-example/src/main/java/com/opensource/common/service/IOrderService.java similarity index 72% rename from message-queue-example/src/main/java/com/common/service/IOrderService.java rename to message-queue-example/rabbitmq-example/src/main/java/com/opensource/common/service/IOrderService.java index f86b8ae2769293e79985d0d6e83a9456aee9a92c..ece692397081c713df0f615d2360c42b0c7752b9 100644 --- a/message-queue-example/src/main/java/com/common/service/IOrderService.java +++ b/message-queue-example/rabbitmq-example/src/main/java/com/opensource/common/service/IOrderService.java @@ -1,8 +1,8 @@ -package com.common.service; +package com.opensource.common.service; import com.baomidou.mybatisplus.extension.service.IService; -import com.common.entity.OrderTbl; -import com.rocketmq.example.vo.OrderVo; +import com.opensource.common.entity.OrderTbl; +import com.opensource.vo.OrderVo; /** *

diff --git a/message-queue-example/src/main/java/com/common/service/impl/AccountServiceImpl.java b/message-queue-example/rabbitmq-example/src/main/java/com/opensource/common/service/impl/AccountServiceImpl.java similarity index 86% rename from message-queue-example/src/main/java/com/common/service/impl/AccountServiceImpl.java rename to message-queue-example/rabbitmq-example/src/main/java/com/opensource/common/service/impl/AccountServiceImpl.java index 12edfae3bf9e41f6287ff0d9ce4848fafe5254ca..66f496426fc3aa68cf9ab21820fc3ba35665e0a0 100644 --- a/message-queue-example/src/main/java/com/common/service/impl/AccountServiceImpl.java +++ b/message-queue-example/rabbitmq-example/src/main/java/com/opensource/common/service/impl/AccountServiceImpl.java @@ -1,10 +1,10 @@ -package com.common.service.impl; +package com.opensource.common.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.common.entity.AccountTbl; -import com.common.mapper.AccountTblMapper; -import com.common.service.IAccountService; +import com.opensource.common.entity.AccountTbl; +import com.opensource.common.mapper.AccountTblMapper; +import com.opensource.common.service.IAccountService; import com.saturday.common.exception.BusinessException; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; diff --git a/message-queue-example/src/main/java/com/common/service/impl/OrderServiceImpl.java b/message-queue-example/rabbitmq-example/src/main/java/com/opensource/common/service/impl/OrderServiceImpl.java similarity index 83% rename from message-queue-example/src/main/java/com/common/service/impl/OrderServiceImpl.java rename to message-queue-example/rabbitmq-example/src/main/java/com/opensource/common/service/impl/OrderServiceImpl.java index 8fb309b0d1f67a393c1d8ce6cc47ab2e0b7d0b4e..436ef75ae99ec60028c1d86fe38d17fa8b2785ff 100644 --- a/message-queue-example/src/main/java/com/common/service/impl/OrderServiceImpl.java +++ b/message-queue-example/rabbitmq-example/src/main/java/com/opensource/common/service/impl/OrderServiceImpl.java @@ -1,11 +1,11 @@ -package com.common.service.impl; +package com.opensource.common.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.common.entity.OrderTbl; -import com.common.mapper.OrderTblMapper; -import com.common.service.IOrderService; -import com.rocketmq.example.vo.OrderVo; +import com.opensource.common.entity.OrderTbl; +import com.opensource.common.mapper.OrderTblMapper; +import com.opensource.common.service.IOrderService; +import com.opensource.vo.OrderVo; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; diff --git a/message-queue-example/src/main/java/com/rabbitmq/example/Consumer.java b/message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/Consumer.java similarity index 95% rename from message-queue-example/src/main/java/com/rabbitmq/example/Consumer.java rename to message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/Consumer.java index 75734c12afb52951f9c31460e6e0a3e855b3ac9f..d4306e682976d20eef3af4af80a6c91bed613cb9 100644 --- a/message-queue-example/src/main/java/com/rabbitmq/example/Consumer.java +++ b/message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/Consumer.java @@ -1,4 +1,4 @@ -package com.rabbitmq.example; +package com.opensource.example; import com.rabbitmq.client.Channel; import lombok.extern.slf4j.Slf4j; diff --git a/message-queue-example/src/main/java/com/rabbitmq/example/Producer.java b/message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/Producer.java similarity index 92% rename from message-queue-example/src/main/java/com/rabbitmq/example/Producer.java rename to message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/Producer.java index 293ae853eeaf9f11bb67f23ce074a58aa31ef030..74bd527bea05a3355f4544e7ab99b0c737ee6261 100644 --- a/message-queue-example/src/main/java/com/rabbitmq/example/Producer.java +++ b/message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/Producer.java @@ -1,4 +1,4 @@ -package com.rabbitmq.example; +package com.opensource.example; import org.springframework.amqp.core.AmqpTemplate; import org.springframework.beans.factory.annotation.Autowired; diff --git a/message-queue-example/src/main/java/com/rabbitmq/example/RabbitmqConfig.java b/message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/RabbitmqConfig.java similarity index 90% rename from message-queue-example/src/main/java/com/rabbitmq/example/RabbitmqConfig.java rename to message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/RabbitmqConfig.java index f92e35578ce01a8c785a40924d7bfa793ca4705b..0c75bbec2634824ba7a82ce6db7e07fa9c988a2a 100644 --- a/message-queue-example/src/main/java/com/rabbitmq/example/RabbitmqConfig.java +++ b/message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/RabbitmqConfig.java @@ -1,4 +1,4 @@ -package com.rabbitmq.example; +package com.opensource.example; import org.springframework.amqp.core.Queue; import org.springframework.context.annotation.Bean; diff --git a/message-queue-example/src/main/java/com/rabbitmq/example/TestController.java b/message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/TestController.java similarity index 94% rename from message-queue-example/src/main/java/com/rabbitmq/example/TestController.java rename to message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/TestController.java index d838f3f9eb3c2458fb50232325bb788fa110cf35..c705ae0fc684ed230652c7739ca9794a0850a748 100644 --- a/message-queue-example/src/main/java/com/rabbitmq/example/TestController.java +++ b/message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/TestController.java @@ -1,4 +1,4 @@ -package com.rabbitmq.example; +package com.opensource.example; import com.saturday.common.util.ResultUtils; import org.springframework.beans.factory.annotation.Autowired; diff --git a/message-queue-example/src/main/java/com/rabbitmq/example/ack/RabbitConsumer.java b/message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/ack/RabbitConsumer.java similarity index 92% rename from message-queue-example/src/main/java/com/rabbitmq/example/ack/RabbitConsumer.java rename to message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/ack/RabbitConsumer.java index c18ea9a25f6fb2285f8ca870df7551d1562a03f9..c4a76cbad5959e2619a26ea4816d6ea62c8d56d5 100644 --- a/message-queue-example/src/main/java/com/rabbitmq/example/ack/RabbitConsumer.java +++ b/message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/ack/RabbitConsumer.java @@ -1,8 +1,8 @@ -package com.rabbitmq.example.ack; +package com.opensource.example.ack; +import com.opensource.example.common.Constants; +import com.opensource.example.common.RabbitMqUtil; import com.rabbitmq.client.*; -import com.rabbitmq.example.common.Constants; -import com.rabbitmq.example.common.RabbitMqUtil; import lombok.extern.slf4j.Slf4j; import java.io.IOException; diff --git a/message-queue-example/src/main/java/com/rabbitmq/example/ack/readme.txt b/message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/ack/readme.txt similarity index 100% rename from message-queue-example/src/main/java/com/rabbitmq/example/ack/readme.txt rename to message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/ack/readme.txt diff --git a/message-queue-example/src/main/java/com/rabbitmq/example/backupexchange/BackupExchangeConsumer.java b/message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/backupexchange/BackupExchangeConsumer.java similarity index 90% rename from message-queue-example/src/main/java/com/rabbitmq/example/backupexchange/BackupExchangeConsumer.java rename to message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/backupexchange/BackupExchangeConsumer.java index 227048ed7333a3906c8490ac122a10399ca698ff..679f86d0ba86ebc2f1b2d47a6da5d8fb7431b9f0 100644 --- a/message-queue-example/src/main/java/com/rabbitmq/example/backupexchange/BackupExchangeConsumer.java +++ b/message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/backupexchange/BackupExchangeConsumer.java @@ -1,8 +1,8 @@ -package com.rabbitmq.example.backupexchange; +package com.opensource.example.backupexchange; +import com.opensource.example.common.Constants; +import com.opensource.example.common.RabbitMqUtil; import com.rabbitmq.client.*; -import com.rabbitmq.example.common.Constants; -import com.rabbitmq.example.common.RabbitMqUtil; import lombok.extern.slf4j.Slf4j; import java.io.IOException; diff --git a/message-queue-example/src/main/java/com/rabbitmq/example/backupexchange/BackupExchangeProducer.java b/message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/backupexchange/BackupExchangeProducer.java similarity index 87% rename from message-queue-example/src/main/java/com/rabbitmq/example/backupexchange/BackupExchangeProducer.java rename to message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/backupexchange/BackupExchangeProducer.java index 0a2771963f96c4111a70828c3830dfaeca4cae46..cb9ea5efb098487d29e4011e239000b3c1aabe3b 100644 --- a/message-queue-example/src/main/java/com/rabbitmq/example/backupexchange/BackupExchangeProducer.java +++ b/message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/backupexchange/BackupExchangeProducer.java @@ -1,10 +1,10 @@ -package com.rabbitmq.example.backupexchange; +package com.opensource.example.backupexchange; +import com.opensource.example.common.Constants; +import com.opensource.example.common.RabbitMqUtil; import com.rabbitmq.client.BuiltinExchangeType; import com.rabbitmq.client.Channel; import com.rabbitmq.client.Connection; -import com.rabbitmq.example.common.Constants; -import com.rabbitmq.example.common.RabbitMqUtil; import java.io.IOException; import java.util.HashMap; diff --git a/message-queue-example/src/main/java/com/rabbitmq/example/backupexchange/MainExchangeConsumer.java b/message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/backupexchange/MainExchangeConsumer.java similarity index 92% rename from message-queue-example/src/main/java/com/rabbitmq/example/backupexchange/MainExchangeConsumer.java rename to message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/backupexchange/MainExchangeConsumer.java index acce7bc31ba8b03b9da73d606aad8f43bdab4c5d..f1205c0fe113391260ba7157aecfbaa0a8603eac 100644 --- a/message-queue-example/src/main/java/com/rabbitmq/example/backupexchange/MainExchangeConsumer.java +++ b/message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/backupexchange/MainExchangeConsumer.java @@ -1,8 +1,8 @@ -package com.rabbitmq.example.backupexchange; +package com.opensource.example.backupexchange; +import com.opensource.example.common.Constants; +import com.opensource.example.common.RabbitMqUtil; import com.rabbitmq.client.*; -import com.rabbitmq.example.common.Constants; -import com.rabbitmq.example.common.RabbitMqUtil; import lombok.extern.slf4j.Slf4j; import java.io.IOException; diff --git a/message-queue-example/src/main/java/com/rabbitmq/example/backupexchange/note.txt b/message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/backupexchange/note.txt similarity index 100% rename from message-queue-example/src/main/java/com/rabbitmq/example/backupexchange/note.txt rename to message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/backupexchange/note.txt diff --git a/message-queue-example/src/main/java/com/rabbitmq/example/common/Constants.java b/message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/common/Constants.java similarity index 95% rename from message-queue-example/src/main/java/com/rabbitmq/example/common/Constants.java rename to message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/common/Constants.java index 75ba0dbeb7979ff4e42b1a713f36092ac5deec5e..3c8233c0617a8b231143ac1a69cab9b65e63845c 100644 --- a/message-queue-example/src/main/java/com/rabbitmq/example/common/Constants.java +++ b/message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/common/Constants.java @@ -1,4 +1,4 @@ -package com.rabbitmq.example.common; +package com.opensource.example.common; public class Constants { diff --git a/message-queue-example/src/main/java/com/rabbitmq/example/common/RabbitMqUtil.java b/message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/common/RabbitMqUtil.java similarity index 97% rename from message-queue-example/src/main/java/com/rabbitmq/example/common/RabbitMqUtil.java rename to message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/common/RabbitMqUtil.java index f3cca8844a50701658ae3263185e77b4b2f45361..16f30d50190a0b9a1325cea3642b41e07c2e78ca 100644 --- a/message-queue-example/src/main/java/com/rabbitmq/example/common/RabbitMqUtil.java +++ b/message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/common/RabbitMqUtil.java @@ -1,4 +1,4 @@ -package com.rabbitmq.example.common; +package com.opensource.example.common; import com.rabbitmq.client.Channel; import com.rabbitmq.client.Connection; diff --git a/message-queue-example/src/main/java/com/rabbitmq/example/exchange/fanout/FanoutExchangeConsumer.java b/message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/exchange/fanout/FanoutExchangeConsumer.java similarity index 90% rename from message-queue-example/src/main/java/com/rabbitmq/example/exchange/fanout/FanoutExchangeConsumer.java rename to message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/exchange/fanout/FanoutExchangeConsumer.java index 209b99fc8e2553572f34c0a26fecbbaa8c1e8dd3..cf9a9e584be3184b6054cedec4be90f4032d095b 100644 --- a/message-queue-example/src/main/java/com/rabbitmq/example/exchange/fanout/FanoutExchangeConsumer.java +++ b/message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/exchange/fanout/FanoutExchangeConsumer.java @@ -1,8 +1,8 @@ -package com.rabbitmq.example.exchange.fanout; +package com.opensource.example.exchange.fanout; +import com.opensource.example.common.Constants; +import com.opensource.example.common.RabbitMqUtil; import com.rabbitmq.client.*; -import com.rabbitmq.example.common.Constants; -import com.rabbitmq.example.common.RabbitMqUtil; import lombok.extern.slf4j.Slf4j; import java.io.IOException; diff --git a/message-queue-example/src/main/java/com/rabbitmq/example/exchange/fanout/FanoutExchangeConsumer2.java b/message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/exchange/fanout/FanoutExchangeConsumer2.java similarity index 90% rename from message-queue-example/src/main/java/com/rabbitmq/example/exchange/fanout/FanoutExchangeConsumer2.java rename to message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/exchange/fanout/FanoutExchangeConsumer2.java index c6f3576c476c2e2b4b26fb9650ff2be0a5b1f24b..0a3f2d77e295664e0a3d00c6dacd03f358746ec3 100644 --- a/message-queue-example/src/main/java/com/rabbitmq/example/exchange/fanout/FanoutExchangeConsumer2.java +++ b/message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/exchange/fanout/FanoutExchangeConsumer2.java @@ -1,8 +1,8 @@ -package com.rabbitmq.example.exchange.fanout; +package com.opensource.example.exchange.fanout; +import com.opensource.example.common.Constants; +import com.opensource.example.common.RabbitMqUtil; import com.rabbitmq.client.*; -import com.rabbitmq.example.common.Constants; -import com.rabbitmq.example.common.RabbitMqUtil; import lombok.extern.slf4j.Slf4j; import java.io.IOException; diff --git a/message-queue-example/src/main/java/com/rabbitmq/example/exchange/fanout/FanoutExchangeConsumer3.java b/message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/exchange/fanout/FanoutExchangeConsumer3.java similarity index 90% rename from message-queue-example/src/main/java/com/rabbitmq/example/exchange/fanout/FanoutExchangeConsumer3.java rename to message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/exchange/fanout/FanoutExchangeConsumer3.java index 3a159a9e139e3568ce2fe590c6b39e0e1e7c0016..1623dc15aa270de529cad337125f9f22f9cadfbf 100644 --- a/message-queue-example/src/main/java/com/rabbitmq/example/exchange/fanout/FanoutExchangeConsumer3.java +++ b/message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/exchange/fanout/FanoutExchangeConsumer3.java @@ -1,8 +1,8 @@ -package com.rabbitmq.example.exchange.fanout; +package com.opensource.example.exchange.fanout; +import com.opensource.example.common.Constants; +import com.opensource.example.common.RabbitMqUtil; import com.rabbitmq.client.*; -import com.rabbitmq.example.common.Constants; -import com.rabbitmq.example.common.RabbitMqUtil; import lombok.extern.slf4j.Slf4j; import java.io.IOException; diff --git a/message-queue-example/src/main/java/com/rabbitmq/example/exchange/fanout/FanoutExchangeProducer.java b/message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/exchange/fanout/FanoutExchangeProducer.java similarity index 85% rename from message-queue-example/src/main/java/com/rabbitmq/example/exchange/fanout/FanoutExchangeProducer.java rename to message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/exchange/fanout/FanoutExchangeProducer.java index b117d091cc01f2cefab91698d8381c11eed76d31..a47ae7c4d4feff187067dcb531e8f02d757328d9 100644 --- a/message-queue-example/src/main/java/com/rabbitmq/example/exchange/fanout/FanoutExchangeProducer.java +++ b/message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/exchange/fanout/FanoutExchangeProducer.java @@ -1,10 +1,10 @@ -package com.rabbitmq.example.exchange.fanout; +package com.opensource.example.exchange.fanout; +import com.opensource.example.common.Constants; +import com.opensource.example.common.RabbitMqUtil; import com.rabbitmq.client.BuiltinExchangeType; import com.rabbitmq.client.Channel; import com.rabbitmq.client.Connection; -import com.rabbitmq.example.common.Constants; -import com.rabbitmq.example.common.RabbitMqUtil; import java.io.IOException; import java.util.concurrent.TimeoutException; diff --git a/message-queue-example/src/main/java/com/rabbitmq/example/exchange/readme.txt b/message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/exchange/readme.txt similarity index 100% rename from message-queue-example/src/main/java/com/rabbitmq/example/exchange/readme.txt rename to message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/exchange/readme.txt diff --git a/message-queue-example/src/main/java/com/rabbitmq/example/exchange/topic/TopicExchangeConsumer.java b/message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/exchange/topic/TopicExchangeConsumer.java similarity index 90% rename from message-queue-example/src/main/java/com/rabbitmq/example/exchange/topic/TopicExchangeConsumer.java rename to message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/exchange/topic/TopicExchangeConsumer.java index 4e7b844cb4b5cb2f96f23703336d7a1cd73cc265..105db3f42fd13a4b5f60b1e18435fd3a90822d24 100644 --- a/message-queue-example/src/main/java/com/rabbitmq/example/exchange/topic/TopicExchangeConsumer.java +++ b/message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/exchange/topic/TopicExchangeConsumer.java @@ -1,8 +1,8 @@ -package com.rabbitmq.example.exchange.topic; +package com.opensource.example.exchange.topic; +import com.opensource.example.common.Constants; +import com.opensource.example.common.RabbitMqUtil; import com.rabbitmq.client.*; -import com.rabbitmq.example.common.Constants; -import com.rabbitmq.example.common.RabbitMqUtil; import lombok.extern.slf4j.Slf4j; import java.io.IOException; diff --git a/message-queue-example/src/main/java/com/rabbitmq/example/exchange/topic/TopicExchangeConsumer2.java b/message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/exchange/topic/TopicExchangeConsumer2.java similarity index 90% rename from message-queue-example/src/main/java/com/rabbitmq/example/exchange/topic/TopicExchangeConsumer2.java rename to message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/exchange/topic/TopicExchangeConsumer2.java index eecff5ff6501c8856eb25d6121ffdeee34e7b68b..52e48e205e43c9a55be9cf46910d8dbcae7eafcf 100644 --- a/message-queue-example/src/main/java/com/rabbitmq/example/exchange/topic/TopicExchangeConsumer2.java +++ b/message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/exchange/topic/TopicExchangeConsumer2.java @@ -1,8 +1,8 @@ -package com.rabbitmq.example.exchange.topic; +package com.opensource.example.exchange.topic; +import com.opensource.example.common.Constants; +import com.opensource.example.common.RabbitMqUtil; import com.rabbitmq.client.*; -import com.rabbitmq.example.common.Constants; -import com.rabbitmq.example.common.RabbitMqUtil; import lombok.extern.slf4j.Slf4j; import java.io.IOException; diff --git a/message-queue-example/src/main/java/com/rabbitmq/example/exchange/topic/TopicExchangeConsumer3.java b/message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/exchange/topic/TopicExchangeConsumer3.java similarity index 90% rename from message-queue-example/src/main/java/com/rabbitmq/example/exchange/topic/TopicExchangeConsumer3.java rename to message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/exchange/topic/TopicExchangeConsumer3.java index 39004cb21db993fbe70c072fea8e9df3be75e3f3..071cfede9720bcb548a9a785a016f864e8f01fe0 100644 --- a/message-queue-example/src/main/java/com/rabbitmq/example/exchange/topic/TopicExchangeConsumer3.java +++ b/message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/exchange/topic/TopicExchangeConsumer3.java @@ -1,8 +1,8 @@ -package com.rabbitmq.example.exchange.topic; +package com.opensource.example.exchange.topic; +import com.opensource.example.common.Constants; +import com.opensource.example.common.RabbitMqUtil; import com.rabbitmq.client.*; -import com.rabbitmq.example.common.Constants; -import com.rabbitmq.example.common.RabbitMqUtil; import lombok.extern.slf4j.Slf4j; import java.io.IOException; diff --git a/message-queue-example/src/main/java/com/rabbitmq/example/exchange/topic/TopicExchangeProducer.java b/message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/exchange/topic/TopicExchangeProducer.java similarity index 86% rename from message-queue-example/src/main/java/com/rabbitmq/example/exchange/topic/TopicExchangeProducer.java rename to message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/exchange/topic/TopicExchangeProducer.java index 1660f83f93e40c029c0bb08bdc42098d71b77fe5..7b4955889b0f42fc047675b2f0058176db739223 100644 --- a/message-queue-example/src/main/java/com/rabbitmq/example/exchange/topic/TopicExchangeProducer.java +++ b/message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/exchange/topic/TopicExchangeProducer.java @@ -1,10 +1,10 @@ -package com.rabbitmq.example.exchange.topic; +package com.opensource.example.exchange.topic; +import com.opensource.example.common.Constants; +import com.opensource.example.common.RabbitMqUtil; import com.rabbitmq.client.BuiltinExchangeType; import com.rabbitmq.client.Channel; import com.rabbitmq.client.Connection; -import com.rabbitmq.example.common.Constants; -import com.rabbitmq.example.common.RabbitMqUtil; import java.io.IOException; import java.util.concurrent.TimeoutException; diff --git a/message-queue-example/src/main/java/com/rabbitmq/example/message/Producer.java b/message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/message/Producer.java similarity index 87% rename from message-queue-example/src/main/java/com/rabbitmq/example/message/Producer.java rename to message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/message/Producer.java index 738897c4f244066a285ba1222ef74878db92919c..7ba737ffa0462c4d10cf4aa43e7c6cd8d8d23b02 100644 --- a/message-queue-example/src/main/java/com/rabbitmq/example/message/Producer.java +++ b/message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/message/Producer.java @@ -1,10 +1,10 @@ -package com.rabbitmq.example.message; +package com.opensource.example.message; +import com.opensource.example.common.Constants; +import com.opensource.example.common.RabbitMqUtil; import com.rabbitmq.client.BuiltinExchangeType; import com.rabbitmq.client.Channel; import com.rabbitmq.client.Connection; -import com.rabbitmq.example.common.Constants; -import com.rabbitmq.example.common.RabbitMqUtil; import java.io.IOException; import java.util.concurrent.TimeoutException; diff --git a/message-queue-example/src/main/java/com/rabbitmq/example/message/PullConsumer.java b/message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/message/PullConsumer.java similarity index 90% rename from message-queue-example/src/main/java/com/rabbitmq/example/message/PullConsumer.java rename to message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/message/PullConsumer.java index 1bb42b233d7eec881b81cfcbf8b5a89279050cc7..641160604335398811b30044c11b162b2e3bd48c 100644 --- a/message-queue-example/src/main/java/com/rabbitmq/example/message/PullConsumer.java +++ b/message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/message/PullConsumer.java @@ -1,8 +1,8 @@ -package com.rabbitmq.example.message; +package com.opensource.example.message; +import com.opensource.example.common.Constants; +import com.opensource.example.common.RabbitMqUtil; import com.rabbitmq.client.*; -import com.rabbitmq.example.common.Constants; -import com.rabbitmq.example.common.RabbitMqUtil; import lombok.extern.slf4j.Slf4j; import java.io.IOException; diff --git a/message-queue-example/src/main/java/com/rabbitmq/example/message/PushConsumer.java b/message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/message/PushConsumer.java similarity index 91% rename from message-queue-example/src/main/java/com/rabbitmq/example/message/PushConsumer.java rename to message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/message/PushConsumer.java index 86a281846fa785cecb8e13a43990f1043c94ab7c..2a4490b50348314970dc79b7d4ae122e24e491c2 100644 --- a/message-queue-example/src/main/java/com/rabbitmq/example/message/PushConsumer.java +++ b/message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/message/PushConsumer.java @@ -1,8 +1,8 @@ -package com.rabbitmq.example.message; +package com.opensource.example.message; +import com.opensource.example.common.Constants; +import com.opensource.example.common.RabbitMqUtil; import com.rabbitmq.client.*; -import com.rabbitmq.example.common.Constants; -import com.rabbitmq.example.common.RabbitMqUtil; import lombok.extern.slf4j.Slf4j; import java.io.IOException; diff --git a/message-queue-example/src/main/java/com/rabbitmq/example/message/readme.txt b/message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/message/readme.txt similarity index 100% rename from message-queue-example/src/main/java/com/rabbitmq/example/message/readme.txt rename to message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/message/readme.txt diff --git a/message-queue-example/src/main/java/com/rabbitmq/example/quickstart/RabbitConsumer.java b/message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/quickstart/RabbitConsumer.java similarity index 91% rename from message-queue-example/src/main/java/com/rabbitmq/example/quickstart/RabbitConsumer.java rename to message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/quickstart/RabbitConsumer.java index 722bee6fd266e8b8f51b7c2dab18ac0a3503377b..75cb9ccc188f4cc85edda2ce13b0c730b64383b4 100644 --- a/message-queue-example/src/main/java/com/rabbitmq/example/quickstart/RabbitConsumer.java +++ b/message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/quickstart/RabbitConsumer.java @@ -1,8 +1,8 @@ -package com.rabbitmq.example.quickstart; +package com.opensource.example.quickstart; +import com.opensource.example.common.Constants; +import com.opensource.example.common.RabbitMqUtil; import com.rabbitmq.client.*; -import com.rabbitmq.example.common.Constants; -import com.rabbitmq.example.common.RabbitMqUtil; import java.io.IOException; import java.util.concurrent.TimeoutException; diff --git a/message-queue-example/src/main/java/com/rabbitmq/example/quickstart/RabbitProducer.java b/message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/quickstart/RabbitProducer.java similarity index 86% rename from message-queue-example/src/main/java/com/rabbitmq/example/quickstart/RabbitProducer.java rename to message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/quickstart/RabbitProducer.java index 14841cc2b3118823f73c601c41c087a453631ab3..25a57caf20904d55f0ad3daf6510d43ffc4e0435 100644 --- a/message-queue-example/src/main/java/com/rabbitmq/example/quickstart/RabbitProducer.java +++ b/message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/quickstart/RabbitProducer.java @@ -1,11 +1,11 @@ -package com.rabbitmq.example.quickstart; +package com.opensource.example.quickstart; +import com.opensource.example.common.Constants; +import com.opensource.example.common.RabbitMqUtil; import com.rabbitmq.client.BuiltinExchangeType; import com.rabbitmq.client.Channel; import com.rabbitmq.client.Connection; import com.rabbitmq.client.MessageProperties; -import com.rabbitmq.example.common.Constants; -import com.rabbitmq.example.common.RabbitMqUtil; import java.io.IOException; import java.util.concurrent.TimeoutException; diff --git a/message-queue-example/src/main/java/com/rabbitmq/example/quickstart/readme.txt b/message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/quickstart/readme.txt similarity index 100% rename from message-queue-example/src/main/java/com/rabbitmq/example/quickstart/readme.txt rename to message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/quickstart/readme.txt diff --git a/message-queue-example/src/main/java/com/rabbitmq/example/reject/RabbitRejectConsumer.java b/message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/reject/RabbitRejectConsumer.java similarity index 93% rename from message-queue-example/src/main/java/com/rabbitmq/example/reject/RabbitRejectConsumer.java rename to message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/reject/RabbitRejectConsumer.java index f87d464c720700a76a3e6b96311d4a93e41f6dff..d4f4ff9f4e53046ef6cb875f05d007648e67862b 100644 --- a/message-queue-example/src/main/java/com/rabbitmq/example/reject/RabbitRejectConsumer.java +++ b/message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/reject/RabbitRejectConsumer.java @@ -1,8 +1,8 @@ -package com.rabbitmq.example.reject; +package com.opensource.example.reject; +import com.opensource.example.common.Constants; +import com.opensource.example.common.RabbitMqUtil; import com.rabbitmq.client.*; -import com.rabbitmq.example.common.Constants; -import com.rabbitmq.example.common.RabbitMqUtil; import lombok.extern.slf4j.Slf4j; import java.io.IOException; diff --git a/message-queue-example/src/main/java/com/rabbitmq/example/reject/readme.txt b/message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/reject/readme.txt similarity index 100% rename from message-queue-example/src/main/java/com/rabbitmq/example/reject/readme.txt rename to message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/reject/readme.txt diff --git a/message-queue-example/src/main/java/com/rabbitmq/example/transaction/RabbitConsumer.java b/message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/transaction/RabbitConsumer.java similarity index 91% rename from message-queue-example/src/main/java/com/rabbitmq/example/transaction/RabbitConsumer.java rename to message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/transaction/RabbitConsumer.java index 92c33f4dbc7016a8d8cb7f753c95497189486a76..d4ad7debf5e112f028f0bed3692cd383885262c7 100644 --- a/message-queue-example/src/main/java/com/rabbitmq/example/transaction/RabbitConsumer.java +++ b/message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/transaction/RabbitConsumer.java @@ -1,8 +1,8 @@ -package com.rabbitmq.example.transaction; +package com.opensource.example.transaction; +import com.opensource.example.common.Constants; +import com.opensource.example.common.RabbitMqUtil; import com.rabbitmq.client.*; -import com.rabbitmq.example.common.Constants; -import com.rabbitmq.example.common.RabbitMqUtil; import lombok.extern.slf4j.Slf4j; import java.io.IOException; diff --git a/message-queue-example/src/main/java/com/rabbitmq/example/transaction/RabbitProducer.java b/message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/transaction/RabbitProducer.java similarity index 89% rename from message-queue-example/src/main/java/com/rabbitmq/example/transaction/RabbitProducer.java rename to message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/transaction/RabbitProducer.java index 13c47ec7f26b759cd82ee41b298e2221c307593d..d03dc459a7e1f8b809f702462299a3d6caadfbe2 100644 --- a/message-queue-example/src/main/java/com/rabbitmq/example/transaction/RabbitProducer.java +++ b/message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/transaction/RabbitProducer.java @@ -1,10 +1,10 @@ -package com.rabbitmq.example.transaction; +package com.opensource.example.transaction; +import com.opensource.example.common.Constants; +import com.opensource.example.common.RabbitMqUtil; import com.rabbitmq.client.BuiltinExchangeType; import com.rabbitmq.client.Channel; import com.rabbitmq.client.Connection; -import com.rabbitmq.example.common.Constants; -import com.rabbitmq.example.common.RabbitMqUtil; import lombok.extern.slf4j.Slf4j; import java.io.IOException; diff --git a/message-queue-example/src/main/java/com/rabbitmq/example/workqueue/RabbitConsumer.java b/message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/workqueue/RabbitConsumer.java similarity index 92% rename from message-queue-example/src/main/java/com/rabbitmq/example/workqueue/RabbitConsumer.java rename to message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/workqueue/RabbitConsumer.java index d17655e2417cd7c007fc5dc10afc60b48cfeb317..c937a89c10115536a3581b66ca4988268b0d9f37 100644 --- a/message-queue-example/src/main/java/com/rabbitmq/example/workqueue/RabbitConsumer.java +++ b/message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/workqueue/RabbitConsumer.java @@ -1,7 +1,7 @@ -package com.rabbitmq.example.workqueue; +package com.opensource.example.workqueue; +import com.opensource.example.common.RabbitMqUtil; import com.rabbitmq.client.*; -import com.rabbitmq.example.common.RabbitMqUtil; import lombok.SneakyThrows; import java.io.IOException; diff --git a/message-queue-example/src/main/java/com/rabbitmq/example/workqueue/RabbitConsumer2.java b/message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/workqueue/RabbitConsumer2.java similarity index 92% rename from message-queue-example/src/main/java/com/rabbitmq/example/workqueue/RabbitConsumer2.java rename to message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/workqueue/RabbitConsumer2.java index f297baf44be1c051aa4c7ae368e05163d9246bd5..98c48c8f5c9dcab4ccdba139f2c104a5dea68868 100644 --- a/message-queue-example/src/main/java/com/rabbitmq/example/workqueue/RabbitConsumer2.java +++ b/message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/workqueue/RabbitConsumer2.java @@ -1,7 +1,7 @@ -package com.rabbitmq.example.workqueue; +package com.opensource.example.workqueue; +import com.opensource.example.common.RabbitMqUtil; import com.rabbitmq.client.*; -import com.rabbitmq.example.common.RabbitMqUtil; import lombok.SneakyThrows; import java.io.IOException; diff --git a/message-queue-example/src/main/java/com/rabbitmq/example/workqueue/RabbitProducer.java b/message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/workqueue/RabbitProducer.java similarity index 87% rename from message-queue-example/src/main/java/com/rabbitmq/example/workqueue/RabbitProducer.java rename to message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/workqueue/RabbitProducer.java index 1a04c4edd04aa326d4aa2fe5fecfb8b926619fc5..5805a576751ed77c289841a9db0ade93a527498a 100644 --- a/message-queue-example/src/main/java/com/rabbitmq/example/workqueue/RabbitProducer.java +++ b/message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/workqueue/RabbitProducer.java @@ -1,8 +1,8 @@ -package com.rabbitmq.example.workqueue; +package com.opensource.example.workqueue; +import com.opensource.example.common.RabbitMqUtil; import com.rabbitmq.client.Channel; import com.rabbitmq.client.Connection; -import com.rabbitmq.example.common.RabbitMqUtil; import java.io.IOException; import java.util.concurrent.TimeoutException; diff --git a/message-queue-example/src/main/java/com/rabbitmq/example/workqueue/readme.txt b/message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/workqueue/readme.txt similarity index 100% rename from message-queue-example/src/main/java/com/rabbitmq/example/workqueue/readme.txt rename to message-queue-example/rabbitmq-example/src/main/java/com/opensource/example/workqueue/readme.txt diff --git a/message-queue-example/src/main/resources/application.yml b/message-queue-example/rabbitmq-example/src/main/resources/application.yml similarity index 100% rename from message-queue-example/src/main/resources/application.yml rename to message-queue-example/rabbitmq-example/src/main/resources/application.yml diff --git a/message-queue-example/rabbitmq-example/src/main/resources/mapper/AccountTblMapper.xml b/message-queue-example/rabbitmq-example/src/main/resources/mapper/AccountTblMapper.xml new file mode 100644 index 0000000000000000000000000000000000000000..5f5a10c9e6286eac1e67da28e100ac9ad66757d5 --- /dev/null +++ b/message-queue-example/rabbitmq-example/src/main/resources/mapper/AccountTblMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/message-queue-example/src/main/resources/mapper/OrderTblMapper.xml b/message-queue-example/rabbitmq-example/src/main/resources/mapper/OrderTblMapper.xml similarity index 72% rename from message-queue-example/src/main/resources/mapper/OrderTblMapper.xml rename to message-queue-example/rabbitmq-example/src/main/resources/mapper/OrderTblMapper.xml index 29ac530bd9344027ee6d6a9b73ef12834675f59f..a63f4038aad87ebe2e87781c2064f116352cdc44 100644 --- a/message-queue-example/src/main/resources/mapper/OrderTblMapper.xml +++ b/message-queue-example/rabbitmq-example/src/main/resources/mapper/OrderTblMapper.xml @@ -1,5 +1,5 @@ - + diff --git a/message-queue-example/rocketmq-example/.gitignore b/message-queue-example/rocketmq-example/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..5ff6309b7199129c1afe4f4ec1906e640bec48c6 --- /dev/null +++ b/message-queue-example/rocketmq-example/.gitignore @@ -0,0 +1,38 @@ +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### IntelliJ IDEA ### +.idea/modules.xml +.idea/jarRepositories.xml +.idea/compiler.xml +.idea/libraries/ +*.iws +*.iml +*.ipr + +### Eclipse ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ + +### Mac OS ### +.DS_Store \ No newline at end of file diff --git a/message-queue-example/rocketmq-example/pom.xml b/message-queue-example/rocketmq-example/pom.xml new file mode 100644 index 0000000000000000000000000000000000000000..b1f6470a893d4403bdc2485ca149fac22c469387 --- /dev/null +++ b/message-queue-example/rocketmq-example/pom.xml @@ -0,0 +1,20 @@ + + + 4.0.0 + + com.opensource + message-queue-example + 1.0.0-SNAPSHOT + + + rocketmq-example + + + 17 + 17 + UTF-8 + + + \ No newline at end of file diff --git a/message-queue-example/rocketmq-example/src/main/java/com/opensource/ConsumerConfig.java b/message-queue-example/rocketmq-example/src/main/java/com/opensource/ConsumerConfig.java new file mode 100644 index 0000000000000000000000000000000000000000..e29156fb6266393037a35ef15fa7983b8f04d7d1 --- /dev/null +++ b/message-queue-example/rocketmq-example/src/main/java/com/opensource/ConsumerConfig.java @@ -0,0 +1,111 @@ +package com.opensource;//package com.queue.rocketmq.example; +// +//import com.queue.rocketmq.example.consumer.RocketAccountConsumerService; +//import lombok.extern.slf4j.Slf4j; +//import org.apache.rocketmq.client.consumer.DefaultLitePullConsumer; +//import org.apache.rocketmq.client.consumer.DefaultMQPushConsumer; +//import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyContext; +//import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyStatus; +//import org.apache.rocketmq.client.consumer.listener.MessageListenerConcurrently; +//import org.apache.rocketmq.client.exception.MQClientException; +//import org.apache.rocketmq.common.consumer.ConsumeFromWhere; +//import org.apache.rocketmq.common.message.MessageExt; +//import org.springframework.beans.factory.annotation.Autowired; +//import org.springframework.beans.factory.annotation.Value; +//import org.springframework.context.annotation.Bean; +//import org.springframework.context.annotation.Configuration; +//import org.springframework.util.CollectionUtils; +// +//import java.util.List; +// +//@Configuration +//@Slf4j +//public class ConsumerConfig { +// +// @Value("${rocketmq.name-server}") +// private String nameServer; +// +// @Autowired +// private RocketAccountConsumerService accountConsumerService; +// +// @Bean +// public DefaultMQPushConsumer traceTopicConsumer() throws MQClientException { +// DefaultMQPushConsumer consumer = new DefaultMQPushConsumer("trace-topic-consumer-group", true); +// consumer.setNamesrvAddr(nameServer); +// consumer.subscribe("trace-topic", "*"); +// consumer.setConsumeFromWhere(ConsumeFromWhere.CONSUME_FROM_FIRST_OFFSET); +// consumer.setConsumeTimestamp("20200722110701"); +// consumer.setMessageListener(new MessageListenerConcurrently() { +// @Override +// public ConsumeConcurrentlyStatus consumeMessage(List list, ConsumeConcurrentlyContext consumeConcurrentlyContext) { +// if (!CollectionUtils.isEmpty(list)) { +// try { +// for (MessageExt messageExt : list) { +// log.info("回溯消息:{}", messageExt); +// } +// } catch (Exception e) { +// log.error("处理异常:{}", e); +// return ConsumeConcurrentlyStatus.RECONSUME_LATER; +// } +// } +// return ConsumeConcurrentlyStatus.CONSUME_SUCCESS; +// } +// }); +// consumer.start(); +// return consumer; +// } +// +// @Bean +// public DefaultMQPushConsumer traceConsumer() throws MQClientException { +// DefaultMQPushConsumer consumer = new DefaultMQPushConsumer("topic-test-consumer-group", true, "trace-topic"); +// consumer.setNamesrvAddr(nameServer); +// consumer.subscribe("topic-test", "trace"); +//// consumer.setConsumerGroup("topic-test-consumer-group"); +// consumer.setConsumeFromWhere(ConsumeFromWhere.CONSUME_FROM_FIRST_OFFSET); +//// consumer.setConsumeTimestamp("20200722093001"); +// consumer.setMessageListener(new MessageListenerConcurrently() { +// @Override +// public ConsumeConcurrentlyStatus consumeMessage(List list, ConsumeConcurrentlyContext consumeConcurrentlyContext) { +// if (!CollectionUtils.isEmpty(list)) { +// try { +// for (MessageExt messageExt : list) { +// log.info("消费消息:{}", messageExt); +// } +// } catch (Exception e) { +// log.error("处理异常:{}", e); +// return ConsumeConcurrentlyStatus.RECONSUME_LATER; +// } +// } +// return ConsumeConcurrentlyStatus.CONSUME_SUCCESS; +// } +// }); +// consumer.start(); +// return consumer; +// } +// +// @Bean +// public DefaultMQPushConsumer defaultMQPushConsumer() throws MQClientException { +// DefaultMQPushConsumer consumer = new DefaultMQPushConsumer(); +// consumer.setNamesrvAddr(nameServer); +// consumer.subscribe("account1", "*"); +// consumer.setConsumerGroup("consumer-group"); +// consumer.setMessageListener(accountConsumerService); +// consumer.start(); +// return consumer; +// } +// +// @Bean +// public DefaultLitePullConsumer defaultLitePullConsumer() throws MQClientException { +// DefaultLitePullConsumer pullConsumer = new DefaultLitePullConsumer(); +// pullConsumer.setNamesrvAddr(nameServer); +// pullConsumer.subscribe("topic-test", "trace"); +// while (true) { +//// pullConsumer. +// } +//// pullConsumer. +//// pullConsumer.start(); +//// log.info("defaultLitePullConsumer is started..."); +//// return pullConsumer; +// } +// +//} diff --git a/message-queue-example/src/main/java/com/rocketmq/example/ExtRocketMqTemplate.java b/message-queue-example/rocketmq-example/src/main/java/com/opensource/ExtRocketMqTemplate.java similarity index 84% rename from message-queue-example/src/main/java/com/rocketmq/example/ExtRocketMqTemplate.java rename to message-queue-example/rocketmq-example/src/main/java/com/opensource/ExtRocketMqTemplate.java index dcd2623d18deb81ebf4de31a51de8f4369c8bdcd..92dc0019138cac77cdb5227f74b1daa0057ff107 100644 --- a/message-queue-example/src/main/java/com/rocketmq/example/ExtRocketMqTemplate.java +++ b/message-queue-example/rocketmq-example/src/main/java/com/opensource/ExtRocketMqTemplate.java @@ -1,4 +1,4 @@ -//package com.rocketmq.example; +package com.opensource;//package com.rocketmq.example; // //import org.apache.rocketmq.spring.annotation.ExtRocketMQTemplateConfiguration; //import org.apache.rocketmq.spring.core.RocketMQTemplate; diff --git a/message-queue-example/src/main/java/com/MQApplication.java b/message-queue-example/rocketmq-example/src/main/java/com/opensource/MQApplication.java similarity index 68% rename from message-queue-example/src/main/java/com/MQApplication.java rename to message-queue-example/rocketmq-example/src/main/java/com/opensource/MQApplication.java index 52a5e71c6b25aa805e1b5837b8467c3f6dcb929a..9835af4e9a568b6d33fe8e6ef166278960ea32c1 100644 --- a/message-queue-example/src/main/java/com/MQApplication.java +++ b/message-queue-example/rocketmq-example/src/main/java/com/opensource/MQApplication.java @@ -1,4 +1,4 @@ -package com; +package com.opensource; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Value; @@ -10,15 +10,11 @@ import org.springframework.context.annotation.ComponentScan; * @author Kevin */ @SpringBootApplication -@ComponentScan(basePackages = {"com.common.*", "com.rocketmq.*"}) -//@ComponentScan(basePackages = {"com.common.*", "com.ribbitmq.*"}) +@ComponentScan(basePackages = {"com.opensource.**"}) @Slf4j public class MQApplication { public static void main(String[] args) { SpringApplication.run(MQApplication.class, args); } - @Value("${rocketmq.name-server}") - private String nameServer; - } diff --git a/message-queue-example/src/main/java/com/rocketmq/example/ProduceConfig.java b/message-queue-example/rocketmq-example/src/main/java/com/opensource/ProduceConfig.java similarity index 92% rename from message-queue-example/src/main/java/com/rocketmq/example/ProduceConfig.java rename to message-queue-example/rocketmq-example/src/main/java/com/opensource/ProduceConfig.java index 3c6e82a859bed3138ef64550fe5e10a6ee2d9052..cfda637a136636938e78f6ac7fab4f8d5412c6b0 100644 --- a/message-queue-example/src/main/java/com/rocketmq/example/ProduceConfig.java +++ b/message-queue-example/rocketmq-example/src/main/java/com/opensource/ProduceConfig.java @@ -1,7 +1,7 @@ -package com.rocketmq.example; +package com.opensource; -import com.common.service.IAccountService; -import com.rocketmq.example.listener.AccountRocketMQTransactionLister; +import com.opensource.common.service.IAccountService; +import com.opensource.listener.AccountRocketMQTransactionLister; import lombok.extern.slf4j.Slf4j; import org.apache.rocketmq.client.exception.MQClientException; import org.apache.rocketmq.client.producer.DefaultMQProducer; diff --git a/message-queue-example/rocketmq-example/src/main/java/com/opensource/common/entity/AccountTbl.java b/message-queue-example/rocketmq-example/src/main/java/com/opensource/common/entity/AccountTbl.java new file mode 100644 index 0000000000000000000000000000000000000000..6607ce2f6451616c546480aac79a72cf1bcf228d --- /dev/null +++ b/message-queue-example/rocketmq-example/src/main/java/com/opensource/common/entity/AccountTbl.java @@ -0,0 +1,33 @@ +package com.opensource.common.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; + +/** + *

+ * + *

+ * + * @author wanggd + * @since 2019-12-13 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +public class AccountTbl implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(value = "ID", type = IdType.AUTO) + private Integer id; + + private String userId; + + private Integer money; + +} diff --git a/message-queue-example/rocketmq-example/src/main/java/com/opensource/common/entity/OrderTbl.java b/message-queue-example/rocketmq-example/src/main/java/com/opensource/common/entity/OrderTbl.java new file mode 100644 index 0000000000000000000000000000000000000000..5d3e2a606dbc58a8bfdef9de4f4b7e21dd1b8604 --- /dev/null +++ b/message-queue-example/rocketmq-example/src/main/java/com/opensource/common/entity/OrderTbl.java @@ -0,0 +1,39 @@ +package com.opensource.common.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; + +/** + *

+ * + *

+ * + * @author wanggd + * @since 2019-12-13 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +public class OrderTbl implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(value = "ID", type = IdType.AUTO) + private Integer id; + + private String userId; + + private String commodityCode; + + private Integer count; + + private Integer money; + + private String orderId; + +} diff --git a/message-queue-example/rocketmq-example/src/main/java/com/opensource/common/mapper/AccountTblMapper.java b/message-queue-example/rocketmq-example/src/main/java/com/opensource/common/mapper/AccountTblMapper.java new file mode 100644 index 0000000000000000000000000000000000000000..a872de2e4e3a48b091935cbb781dea2ad649b857 --- /dev/null +++ b/message-queue-example/rocketmq-example/src/main/java/com/opensource/common/mapper/AccountTblMapper.java @@ -0,0 +1,19 @@ +package com.opensource.common.mapper; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.opensource.common.entity.AccountTbl; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * Mapper 接口 + *

+ * + * @author wanggd + * @since 2019-12-13 + */ +@Mapper +public interface AccountTblMapper extends BaseMapper { + +} diff --git a/message-queue-example/rocketmq-example/src/main/java/com/opensource/common/mapper/OrderTblMapper.java b/message-queue-example/rocketmq-example/src/main/java/com/opensource/common/mapper/OrderTblMapper.java new file mode 100644 index 0000000000000000000000000000000000000000..1da20dacc7092a830d7c01893ec6f4cd1b1a0f1a --- /dev/null +++ b/message-queue-example/rocketmq-example/src/main/java/com/opensource/common/mapper/OrderTblMapper.java @@ -0,0 +1,18 @@ +package com.opensource.common.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.opensource.common.entity.OrderTbl; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * Mapper 接口 + *

+ * + * @author wanggd + * @since 2019-12-13 + */ +@Mapper +public interface OrderTblMapper extends BaseMapper { + +} diff --git a/message-queue-example/rocketmq-example/src/main/java/com/opensource/common/service/IAccountService.java b/message-queue-example/rocketmq-example/src/main/java/com/opensource/common/service/IAccountService.java new file mode 100644 index 0000000000000000000000000000000000000000..771bef19c9cb401bd346d67a73652be5f4159af2 --- /dev/null +++ b/message-queue-example/rocketmq-example/src/main/java/com/opensource/common/service/IAccountService.java @@ -0,0 +1,23 @@ +package com.opensource.common.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.opensource.common.entity.AccountTbl; + +/** + *

+ * 服务类 + *

+ * + * @author wanggd + * @since 2019-12-13 + */ +public interface IAccountService extends IService { + + /** + * 从用户账户中借出 + */ + void debit(String userId, int money); + + AccountTbl get(AccountTbl accountTbl); + +} diff --git a/message-queue-example/rocketmq-example/src/main/java/com/opensource/common/service/IOrderService.java b/message-queue-example/rocketmq-example/src/main/java/com/opensource/common/service/IOrderService.java new file mode 100644 index 0000000000000000000000000000000000000000..ece692397081c713df0f615d2360c42b0c7752b9 --- /dev/null +++ b/message-queue-example/rocketmq-example/src/main/java/com/opensource/common/service/IOrderService.java @@ -0,0 +1,24 @@ +package com.opensource.common.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.opensource.common.entity.OrderTbl; +import com.opensource.vo.OrderVo; + +/** + *

+ * 服务类 + *

+ * + * @author wanggd + * @since 2019-12-13 + */ +public interface IOrderService extends IService { + + /** + * 创建订单 + */ + OrderTbl create(OrderVo orderVo); + + boolean hasOrder(String orderId); + +} diff --git a/message-queue-example/rocketmq-example/src/main/java/com/opensource/common/service/impl/AccountServiceImpl.java b/message-queue-example/rocketmq-example/src/main/java/com/opensource/common/service/impl/AccountServiceImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..66f496426fc3aa68cf9ab21820fc3ba35665e0a0 --- /dev/null +++ b/message-queue-example/rocketmq-example/src/main/java/com/opensource/common/service/impl/AccountServiceImpl.java @@ -0,0 +1,46 @@ +package com.opensource.common.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.opensource.common.entity.AccountTbl; +import com.opensource.common.mapper.AccountTblMapper; +import com.opensource.common.service.IAccountService; +import com.saturday.common.exception.BusinessException; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +/** + *

+ * 服务实现类 + *

+ * + * @author wanggd + * @since 2019-12-13 + */ +@Service +public class AccountServiceImpl extends ServiceImpl implements IAccountService { + + @Override + @Transactional + public void debit(String userId, int money) { + QueryWrapper accountQuery = new QueryWrapper<>(); + accountQuery.eq("USER_ID", userId); + AccountTbl accountTbl = getOne(accountQuery); + if (accountTbl == null) { + throw new BusinessException("无账户信息"); + } + accountTbl.setMoney(accountTbl.getMoney() - money); + + if (accountTbl.getMoney() < 0) { + throw new BusinessException("账户余额不足"); + } + + updateById(accountTbl); + } + + @Override + public AccountTbl get(AccountTbl accountTbl) { + AccountTbl result = getOne(new QueryWrapper<>(accountTbl)); + return result; + } +} diff --git a/message-queue-example/rocketmq-example/src/main/java/com/opensource/common/service/impl/OrderServiceImpl.java b/message-queue-example/rocketmq-example/src/main/java/com/opensource/common/service/impl/OrderServiceImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..436ef75ae99ec60028c1d86fe38d17fa8b2785ff --- /dev/null +++ b/message-queue-example/rocketmq-example/src/main/java/com/opensource/common/service/impl/OrderServiceImpl.java @@ -0,0 +1,50 @@ +package com.opensource.common.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.opensource.common.entity.OrderTbl; +import com.opensource.common.mapper.OrderTblMapper; +import com.opensource.common.service.IOrderService; +import com.opensource.vo.OrderVo; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +/** + *

+ * 服务实现类 + *

+ * + * @author wanggd + * @since 2019-12-13 + */ +@Service +public class OrderServiceImpl extends ServiceImpl implements IOrderService { + + @Override + @Transactional + public OrderTbl create(OrderVo orderVo) { + + OrderTbl param = new OrderTbl(); + param.setOrderId(orderVo.getOrderId()); + if (getOne(new QueryWrapper<>(param)) != null) { + throw new RuntimeException("订单已存在"); + } + + OrderTbl order = new OrderTbl(); + BeanUtils.copyProperties(orderVo, order); + + save(order); + return order; + } + + @Override + public boolean hasOrder(String orderId) { + OrderTbl param = new OrderTbl(); + param.setOrderId(orderId); + if (getOne(new QueryWrapper<>(param)) != null) { + return true; + } + return false; + } +} diff --git a/message-queue-example/src/main/java/com/rocketmq/example/consumer/AccountConsumerService.java b/message-queue-example/rocketmq-example/src/main/java/com/opensource/consumer/AccountConsumerService.java similarity index 91% rename from message-queue-example/src/main/java/com/rocketmq/example/consumer/AccountConsumerService.java rename to message-queue-example/rocketmq-example/src/main/java/com/opensource/consumer/AccountConsumerService.java index a44b3fc4fe8d4dacaf81a33482647886bbb55ca1..b6bdbe5bdd3bf8531aa7739145308270f014db90 100644 --- a/message-queue-example/src/main/java/com/rocketmq/example/consumer/AccountConsumerService.java +++ b/message-queue-example/rocketmq-example/src/main/java/com/opensource/consumer/AccountConsumerService.java @@ -1,4 +1,4 @@ -//package com.rocketmq.example.consumer; +package com.opensource.consumer;//package com.queue.rocketmq.example.consumer; // //import com.common.service.IAccountService; //import com.rocketmq.example.vo.AccountVo; diff --git a/message-queue-example/src/main/java/com/rocketmq/example/consumer/AccountConsumerService1.java b/message-queue-example/rocketmq-example/src/main/java/com/opensource/consumer/AccountConsumerService1.java similarity index 95% rename from message-queue-example/src/main/java/com/rocketmq/example/consumer/AccountConsumerService1.java rename to message-queue-example/rocketmq-example/src/main/java/com/opensource/consumer/AccountConsumerService1.java index 18d10accd084f3782aa4c07c66247cf4c4017f13..6b1bcb4cf0341d3f2702675cc8aa0a9f47367f2c 100644 --- a/message-queue-example/src/main/java/com/rocketmq/example/consumer/AccountConsumerService1.java +++ b/message-queue-example/rocketmq-example/src/main/java/com/opensource/consumer/AccountConsumerService1.java @@ -1,4 +1,4 @@ -//package com.rocketmq.example.consumer; +package com.opensource.consumer; // //import com.common.service.IAccountService; //import com.rocketmq.example.vo.AccountVo; diff --git a/message-queue-example/src/main/java/com/rocketmq/example/consumer/OrderConsumerService.java b/message-queue-example/rocketmq-example/src/main/java/com/opensource/consumer/OrderConsumerService.java similarity index 96% rename from message-queue-example/src/main/java/com/rocketmq/example/consumer/OrderConsumerService.java rename to message-queue-example/rocketmq-example/src/main/java/com/opensource/consumer/OrderConsumerService.java index b2b074069856f54ef1f1fc359fd3e1966308fe71..6158a102853f7b6ead5d313ec19971e6f674dffe 100644 --- a/message-queue-example/src/main/java/com/rocketmq/example/consumer/OrderConsumerService.java +++ b/message-queue-example/rocketmq-example/src/main/java/com/opensource/consumer/OrderConsumerService.java @@ -1,4 +1,4 @@ -//package com.rocketmq.example.consumer; +package com.opensource.consumer; // //import com.common.service.IAccountService; //import com.rocketmq.example.vo.OrderVo; diff --git a/message-queue-example/src/main/java/com/rocketmq/example/consumer/RocketAccountConsumerService.java b/message-queue-example/rocketmq-example/src/main/java/com/opensource/consumer/RocketAccountConsumerService.java similarity index 89% rename from message-queue-example/src/main/java/com/rocketmq/example/consumer/RocketAccountConsumerService.java rename to message-queue-example/rocketmq-example/src/main/java/com/opensource/consumer/RocketAccountConsumerService.java index 9506cc6e215b21b4d10affa1fda846f523295048..4b34156d2e4ff0e2ce74366153572eb839416eac 100644 --- a/message-queue-example/src/main/java/com/rocketmq/example/consumer/RocketAccountConsumerService.java +++ b/message-queue-example/rocketmq-example/src/main/java/com/opensource/consumer/RocketAccountConsumerService.java @@ -1,9 +1,8 @@ -package com.rocketmq.example.consumer; +package com.opensource.consumer; -import com.common.service.IAccountService; -import com.rocketmq.example.vo.AccountVo; +import com.opensource.common.service.IAccountService; +import com.opensource.vo.AccountVo; import lombok.extern.slf4j.Slf4j; -import org.apache.rocketmq.client.consumer.DefaultMQPushConsumer; import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyContext; import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyStatus; import org.apache.rocketmq.client.consumer.listener.MessageListenerConcurrently; diff --git a/message-queue-example/src/main/java/com/rocketmq/example/consumer/Storage2Service.java b/message-queue-example/rocketmq-example/src/main/java/com/opensource/consumer/Storage2Service.java similarity index 87% rename from message-queue-example/src/main/java/com/rocketmq/example/consumer/Storage2Service.java rename to message-queue-example/rocketmq-example/src/main/java/com/opensource/consumer/Storage2Service.java index 3e4034b218ceca514959a5dd0c4374170c8d08d2..4b0a35aa619f6c6e5cfe5a8d386dbad7eee4a428 100644 --- a/message-queue-example/src/main/java/com/rocketmq/example/consumer/Storage2Service.java +++ b/message-queue-example/rocketmq-example/src/main/java/com/opensource/consumer/Storage2Service.java @@ -1,4 +1,4 @@ -//package com.rocketmq.example.consumer; +package com.opensource.consumer;//package com.queue.rocketmq.example.consumer; // //import com.rocketmq.example.vo.ProductVo; //import lombok.extern.slf4j.Slf4j; diff --git a/message-queue-example/src/main/java/com/rocketmq/example/consumer/StorageReplyService.java b/message-queue-example/rocketmq-example/src/main/java/com/opensource/consumer/StorageReplyService.java similarity index 89% rename from message-queue-example/src/main/java/com/rocketmq/example/consumer/StorageReplyService.java rename to message-queue-example/rocketmq-example/src/main/java/com/opensource/consumer/StorageReplyService.java index 0e2cdb8d2cee830efdc0f7a92315605a0898380a..940cf82264db1d422b07f5364f7757b7a033b81e 100644 --- a/message-queue-example/src/main/java/com/rocketmq/example/consumer/StorageReplyService.java +++ b/message-queue-example/rocketmq-example/src/main/java/com/opensource/consumer/StorageReplyService.java @@ -1,4 +1,4 @@ -//package com.rocketmq.example.consumer; +package com.opensource.consumer;//package com.queue.rocketmq.example.consumer; // //import lombok.extern.slf4j.Slf4j; //import org.apache.rocketmq.spring.annotation.RocketMQMessageListener; diff --git a/message-queue-example/rocketmq-example/src/main/java/com/opensource/consumer/StorageService.java b/message-queue-example/rocketmq-example/src/main/java/com/opensource/consumer/StorageService.java new file mode 100644 index 0000000000000000000000000000000000000000..5e3efd9426511d428cf92870dddd8218beba7a33 --- /dev/null +++ b/message-queue-example/rocketmq-example/src/main/java/com/opensource/consumer/StorageService.java @@ -0,0 +1,15 @@ +package com.opensource.consumer; + +import lombok.extern.slf4j.Slf4j; +import org.apache.rocketmq.spring.annotation.RocketMQMessageListener; +import org.apache.rocketmq.spring.core.RocketMQListener; + +@RocketMQMessageListener(topic = "${demo.rocketmq.orderTopic}", consumerGroup = "storage-group2", namespace = "${rocketmq.name-server}") +@Slf4j +public class StorageService implements RocketMQListener { + @Override + public void onMessage(String s) { + log.info("扣库存:{}", s); + + } +} diff --git a/message-queue-example/src/main/java/com/rocketmq/example/listener/AccountRocketMQTransactionLister.java b/message-queue-example/rocketmq-example/src/main/java/com/opensource/listener/AccountRocketMQTransactionLister.java similarity index 94% rename from message-queue-example/src/main/java/com/rocketmq/example/listener/AccountRocketMQTransactionLister.java rename to message-queue-example/rocketmq-example/src/main/java/com/opensource/listener/AccountRocketMQTransactionLister.java index 4042fa597a713532efae9dd30ec5375e4830dd0c..6d1b049f037ca4e0aecc4c6cb7c59cbebd934dbe 100644 --- a/message-queue-example/src/main/java/com/rocketmq/example/listener/AccountRocketMQTransactionLister.java +++ b/message-queue-example/rocketmq-example/src/main/java/com/opensource/listener/AccountRocketMQTransactionLister.java @@ -1,7 +1,7 @@ -package com.rocketmq.example.listener; +package com.opensource.listener; -import com.common.entity.AccountTbl; -import com.common.service.IAccountService; +import com.opensource.common.entity.AccountTbl; +import com.opensource.common.service.IAccountService; import lombok.extern.slf4j.Slf4j; import org.apache.rocketmq.client.producer.LocalTransactionState; import org.apache.rocketmq.client.producer.TransactionListener; diff --git a/message-queue-example/src/main/java/com/rocketmq/example/listener/AccountTransactionLister.java b/message-queue-example/rocketmq-example/src/main/java/com/opensource/listener/AccountTransactionLister.java similarity index 96% rename from message-queue-example/src/main/java/com/rocketmq/example/listener/AccountTransactionLister.java rename to message-queue-example/rocketmq-example/src/main/java/com/opensource/listener/AccountTransactionLister.java index 772007fb49ce3cb212244b6d5eee91c274a689af..aa208f2d9428c215aa13802fca32af81c48ac447 100644 --- a/message-queue-example/src/main/java/com/rocketmq/example/listener/AccountTransactionLister.java +++ b/message-queue-example/rocketmq-example/src/main/java/com/opensource/listener/AccountTransactionLister.java @@ -1,4 +1,4 @@ -//package com.rocketmq.example.listener; +package com.opensource.listener;//package com.rocketmq.example.listener; // //import com.common.entity.AccountTbl; //import com.common.service.IAccountService; diff --git a/message-queue-example/src/main/java/com/rocketmq/example/listener/OrderTransactionLister.java b/message-queue-example/rocketmq-example/src/main/java/com/opensource/listener/OrderTransactionLister.java similarity index 95% rename from message-queue-example/src/main/java/com/rocketmq/example/listener/OrderTransactionLister.java rename to message-queue-example/rocketmq-example/src/main/java/com/opensource/listener/OrderTransactionLister.java index d9c2da59b34f78c21a74b4ed62a08ffcbedf030a..1c111941002f23eee236b5dd431a2aa9c9258ac4 100644 --- a/message-queue-example/src/main/java/com/rocketmq/example/listener/OrderTransactionLister.java +++ b/message-queue-example/rocketmq-example/src/main/java/com/opensource/listener/OrderTransactionLister.java @@ -1,4 +1,4 @@ -//package com.rocketmq.example.listener; +package com.opensource.listener;//package com.rocketmq.example.listener; // //import com.common.service.IOrderService; //import lombok.extern.slf4j.Slf4j; diff --git a/message-queue-example/rocketmq-example/src/main/java/com/opensource/simple/Consumer.java b/message-queue-example/rocketmq-example/src/main/java/com/opensource/simple/Consumer.java new file mode 100644 index 0000000000000000000000000000000000000000..c698a7a3da966d103acf8d2c752ab63f5bc408af --- /dev/null +++ b/message-queue-example/rocketmq-example/src/main/java/com/opensource/simple/Consumer.java @@ -0,0 +1,34 @@ +package com.opensource.simple; + +import org.apache.rocketmq.client.consumer.DefaultMQPushConsumer; +import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyContext; +import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyStatus; +import org.apache.rocketmq.client.consumer.listener.MessageListenerConcurrently; +import org.apache.rocketmq.client.exception.MQClientException; +import org.apache.rocketmq.common.message.MessageExt; + +import java.util.List; + +public class Consumer { + public static void main(String[] args) throws InterruptedException, MQClientException { + // Initialize Consumer and set Consumer Goup Name + DefaultMQPushConsumer consumer = new DefaultMQPushConsumer("consumer-light-9"); + + // Set the address of NameServer + consumer.setNamesrvAddr("localhost:9876"); + // Subscribe One or more of topics,and specify the tag filtering conditions, here specify * means receive all tag messages + consumer.subscribe("TopicTest", "*"); + // Register a callback interface to handle messages received from the Broker + consumer.registerMessageListener(new MessageListenerConcurrently() { + @Override + public ConsumeConcurrentlyStatus consumeMessage(List msgs, ConsumeConcurrentlyContext context) { + System.out.printf("%s Receive New Messages: %s %n", Thread.currentThread().getName(), msgs); + // Return to the message consumption status, ConsumeConcurrentlyStatus.CONSUME_SUCCESS for successful consumption + return ConsumeConcurrentlyStatus.CONSUME_SUCCESS; + } + }); + // Start Consumer + consumer.start(); + System.out.printf("Consumer Started.%n"); + } +} \ No newline at end of file diff --git a/message-queue-example/rocketmq-example/src/main/java/com/opensource/simple/SyncProducer.java b/message-queue-example/rocketmq-example/src/main/java/com/opensource/simple/SyncProducer.java new file mode 100644 index 0000000000000000000000000000000000000000..e393fc34831519f419adec5d01fbb7a0c45477a8 --- /dev/null +++ b/message-queue-example/rocketmq-example/src/main/java/com/opensource/simple/SyncProducer.java @@ -0,0 +1,29 @@ +package com.opensource.simple; + +import org.apache.rocketmq.client.producer.DefaultMQProducer; +import org.apache.rocketmq.client.producer.SendResult; +import org.apache.rocketmq.common.message.Message; +import org.apache.rocketmq.remoting.common.RemotingHelper; + +public class SyncProducer { + public static void main(String[] args) throws Exception { + // Initialize a producer and set the Producer group name + DefaultMQProducer producer = new DefaultMQProducer("please_rename_unique_group_name"); //(1) + // Set the address of NameServer + producer.setNamesrvAddr("localhost:9876"); //(2) + // Start Producer + producer.start(); + for (int i = 0; i < 100; i++) { + // Create a message and set the topic, tag, body and so on. The tag can be understood as a label to categorize the message, and RocketMQ can filter the tag on the consumer side. + Message msg = new Message("TopicTest" /* Topic */, + "TagA" /* Tag */, + ("Hello RocketMQ " + i).getBytes(RemotingHelper.DEFAULT_CHARSET) /* Message body */ + ); //(3) + // Use the producer to send and wait for the result of sending synchronously + SendResult sendResult = producer.send(msg); //(4) + System.out.printf("%s%n", sendResult); + } + // Close the producer once it is no longer in use + producer.shutdown(); + } +} \ No newline at end of file diff --git a/message-queue-example/src/main/java/com/rocketmq/example/vo/AccountVo.java b/message-queue-example/rocketmq-example/src/main/java/com/opensource/vo/AccountVo.java similarity index 93% rename from message-queue-example/src/main/java/com/rocketmq/example/vo/AccountVo.java rename to message-queue-example/rocketmq-example/src/main/java/com/opensource/vo/AccountVo.java index 496f16b0ec9752bb03ccda7046f52bc9edd71560..a319e54558e29bccf6040b08f236a433c3d5ebdb 100644 --- a/message-queue-example/src/main/java/com/rocketmq/example/vo/AccountVo.java +++ b/message-queue-example/rocketmq-example/src/main/java/com/opensource/vo/AccountVo.java @@ -1,4 +1,4 @@ -package com.rocketmq.example.vo; +package com.opensource.vo; import lombok.Data; import lombok.EqualsAndHashCode; diff --git a/message-queue-example/src/main/java/com/rocketmq/example/vo/OrderVo.java b/message-queue-example/rocketmq-example/src/main/java/com/opensource/vo/OrderVo.java similarity index 87% rename from message-queue-example/src/main/java/com/rocketmq/example/vo/OrderVo.java rename to message-queue-example/rocketmq-example/src/main/java/com/opensource/vo/OrderVo.java index 1161590d07f7e9bf25bbf3473f989a153b90b1a8..446df0eb3570b79f18c0370acb09ad1156b309d3 100644 --- a/message-queue-example/src/main/java/com/rocketmq/example/vo/OrderVo.java +++ b/message-queue-example/rocketmq-example/src/main/java/com/opensource/vo/OrderVo.java @@ -1,4 +1,4 @@ -package com.rocketmq.example.vo; +package com.opensource.vo; import lombok.Data; diff --git a/message-queue-example/src/main/java/com/rocketmq/example/vo/ProductVo.java b/message-queue-example/rocketmq-example/src/main/java/com/opensource/vo/ProductVo.java similarity index 86% rename from message-queue-example/src/main/java/com/rocketmq/example/vo/ProductVo.java rename to message-queue-example/rocketmq-example/src/main/java/com/opensource/vo/ProductVo.java index f0e2ac6b4730b6ff39d86c485e7c689ced18982a..8144115ce15e616ac6159252cd3afa0884e773fb 100644 --- a/message-queue-example/src/main/java/com/rocketmq/example/vo/ProductVo.java +++ b/message-queue-example/rocketmq-example/src/main/java/com/opensource/vo/ProductVo.java @@ -1,4 +1,4 @@ -package com.rocketmq.example.vo; +package com.opensource.vo; import lombok.Data; diff --git a/message-queue-example/src/main/java/com/rocketmq/example/web/OrderRocketController.java b/message-queue-example/rocketmq-example/src/main/java/com/opensource/web/OrderRocketController.java similarity index 95% rename from message-queue-example/src/main/java/com/rocketmq/example/web/OrderRocketController.java rename to message-queue-example/rocketmq-example/src/main/java/com/opensource/web/OrderRocketController.java index 2919686fee1dc6a91a8d09090777dc03a44a30a4..5f59cf4e11e8c1ce40524849833f1810834640f9 100644 --- a/message-queue-example/src/main/java/com/rocketmq/example/web/OrderRocketController.java +++ b/message-queue-example/rocketmq-example/src/main/java/com/opensource/web/OrderRocketController.java @@ -1,11 +1,12 @@ -package com.rocketmq.example.web; +package com.opensource.web; -import com.common.service.IOrderService; -import com.rocketmq.example.vo.AccountVo; +import com.opensource.common.service.IOrderService; +import com.opensource.vo.AccountVo; import com.saturday.common.exception.BusinessException; import com.saturday.common.model.vo.ResponseVO; import com.saturday.common.util.ResultUtils; +import jakarta.annotation.Resource; import lombok.extern.slf4j.Slf4j; import org.apache.rocketmq.client.exception.MQClientException; import org.apache.rocketmq.client.producer.*; @@ -16,7 +17,6 @@ import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; -import javax.annotation.Resource; @RestController @Slf4j diff --git a/message-queue-example/src/main/java/com/rocketmq/example/web/OrderSpringRocketController.java b/message-queue-example/rocketmq-example/src/main/java/com/opensource/web/OrderSpringRocketController.java similarity index 97% rename from message-queue-example/src/main/java/com/rocketmq/example/web/OrderSpringRocketController.java rename to message-queue-example/rocketmq-example/src/main/java/com/opensource/web/OrderSpringRocketController.java index 3853effc190dee4baf08f0cd4952e76381f9dbdc..5d9b69561b2a94a3f1d4aed3d0857594364cce2f 100644 --- a/message-queue-example/src/main/java/com/rocketmq/example/web/OrderSpringRocketController.java +++ b/message-queue-example/rocketmq-example/src/main/java/com/opensource/web/OrderSpringRocketController.java @@ -1,7 +1,7 @@ -package com.rocketmq.example.web; +package com.opensource.web; -import com.common.service.IOrderService; +import com.opensource.common.service.IOrderService; import lombok.extern.slf4j.Slf4j; import org.apache.rocketmq.client.producer.*; import org.springframework.beans.factory.annotation.Autowired; diff --git a/message-queue-example/rocketmq-example/src/main/resources/application.yml b/message-queue-example/rocketmq-example/src/main/resources/application.yml new file mode 100644 index 0000000000000000000000000000000000000000..0724515acd9067a0571f71a2f67e08cef62e27e3 --- /dev/null +++ b/message-queue-example/rocketmq-example/src/main/resources/application.yml @@ -0,0 +1,34 @@ +server: + port: 7080 + +rocketmq: + name-server: localhost:9876 + producer: + sendMessageTimeout: 300000 + group: order-group +demo: + rocketmq: + objectRequestTopic: objectRequestTopic:tagA + stringRequestTopic: stringRequestTopic:tagA + msgExtTopic: message-ext-topic + transTopic: spring-transaction-topic + bytesRequestTopic: bytesRequestTopic:tagA + orderTopic: order-paid-topic + topic: string-topic + extNameServer: 127.0.0.1:9876 + genericRequestTopic: genericRequestTopic:tagA + +mybatis: + mapper-locations: classpath:/mapper/*.xml + type-aliases-package: com.common.entity.* + +spring: + datasource: + password: + username: root + url: jdbc:mysql://localhost:3306/cloud_demo?useSSL=false&serverTimezone=UTC + driver-class-name: com.mysql.cj.jdbc.Driver + rabbitmq: + addresses: 127.0.0.1:5672 + username: guest + password: guest diff --git a/message-queue-example/rocketmq-example/src/main/resources/mapper/AccountTblMapper.xml b/message-queue-example/rocketmq-example/src/main/resources/mapper/AccountTblMapper.xml new file mode 100644 index 0000000000000000000000000000000000000000..5f5a10c9e6286eac1e67da28e100ac9ad66757d5 --- /dev/null +++ b/message-queue-example/rocketmq-example/src/main/resources/mapper/AccountTblMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/message-queue-example/src/main/resources/mapper/AccountTblMapper.xml b/message-queue-example/rocketmq-example/src/main/resources/mapper/OrderTblMapper.xml similarity index 72% rename from message-queue-example/src/main/resources/mapper/AccountTblMapper.xml rename to message-queue-example/rocketmq-example/src/main/resources/mapper/OrderTblMapper.xml index 9d72ca740455b1315c8d41e74cf80c06b4474a0a..a63f4038aad87ebe2e87781c2064f116352cdc44 100644 --- a/message-queue-example/src/main/resources/mapper/AccountTblMapper.xml +++ b/message-queue-example/rocketmq-example/src/main/resources/mapper/OrderTblMapper.xml @@ -1,5 +1,5 @@ - + diff --git a/message-queue-example/src/main/java/com/rocketmq/example/ConsumerConfig.java b/message-queue-example/src/main/java/com/rocketmq/example/ConsumerConfig.java deleted file mode 100644 index 063850d2bc42f46eb6c739ba4bee392854be50d9..0000000000000000000000000000000000000000 --- a/message-queue-example/src/main/java/com/rocketmq/example/ConsumerConfig.java +++ /dev/null @@ -1,111 +0,0 @@ -package com.rocketmq.example; - -import com.rocketmq.example.consumer.RocketAccountConsumerService; -import lombok.extern.slf4j.Slf4j; -import org.apache.rocketmq.client.consumer.DefaultLitePullConsumer; -import org.apache.rocketmq.client.consumer.DefaultMQPushConsumer; -import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyContext; -import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyStatus; -import org.apache.rocketmq.client.consumer.listener.MessageListenerConcurrently; -import org.apache.rocketmq.client.exception.MQClientException; -import org.apache.rocketmq.common.consumer.ConsumeFromWhere; -import org.apache.rocketmq.common.message.MessageExt; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.util.CollectionUtils; - -import java.util.List; - -@Configuration -@Slf4j -public class ConsumerConfig { - - @Value("${rocketmq.name-server}") - private String nameServer; - - @Autowired - private RocketAccountConsumerService accountConsumerService; - - @Bean - public DefaultMQPushConsumer traceTopicConsumer() throws MQClientException { - DefaultMQPushConsumer consumer = new DefaultMQPushConsumer("trace-topic-consumer-group", true); - consumer.setNamesrvAddr(nameServer); - consumer.subscribe("trace-topic", "*"); - consumer.setConsumeFromWhere(ConsumeFromWhere.CONSUME_FROM_FIRST_OFFSET); - consumer.setConsumeTimestamp("20200722110701"); - consumer.setMessageListener(new MessageListenerConcurrently() { - @Override - public ConsumeConcurrentlyStatus consumeMessage(List list, ConsumeConcurrentlyContext consumeConcurrentlyContext) { - if (!CollectionUtils.isEmpty(list)) { - try { - for (MessageExt messageExt : list) { - log.info("回溯消息:{}", messageExt); - } - } catch (Exception e) { - log.error("处理异常:{}", e); - return ConsumeConcurrentlyStatus.RECONSUME_LATER; - } - } - return ConsumeConcurrentlyStatus.CONSUME_SUCCESS; - } - }); - consumer.start(); - return consumer; - } - - @Bean - public DefaultMQPushConsumer traceConsumer() throws MQClientException { - DefaultMQPushConsumer consumer = new DefaultMQPushConsumer("topic-test-consumer-group", true, "trace-topic"); - consumer.setNamesrvAddr(nameServer); - consumer.subscribe("topic-test", "trace"); -// consumer.setConsumerGroup("topic-test-consumer-group"); - consumer.setConsumeFromWhere(ConsumeFromWhere.CONSUME_FROM_FIRST_OFFSET); -// consumer.setConsumeTimestamp("20200722093001"); - consumer.setMessageListener(new MessageListenerConcurrently() { - @Override - public ConsumeConcurrentlyStatus consumeMessage(List list, ConsumeConcurrentlyContext consumeConcurrentlyContext) { - if (!CollectionUtils.isEmpty(list)) { - try { - for (MessageExt messageExt : list) { - log.info("消费消息:{}", messageExt); - } - } catch (Exception e) { - log.error("处理异常:{}", e); - return ConsumeConcurrentlyStatus.RECONSUME_LATER; - } - } - return ConsumeConcurrentlyStatus.CONSUME_SUCCESS; - } - }); - consumer.start(); - return consumer; - } - - @Bean - public DefaultMQPushConsumer defaultMQPushConsumer() throws MQClientException { - DefaultMQPushConsumer consumer = new DefaultMQPushConsumer(); - consumer.setNamesrvAddr(nameServer); - consumer.subscribe("account1", "*"); - consumer.setConsumerGroup("consumer-group"); - consumer.setMessageListener(accountConsumerService); - consumer.start(); - return consumer; - } - - @Bean - public DefaultLitePullConsumer defaultLitePullConsumer() throws MQClientException { - DefaultLitePullConsumer pullConsumer = new DefaultLitePullConsumer(); - pullConsumer.setNamesrvAddr(nameServer); - pullConsumer.subscribe("topic-test", "trace"); - while (true) { -// pullConsumer. - } -// pullConsumer. -// pullConsumer.start(); -// log.info("defaultLitePullConsumer is started..."); -// return pullConsumer; - } - -} diff --git a/message-queue-example/src/main/java/com/rocketmq/example/consumer/StorageService.java b/message-queue-example/src/main/java/com/rocketmq/example/consumer/StorageService.java deleted file mode 100644 index 24659fe37bd9b9dae2418609fe4f5eedf83152de..0000000000000000000000000000000000000000 --- a/message-queue-example/src/main/java/com/rocketmq/example/consumer/StorageService.java +++ /dev/null @@ -1,17 +0,0 @@ -//package com.rocketmq.example.consumer; -// -//import lombok.extern.slf4j.Slf4j; -//import org.apache.rocketmq.spring.annotation.RocketMQMessageListener; -//import org.apache.rocketmq.spring.core.RocketMQListener; -//import org.springframework.stereotype.Service; -// -//@Service -//@RocketMQMessageListener(topic = "${demo.rocketmq.orderTopic}", consumerGroup = "storage-group2") -//@Slf4j -//public class StorageService implements RocketMQListener { -// @Override -// public void onMessage(String s) { -// log.info("扣库存:{}", s); -// -// } -//} diff --git a/message-queue-example/src/main/java/com/rocketmq/example/web/JsonController.java b/message-queue-example/src/main/java/com/rocketmq/example/web/JsonController.java deleted file mode 100644 index 80521babd48f38920be721900afaeaa6490e4f03..0000000000000000000000000000000000000000 --- a/message-queue-example/src/main/java/com/rocketmq/example/web/JsonController.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.rocketmq.example.web; - -import cn.hutool.json.JSONUtil; -import com.rocketmq.example.vo.ProductVo; -import lombok.Data; -import lombok.extern.slf4j.Slf4j; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RestController; - -import java.util.List; - -@RestController -@Slf4j -public class JsonController { - - @PostMapping("/demo") - public Object test(@RequestBody Demo demo) { - log.info("参数:{}", JSONUtil.toJsonStr(demo)); - return "xxxx"; - } - - @Data - static class Demo { - - private String name; - - private String age; - - private List products; - - } - -} diff --git a/mybatis-generator-demo/src/main/java/com/example/springdemo/mybatis/CodeGenerator.java b/mybatis-generator-demo/src/main/java/com/example/springdemo/mybatis/CodeGenerator.java index af1951b60c9e95778498e8e24ee45304bce962b8..9ae29d38c12a6c7f44ca1f03c1f5e660c36a4981 100644 --- a/mybatis-generator-demo/src/main/java/com/example/springdemo/mybatis/CodeGenerator.java +++ b/mybatis-generator-demo/src/main/java/com/example/springdemo/mybatis/CodeGenerator.java @@ -1,118 +1,118 @@ -package com.example.springdemo.mybatis; - -import com.baomidou.mybatisplus.core.exceptions.MybatisPlusException; -import com.baomidou.mybatisplus.core.toolkit.StringPool; -import com.baomidou.mybatisplus.core.toolkit.StringUtils; -import com.baomidou.mybatisplus.generator.AutoGenerator; -import com.baomidou.mybatisplus.generator.InjectionConfig; -import com.baomidou.mybatisplus.generator.config.*; -import com.baomidou.mybatisplus.generator.config.po.TableInfo; -import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy; -import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine; - -import java.util.ArrayList; -import java.util.List; -import java.util.Scanner; - -public class CodeGenerator { - - /** - *

- * 读取控制台内容 - *

- */ - public static String scanner(String tip) { - Scanner scanner = new Scanner(System.in); - StringBuilder help = new StringBuilder(); - help.append("请输入" + tip + ":"); - System.out.println(help.toString()); - if (scanner.hasNext()) { - String ipt = scanner.next(); - if (StringUtils.isNotEmpty(ipt)) { - return ipt; - } - } - throw new MybatisPlusException("请输入正确的" + tip + "!"); - } - - public static void main(String[] args) { - // 代码生成器 - AutoGenerator mpg = new AutoGenerator(); - - // 全局配置 - GlobalConfig gc = new GlobalConfig(); - String projectPath = System.getProperty("user.dir"); - gc.setOutputDir(projectPath + "/src/main/java"); - gc.setAuthor("wanggd"); - gc.setOpen(false); - // gc.setSwagger2(true); 实体属性 Swagger2 注解 - mpg.setGlobalConfig(gc); - - // 数据源配置 - DataSourceConfig dsc = new DataSourceConfig(); - dsc.setUrl("jdbc:mysql://localhost:3306/chat-app?useUnicode=true&useSSL=false&characterEncoding=utf8&serverTimezone=UTC"); - // dsc.setSchemaName("public"); - dsc.setDriverName("com.mysql.cj.jdbc.Driver"); - dsc.setUsername("root"); - dsc.setPassword("123456"); - mpg.setDataSource(dsc); - - // 包配置 - PackageConfig pc = new PackageConfig(); - pc.setModuleName(scanner("模块名")); - pc.setParent("com"); - mpg.setPackageInfo(pc); - - // 自定义配置 - InjectionConfig cfg = new InjectionConfig() { - @Override - public void initMap() { - // to do nothing - } - }; - - // 如果模板引擎是 freemarker - String templatePath = "/templates/mapper.xml.ftl"; - // 如果模板引擎是 velocity - // String templatePath = "/templates/mapper.xml.vm"; - - // 自定义输出配置 - List focList = new ArrayList<>(); - // 自定义配置会被优先输出 - focList.add(new FileOutConfig(templatePath) { - @Override - public String outputFile(TableInfo tableInfo) { - // 自定义输出文件名 , 如果你 Entity 设置了前后缀、此处注意 xml 的名称会跟着发生变化!! - return projectPath + "/src/main/resources/mapper/" + pc.getModuleName() - + "/" + tableInfo.getEntityName() + "Mapper" + StringPool.DOT_XML; - } - }); - - cfg.setFileOutConfigList(focList); - mpg.setCfg(cfg); - - // 配置模板 - TemplateConfig templateConfig = new TemplateConfig(); - - templateConfig.setXml(null); - mpg.setTemplate(templateConfig); - - // 策略配置 - StrategyConfig strategy = new StrategyConfig(); - strategy.setNaming(NamingStrategy.underline_to_camel); - strategy.setColumnNaming(NamingStrategy.underline_to_camel); -// strategy.setSuperEntityClass("com.example.springdemo.common.BaseEntity"); - strategy.setEntityLombokModel(true); - strategy.setRestControllerStyle(true); - // 公共父类 -// strategy.setSuperControllerClass("com.baomidou.ant.common.BaseController"); - // 写于父类中的公共字段 - strategy.setSuperEntityColumns("id"); - strategy.setInclude(scanner("表名,多个英文逗号分割").split(",")); - strategy.setControllerMappingHyphenStyle(true); - strategy.setTablePrefix(pc.getModuleName() + "_"); - mpg.setStrategy(strategy); - mpg.setTemplateEngine(new FreemarkerTemplateEngine()); - mpg.execute(); - } -} +//package com.example.springdemo.mybatis; +// +//import com.baomidou.mybatisplus.core.exceptions.MybatisPlusException; +//import com.baomidou.mybatisplus.core.toolkit.StringPool; +//import com.baomidou.mybatisplus.core.toolkit.StringUtils; +//import com.baomidou.mybatisplus.generator.AutoGenerator; +//import com.baomidou.mybatisplus.generator.InjectionConfig; +//import com.baomidou.mybatisplus.generator.config.*; +//import com.baomidou.mybatisplus.generator.config.po.TableInfo; +//import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy; +//import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine; +// +//import java.util.ArrayList; +//import java.util.List; +//import java.util.Scanner; +// +//public class CodeGenerator { +// +// /** +// *

+// * 读取控制台内容 +// *

+// */ +// public static String scanner(String tip) { +// Scanner scanner = new Scanner(System.in); +// StringBuilder help = new StringBuilder(); +// help.append("请输入" + tip + ":"); +// System.out.println(help.toString()); +// if (scanner.hasNext()) { +// String ipt = scanner.next(); +// if (StringUtils.isNotEmpty(ipt)) { +// return ipt; +// } +// } +// throw new MybatisPlusException("请输入正确的" + tip + "!"); +// } +// +// public static void main(String[] args) { +// // 代码生成器 +// AutoGenerator mpg = new AutoGenerator(); +// +// // 全局配置 +// GlobalConfig gc = new GlobalConfig(); +// String projectPath = System.getProperty("user.dir"); +// gc.setOutputDir(projectPath + "/src/main/java"); +// gc.setAuthor("wanggd"); +// gc.setOpen(false); +// // gc.setSwagger2(true); 实体属性 Swagger2 注解 +// mpg.setGlobalConfig(gc); +// +// // 数据源配置 +// DataSourceConfig dsc = new DataSourceConfig(); +// dsc.setUrl("jdbc:mysql://localhost:3306/chat-app?useUnicode=true&useSSL=false&characterEncoding=utf8&serverTimezone=UTC"); +// // dsc.setSchemaName("public"); +// dsc.setDriverName("com.mysql.cj.jdbc.Driver"); +// dsc.setUsername("root"); +// dsc.setPassword("123456"); +// mpg.setDataSource(dsc); +// +// // 包配置 +// PackageConfig pc = new PackageConfig(); +// pc.setModuleName(scanner("模块名")); +// pc.setParent("com"); +// mpg.setPackageInfo(pc); +// +// // 自定义配置 +// InjectionConfig cfg = new InjectionConfig() { +// @Override +// public void initMap() { +// // to do nothing +// } +// }; +// +// // 如果模板引擎是 freemarker +// String templatePath = "/templates/mapper.xml.ftl"; +// // 如果模板引擎是 velocity +// // String templatePath = "/templates/mapper.xml.vm"; +// +// // 自定义输出配置 +// List focList = new ArrayList<>(); +// // 自定义配置会被优先输出 +// focList.add(new FileOutConfig(templatePath) { +// @Override +// public String outputFile(TableInfo tableInfo) { +// // 自定义输出文件名 , 如果你 Entity 设置了前后缀、此处注意 xml 的名称会跟着发生变化!! +// return projectPath + "/src/main/resources/mapper/" + pc.getModuleName() +// + "/" + tableInfo.getEntityName() + "Mapper" + StringPool.DOT_XML; +// } +// }); +// +// cfg.setFileOutConfigList(focList); +// mpg.setCfg(cfg); +// +// // 配置模板 +// TemplateConfig templateConfig = new TemplateConfig(); +// +// templateConfig.setXml(null); +// mpg.setTemplate(templateConfig); +// +// // 策略配置 +// StrategyConfig strategy = new StrategyConfig(); +// strategy.setNaming(NamingStrategy.underline_to_camel); +// strategy.setColumnNaming(NamingStrategy.underline_to_camel); +//// strategy.setSuperEntityClass("com.example.springdemo.common.BaseEntity"); +// strategy.setEntityLombokModel(true); +// strategy.setRestControllerStyle(true); +// // 公共父类 +//// strategy.setSuperControllerClass("com.baomidou.ant.common.BaseController"); +// // 写于父类中的公共字段 +// strategy.setSuperEntityColumns("id"); +// strategy.setInclude(scanner("表名,多个英文逗号分割").split(",")); +// strategy.setControllerMappingHyphenStyle(true); +// strategy.setTablePrefix(pc.getModuleName() + "_"); +// mpg.setStrategy(strategy); +// mpg.setTemplateEngine(new FreemarkerTemplateEngine()); +// mpg.execute(); +// } +//} diff --git a/pom.xml b/pom.xml index b84bbd8ae32edb562c729fd03a90c0295d3a22ca..a5ecafed80ba9525fb3eb064d5f958dd423b0a21 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ com.saturday saturday-parent - 1.0.0-SNAPSHOT + 1.1.0-SNAPSHOT 4.0.0 @@ -32,8 +32,8 @@ Demo project for Spring Boot - 1.8 - 1.0.0-SNAPSHOT + 17 + 1.1.0-SNAPSHOT 2.6 1.1.23 1.2 @@ -75,7 +75,7 @@ org.springframework.cloud spring-cloud-starter-netflix-zuul - 2.2.6.RELEASE + 4.0.0 @@ -87,7 +87,7 @@ org.springframework.cloud spring-cloud-starter-netflix-eureka-server - 2.2.6.RELEASE + 4.0.0 diff --git a/spring-cloud-learn/gateway-server/src/main/java/com/gateway/GatewayServerApplication.java b/spring-cloud-learn/gateway-server/src/main/java/com/gateway/GatewayServerApplication.java index 3c94c4a143e3bbeee10ce592f5638a93ebd12001..a4b2fba8f15e1d763c761918e4b55a01e5352e97 100644 --- a/spring-cloud-learn/gateway-server/src/main/java/com/gateway/GatewayServerApplication.java +++ b/spring-cloud-learn/gateway-server/src/main/java/com/gateway/GatewayServerApplication.java @@ -3,14 +3,14 @@ package com.gateway; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.client.discovery.EnableDiscoveryClient; -import org.springframework.cloud.netflix.eureka.EnableEurekaClient; + import org.springframework.web.bind.annotation.RestController; /** * @author Kevin */ @SpringBootApplication -@EnableEurekaClient + @EnableDiscoveryClient @RestController public class GatewayServerApplication { diff --git a/spring-cloud-learn/hystrix-dashboard-server/src/main/java/com/hystrix/HystrixDashboardServerApplication.java b/spring-cloud-learn/hystrix-dashboard-server/src/main/java/com/hystrix/HystrixDashboardServerApplication.java index 7d749672b11ae75355de93cf1738f7dad9d9de56..8d8e1a50cd6856b4c570c0c42e9a67fa24e05329 100644 --- a/spring-cloud-learn/hystrix-dashboard-server/src/main/java/com/hystrix/HystrixDashboardServerApplication.java +++ b/spring-cloud-learn/hystrix-dashboard-server/src/main/java/com/hystrix/HystrixDashboardServerApplication.java @@ -2,14 +2,14 @@ package com.hystrix; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.cloud.netflix.eureka.EnableEurekaClient; + import org.springframework.cloud.netflix.hystrix.dashboard.EnableHystrixDashboard; /** * @author Kevin */ @SpringBootApplication -@EnableEurekaClient + @EnableHystrixDashboard public class HystrixDashboardServerApplication { diff --git a/spring-cloud-learn/order-server/pom.xml b/spring-cloud-learn/order-server/pom.xml index 2019648422af87edc365be370e14d54c0bee2cee..644dddf4a45e0febed043bafa92d23d2c808b790 100644 --- a/spring-cloud-learn/order-server/pom.xml +++ b/spring-cloud-learn/order-server/pom.xml @@ -54,10 +54,10 @@ spring-cloud-starter-openfeign - - org.springframework.boot - spring-boot-starter-test - + + + + com.baomidou diff --git a/spring-cloud-learn/order-server/src/main/java/com/order/OrderApplication.java b/spring-cloud-learn/order-server/src/main/java/com/order/OrderApplication.java index 5296e0177969fef5778e4ab97d5fb41c36d5a990..ac8909e955caa05091c85c14e6956a00417f9dd0 100644 --- a/spring-cloud-learn/order-server/src/main/java/com/order/OrderApplication.java +++ b/spring-cloud-learn/order-server/src/main/java/com/order/OrderApplication.java @@ -2,9 +2,8 @@ package com.order; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.cloud.client.circuitbreaker.EnableCircuitBreaker; import org.springframework.cloud.client.loadbalancer.LoadBalanced; -import org.springframework.cloud.netflix.eureka.EnableEurekaClient; + import org.springframework.cloud.openfeign.EnableFeignClients; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; @@ -17,7 +16,7 @@ import org.springframework.web.client.RestTemplate; */ @SpringBootApplication @ComponentScans(value = {@ComponentScan("com.order.**"), @ComponentScan("com.saturday.**")}) -@EnableEurekaClient + @EnableAspectJAutoProxy @EnableFeignClients public class OrderApplication { diff --git a/spring-cloud-learn/system-server/system-server-web/pom.xml b/spring-cloud-learn/system-server/system-server-web/pom.xml index 14f3be5898158c4019417a31b7de9f4522630548..d1cd1c93159d74ad1cf60390a0c3508438b07677 100644 --- a/spring-cloud-learn/system-server/system-server-web/pom.xml +++ b/spring-cloud-learn/system-server/system-server-web/pom.xml @@ -52,10 +52,10 @@ spring-boot-starter-actuator - - org.springframework.cloud - spring-cloud-starter-sleuth - + + + +
diff --git a/spring-cloud-learn/system-server/system-server-web/src/main/java/com/system/SystemApplication.java b/spring-cloud-learn/system-server/system-server-web/src/main/java/com/system/SystemApplication.java index b7b168e4b20d26a98277ccc030cfdec1fbfe9ffb..fce9a6a7dd91e00d6d4ae1765aa032a1823e4f95 100644 --- a/spring-cloud-learn/system-server/system-server-web/src/main/java/com/system/SystemApplication.java +++ b/spring-cloud-learn/system-server/system-server-web/src/main/java/com/system/SystemApplication.java @@ -2,12 +2,10 @@ package com.system; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.cloud.netflix.eureka.EnableEurekaClient; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.ComponentScans; @SpringBootApplication -@EnableEurekaClient @ComponentScans(value = {@ComponentScan("com.system.**"), @ComponentScan("com.saturday.**")}) public class SystemApplication { diff --git a/spring-cloud-learn/turbine-stream-server/src/main/java/com/turbine/TurbineStreamServerApplication.java b/spring-cloud-learn/turbine-stream-server/src/main/java/com/turbine/TurbineStreamServerApplication.java index 70cf82cdaed2a03ea74c45c3de2dc1aaeb92b12b..c576ccf3de8ec26eb6dedd607cd37eee99516ea0 100644 --- a/spring-cloud-learn/turbine-stream-server/src/main/java/com/turbine/TurbineStreamServerApplication.java +++ b/spring-cloud-learn/turbine-stream-server/src/main/java/com/turbine/TurbineStreamServerApplication.java @@ -2,7 +2,7 @@ package com.turbine; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.cloud.netflix.eureka.EnableEurekaClient; + import org.springframework.cloud.netflix.turbine.EnableTurbine; /** @@ -10,7 +10,7 @@ import org.springframework.cloud.netflix.turbine.EnableTurbine; */ @SpringBootApplication @EnableTurbine -@EnableEurekaClient + public class TurbineStreamServerApplication { public static void main(String[] args) { diff --git a/spring-cloud-learn/user-server/pom.xml b/spring-cloud-learn/user-server/pom.xml index 086350330b2f593543590bbe82c8b2d4a8885934..c939ed1ad67b8e728b1784801fb072c37a7cb86d 100644 --- a/spring-cloud-learn/user-server/pom.xml +++ b/spring-cloud-learn/user-server/pom.xml @@ -50,16 +50,16 @@ spring-boot-starter-actuator - - org.springframework.cloud - spring-cloud-starter-sleuth - - - - org.springframework.cloud - spring-cloud-starter-zipkin - 2.2.7.RELEASE - + + + + + + + + + + org.springframework.cloud diff --git a/spring-cloud-learn/user-server/src/main/java/com/user/UserApplication.java b/spring-cloud-learn/user-server/src/main/java/com/user/UserApplication.java index 442d81466876e38f761fff9f7b4e2eb12dcbb0e1..d1ac018b1f93c16d2c64fe5bcc3fb7ea80c64268 100644 --- a/spring-cloud-learn/user-server/src/main/java/com/user/UserApplication.java +++ b/spring-cloud-learn/user-server/src/main/java/com/user/UserApplication.java @@ -1,8 +1,9 @@ package com.user; +import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.cloud.netflix.eureka.EnableEurekaClient; + import org.springframework.cloud.openfeign.EnableFeignClients; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.ComponentScans; @@ -13,9 +14,9 @@ import org.springframework.context.annotation.EnableAspectJAutoProxy; */ @SpringBootApplication @ComponentScans(value = {@ComponentScan("com.user.**"), @ComponentScan("com.saturday.**")}) -@EnableEurekaClient @EnableAspectJAutoProxy @EnableFeignClients(basePackages = {"com.system.api.**"}) +@MapperScan("com.user.mapper.**") public class UserApplication { public static void main(String[] args) { SpringApplication.run(UserApplication.class); diff --git a/spring-cloud-learn/user-server/src/main/java/com/user/controller/TestController.java b/spring-cloud-learn/user-server/src/main/java/com/user/controller/TestController.java index 005ffb078d66d60640c2aba03fbe82cac3f58daa..196bb63dabcf4da04c65ed9f4caf3df33e07a399 100644 --- a/spring-cloud-learn/user-server/src/main/java/com/user/controller/TestController.java +++ b/spring-cloud-learn/user-server/src/main/java/com/user/controller/TestController.java @@ -1,13 +1,19 @@ package com.user.controller; +import com.baomidou.mybatisplus.extension.service.IService; import com.saturday.common.util.ResultUtils; import com.user.controller.vo.TestParamVo; +import com.user.service.impl.UserInfoServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; +import java.util.List; +import java.util.Map; + /** * @author Kevin */ @@ -17,8 +23,20 @@ public class TestController { @Value("${server.port}") private String port; + @Autowired + private Map services; + + @Autowired + private List serviceList; + +// @Autowired +// private Map seviceMap; + @GetMapping("/test") public Object invokeUserServer() { + Class aClass = serviceList.get(0).getClass(); + System.out.println(aClass.equals(UserInfoServiceImpl.class)); + System.out.println(serviceList.get(0) instanceof UserInfoServiceImpl); return ResultUtils.success("user-server:" + port); } @@ -27,5 +45,10 @@ public class TestController { return ResultUtils.success(testParamVo); } + @PostMapping("/hello") + public Object hello(@RequestBody Map param){ + return ResultUtils.success(param); + } + } diff --git a/spring-cloud-learn/user-server/src/main/resources/application.properties b/spring-cloud-learn/user-server/src/main/resources/application.properties index efea45877c717976a95fc9216814b0511267741e..d18fadff9c39cd8800244b797e537c8ad9d00dda 100644 --- a/spring-cloud-learn/user-server/src/main/resources/application.properties +++ b/spring-cloud-learn/user-server/src/main/resources/application.properties @@ -9,9 +9,13 @@ spring.datasource.username=root spring.datasource.url=jdbc:mysql://localhost:3306/cloud_demo?useSSL=false&serverTimezone=UTC spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver +logging.level.com.user.mapper=debug + mybatis.mapper-locations=classpath:/mapper/*.xml mybatis.type-aliases-package=com.user.entity.* +mybatis-plus.configuration.cache-enabled=true + app.id=UserServer apollo.meta=http://localhost:8080 diff --git a/spring-cloud-learn/user-server/src/main/resources/application.yml b/spring-cloud-learn/user-server/src/main/resources/application.yml new file mode 100644 index 0000000000000000000000000000000000000000..ef9b6cf385ceec9acbd04155796533991c824f75 --- /dev/null +++ b/spring-cloud-learn/user-server/src/main/resources/application.yml @@ -0,0 +1,4 @@ +mybatis-plus: + configuration: + cache-enabled: true + diff --git a/spring-cloud-learn/user-server/src/test/java/com/account/test/service/UserServiceTest.java b/spring-cloud-learn/user-server/src/test/java/com/account/test/service/UserServiceTest.java index ea618a8a9cbd7c12134fb26bd45054a7b17d9419..831e133e778b915247b9f9015995e4b292b67596 100644 --- a/spring-cloud-learn/user-server/src/test/java/com/account/test/service/UserServiceTest.java +++ b/spring-cloud-learn/user-server/src/test/java/com/account/test/service/UserServiceTest.java @@ -1,5 +1,6 @@ package com.account.test.service; +import com.user.UserApplication; import com.user.entity.UserInfo; import com.user.service.IUserInfoService; import lombok.extern.slf4j.Slf4j; @@ -11,7 +12,7 @@ import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; @RunWith(SpringRunner.class) -@SpringBootTest +@SpringBootTest(classes = UserApplication.class) @Slf4j public class UserServiceTest { @@ -19,10 +20,15 @@ public class UserServiceTest { private IUserInfoService userInfoService; @Test - public void getUserById(){ + public void getUserById() { UserInfo userInfo = userInfoService.getById(1); Assert.assertNotNull(userInfo); - log.info("结果:{}",userInfo); + log.info("结果:{}", userInfo); + } + + @Test + public void testList() { + userInfoService.list(); } } diff --git a/spring-cloud-learn/zuul-server/src/main/java/com/gateway/GatewayApplication.java b/spring-cloud-learn/zuul-server/src/main/java/com/gateway/GatewayApplication.java index 4055b847f0cd3d3dcd4b1997362e03f72527950f..3cdace4d8e3971e0b56fd78b49990e004cd0b35e 100644 --- a/spring-cloud-learn/zuul-server/src/main/java/com/gateway/GatewayApplication.java +++ b/spring-cloud-learn/zuul-server/src/main/java/com/gateway/GatewayApplication.java @@ -1,53 +1,54 @@ -package com.gateway; - -import com.netflix.hystrix.contrib.metrics.eventstream.HystrixMetricsStreamServlet; -import com.netflix.zuul.ZuulFilter; -import com.netflix.zuul.filters.FilterRegistry; -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.boot.web.servlet.ServletRegistrationBean; -import org.springframework.cloud.netflix.eureka.EnableEurekaClient; -import org.springframework.cloud.netflix.hystrix.EnableHystrix; -import org.springframework.cloud.netflix.zuul.EnableZuulProxy; -import org.springframework.context.annotation.Bean; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -import java.util.ArrayList; -import java.util.Collection; -import java.util.List; - -@SpringBootApplication -@EnableEurekaClient -@EnableZuulProxy -@RestController -@EnableHystrix -public class GatewayApplication { - public static void main(String[] args) { - SpringApplication.run(GatewayApplication.class); - } - - @RequestMapping("/filters") - public List getDefaultZuulFilters() { - FilterRegistry filterRegistry = FilterRegistry.instance(); - Collection filters = filterRegistry.getAllFilters(); - - List list = new ArrayList<>(); - for (ZuulFilter zuulFilter : filters) { - list.add(zuulFilter.getClass().getCanonicalName()); - } - return list; - } - - @Bean - public ServletRegistrationBean hystrixMetricsStreamServlet() { - ServletRegistrationBean registration = new ServletRegistrationBean(new HystrixMetricsStreamServlet()); - registration.addUrlMappings("/hystrix.stream"); - return registration; - } - - @Bean - public ZuulFilter portFilter() { - return new PortFilter(); - } -} +//package com.gateway; +// +//import com.netflix.hystrix.contrib.metrics.eventstream.HystrixMetricsStreamServlet; +//import com.netflix.zuul.ZuulFilter; +//import com.netflix.zuul.filters.FilterRegistry; +//import jakarta.servlet.Servlet; +//import org.springframework.boot.SpringApplication; +//import org.springframework.boot.autoconfigure.SpringBootApplication; +//import org.springframework.boot.web.servlet.ServletRegistrationBean; +// +//import org.springframework.cloud.netflix.hystrix.EnableHystrix; +//import org.springframework.cloud.netflix.zuul.EnableZuulProxy; +//import org.springframework.context.annotation.Bean; +//import org.springframework.web.bind.annotation.RequestMapping; +//import org.springframework.web.bind.annotation.RestController; +// +//import java.util.ArrayList; +//import java.util.Collection; +//import java.util.List; +// +//@SpringBootApplication +// +//@EnableZuulProxy +//@RestController +//@EnableHystrix +//public class GatewayApplication { +// public static void main(String[] args) { +// SpringApplication.run(GatewayApplication.class); +// } +// +// @RequestMapping("/filters") +// public List getDefaultZuulFilters() { +// FilterRegistry filterRegistry = FilterRegistry.instance(); +// Collection filters = filterRegistry.getAllFilters(); +// +// List list = new ArrayList<>(); +// for (ZuulFilter zuulFilter : filters) { +// list.add(zuulFilter.getClass().getCanonicalName()); +// } +// return list; +// } +// +// @Bean +// public ServletRegistrationBean hystrixMetricsStreamServlet() { +// ServletRegistrationBean registration = new ServletRegistrationBean((Servlet) new HystrixMetricsStreamServlet()); +// registration.addUrlMappings("/hystrix.stream"); +// return registration; +// } +// +// @Bean +// public ZuulFilter portFilter() { +// return new PortFilter(); +// } +//} diff --git a/spring-cloud-seata/seata-account-server/src/main/java/com/account/AccountApplication.java b/spring-cloud-seata/seata-account-server/src/main/java/com/account/AccountApplication.java index ac2eb83156b255c4692036926a8c5860cc4f0d39..2f1158eea7aac704cebbbca3e5f5974564b54b8b 100644 --- a/spring-cloud-seata/seata-account-server/src/main/java/com/account/AccountApplication.java +++ b/spring-cloud-seata/seata-account-server/src/main/java/com/account/AccountApplication.java @@ -6,7 +6,6 @@ import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; import org.springframework.cloud.client.loadbalancer.LoadBalanced; -import org.springframework.cloud.netflix.eureka.EnableEurekaClient; import org.springframework.cloud.openfeign.EnableFeignClients; import org.springframework.context.annotation.*; import org.springframework.web.client.RestTemplate; @@ -17,7 +16,6 @@ import org.springframework.web.client.RestTemplate; @SpringBootApplication(exclude = {DataSourceAutoConfiguration.class}) //@ComponentScans(value = {@ComponentScan("com.account.**"), @ComponentScan("com.saturday.**")}) @ComponentScan("com.account.**") -@EnableEurekaClient @EnableFeignClients @Import(DataSourceProxyConfiguration.class) @MapperScan("com.account.mapper*") diff --git a/spring-cloud-seata/seata-business-app/src/main/java/com/business/app/BusinessAppApplication.java b/spring-cloud-seata/seata-business-app/src/main/java/com/business/app/BusinessAppApplication.java index 95ab22368a8973df1ae607d5bf0abd3528bb9580..2030cc2b37ef501680d22dc671dedc1200755d6f 100644 --- a/spring-cloud-seata/seata-business-app/src/main/java/com/business/app/BusinessAppApplication.java +++ b/spring-cloud-seata/seata-business-app/src/main/java/com/business/app/BusinessAppApplication.java @@ -2,10 +2,10 @@ package com.business.app; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.cloud.netflix.eureka.EnableEurekaClient; + @SpringBootApplication -@EnableEurekaClient + public class BusinessAppApplication { public static void main(String[] args) { diff --git a/spring-cloud-seata/seata-common/src/main/java/com/seata/common/config/DataSourceProxyConfiguration.java b/spring-cloud-seata/seata-common/src/main/java/com/seata/common/config/DataSourceProxyConfiguration.java index f8baefdca37f8c1cf95db1541c160b0a8ad89369..ef7d34779ad2f169d2ce467f01d63581503ff035 100644 --- a/spring-cloud-seata/seata-common/src/main/java/com/seata/common/config/DataSourceProxyConfiguration.java +++ b/spring-cloud-seata/seata-common/src/main/java/com/seata/common/config/DataSourceProxyConfiguration.java @@ -2,8 +2,8 @@ package com.seata.common.config; import com.baomidou.mybatisplus.core.MybatisConfiguration; import com.baomidou.mybatisplus.core.MybatisXMLLanguageDriver; -import com.baomidou.mybatisplus.extension.plugins.OptimisticLockerInterceptor; -import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor; +//import com.baomidou.mybatisplus.extension.plugins.OptimisticLockerInterceptor; +//import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor; import com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean; import org.apache.ibatis.plugin.Interceptor; import org.apache.ibatis.session.SqlSessionFactory; @@ -44,8 +44,8 @@ public class DataSourceProxyConfiguration { sqlSessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver() .getResources("classpath*:mapper/**Mapper.xml")); sqlSessionFactory.setPlugins(new Interceptor[]{ - new PaginationInterceptor(), - new OptimisticLockerInterceptor() +// new PaginationInterceptor(), +// new OptimisticLockerInterceptor() }); return sqlSessionFactory.getObject(); } diff --git a/spring-cloud-seata/seata-order-server/src/main/java/com/order/OrderApplication.java b/spring-cloud-seata/seata-order-server/src/main/java/com/order/OrderApplication.java index 32685a7e7add2b97a03cb9e941d47f6b4932b2d9..d32a794439edad637441c446b86b1b520ebf93a2 100644 --- a/spring-cloud-seata/seata-order-server/src/main/java/com/order/OrderApplication.java +++ b/spring-cloud-seata/seata-order-server/src/main/java/com/order/OrderApplication.java @@ -5,7 +5,6 @@ import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; import org.springframework.cloud.client.loadbalancer.LoadBalanced; -import org.springframework.cloud.netflix.eureka.EnableEurekaClient; import org.springframework.cloud.openfeign.EnableFeignClients; import org.springframework.context.annotation.*; import org.springframework.web.client.RestTemplate; @@ -16,7 +15,6 @@ import org.springframework.web.client.RestTemplate; @SpringBootApplication(exclude = {DataSourceAutoConfiguration.class}) //@ComponentScans(value = {@ComponentScan("com.order.**"), @ComponentScan("com.saturday.**")}) @ComponentScan("com.order.**") -@EnableEurekaClient @EnableFeignClients @Import(DataSourceProxyConfiguration.class) public class OrderApplication { diff --git a/spring-cloud-seata/seata-storage-server/src/main/java/com/storage/StorageApplication.java b/spring-cloud-seata/seata-storage-server/src/main/java/com/storage/StorageApplication.java index aec13df9938f8974a757780da493c94b92b11a96..dc3d4b4e2fe8c5fe6cfa9ad01afc509c4cf9aaaf 100644 --- a/spring-cloud-seata/seata-storage-server/src/main/java/com/storage/StorageApplication.java +++ b/spring-cloud-seata/seata-storage-server/src/main/java/com/storage/StorageApplication.java @@ -4,7 +4,6 @@ import com.seata.common.config.DataSourceProxyConfiguration; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.client.loadbalancer.LoadBalanced; -import org.springframework.cloud.netflix.eureka.EnableEurekaClient; import org.springframework.cloud.openfeign.EnableFeignClients; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; @@ -17,7 +16,6 @@ import org.springframework.web.client.RestTemplate; @SpringBootApplication //@ComponentScans(value = {@ComponentScan("com.storage.**"), @ComponentScan("com.saturday.**")}) @ComponentScan("com.storage.**") -@EnableEurekaClient @EnableFeignClients @Import(DataSourceProxyConfiguration.class) public class StorageApplication { diff --git a/spring-elasticsearch/src/main/java/com/elastic/config/RestClientConfig.java b/spring-elasticsearch/src/main/java/com/elastic/config/RestClientConfig.java index 6a6b6f61ce51f5187f6b8170011e394e73347cc3..503f04580cf2eea2a34cf08df28479d7da589900 100644 --- a/spring-elasticsearch/src/main/java/com/elastic/config/RestClientConfig.java +++ b/spring-elasticsearch/src/main/java/com/elastic/config/RestClientConfig.java @@ -3,8 +3,8 @@ package com.elastic.config; import org.elasticsearch.client.RestHighLevelClient; import org.springframework.context.annotation.Configuration; import org.springframework.data.elasticsearch.client.ClientConfiguration; -import org.springframework.data.elasticsearch.client.RestClients; -import org.springframework.data.elasticsearch.config.AbstractElasticsearchConfiguration; +import org.springframework.data.elasticsearch.client.erhlc.AbstractElasticsearchConfiguration; +import org.springframework.data.elasticsearch.client.erhlc.RestClients; @Configuration public class RestClientConfig extends AbstractElasticsearchConfiguration { diff --git a/spring-elasticsearch/src/main/java/com/elastic/controller/DataController.java b/spring-elasticsearch/src/main/java/com/elastic/controller/DataController.java index 07b273e24c7eb09e38fe1b373572bba9c4e1dc6c..ecc43a80dc9a5d3e8bd82b5ea2d912da6f26804a 100644 --- a/spring-elasticsearch/src/main/java/com/elastic/controller/DataController.java +++ b/spring-elasticsearch/src/main/java/com/elastic/controller/DataController.java @@ -2,6 +2,8 @@ package com.elastic.controller; import com.elastic.entity.Book; import org.apache.commons.lang3.StringUtils; +import org.springframework.data.elasticsearch.client.erhlc.NativeSearchQuery; +import org.springframework.data.elasticsearch.client.erhlc.NativeSearchQueryBuilder; import org.springframework.data.elasticsearch.core.ElasticsearchOperations; import org.springframework.data.elasticsearch.core.SearchHitsIterator; import org.springframework.data.elasticsearch.core.mapping.IndexCoordinates; diff --git a/spring-mybatis-multi-db/pom.xml b/spring-mybatis-multi-db/pom.xml index 225c072685f9053bbf395dcfd1fb196b8ad07602..5678ffafb58f3d5e24da5ff715173f354550030c 100644 --- a/spring-mybatis-multi-db/pom.xml +++ b/spring-mybatis-multi-db/pom.xml @@ -10,7 +10,7 @@ 4.0.0 spring-mybatis-multi-db - jar + war @@ -59,6 +59,7 @@ mysql mysql-connector-java + 8.0.29 runtime @@ -75,10 +76,34 @@ com.baomidou mybatis-plus-extension - 3.5.2 + ${mybatis-plus-boot-starter.version} compile + + javax.servlet + javax.servlet-api + 4.0.1 + + + + org.apache.tomcat.embed + tomcat-embed-jasper + + + + + + src/main/webapps + META-INF/resources + + *.* + + + + + + diff --git a/spring-mybatis-multi-db/src/main/java/com/multidb/DbServerApplication.java b/spring-mybatis-multi-db/src/main/java/com/multidb/DbServerApplication.java index 003669e952ec4eb9890b8c518a9e4879c2a53465..bcc1a96cf1e161d4de469616718f5053508a204e 100644 --- a/spring-mybatis-multi-db/src/main/java/com/multidb/DbServerApplication.java +++ b/spring-mybatis-multi-db/src/main/java/com/multidb/DbServerApplication.java @@ -1,5 +1,6 @@ package com.multidb; +import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.ComponentScan; @@ -7,6 +8,7 @@ import org.springframework.context.annotation.ComponentScans; @SpringBootApplication @ComponentScans(value = {@ComponentScan("com.multidb.**"), @ComponentScan("com.saturday.**")}) +@MapperScan("com.multidb.mapper.**") public class DbServerApplication { public static void main(String[] args) { diff --git a/spring-mybatis-multi-db/src/main/java/com/multidb/config/OrderDbConfiguration.java b/spring-mybatis-multi-db/src/main/java/com/multidb/config/OrderDbConfiguration.java index b6746cc44849807e830b130f243d433f4f636162..d619acd4ab2541d4c5b40e755c06bc234ac8c424 100644 --- a/spring-mybatis-multi-db/src/main/java/com/multidb/config/OrderDbConfiguration.java +++ b/spring-mybatis-multi-db/src/main/java/com/multidb/config/OrderDbConfiguration.java @@ -3,6 +3,7 @@ package com.multidb.config; import com.baomidou.mybatisplus.core.MybatisConfiguration; import com.baomidou.mybatisplus.core.MybatisXMLLanguageDriver; import com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean; +import jakarta.annotation.Resource; import org.apache.ibatis.plugin.Interceptor; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.type.JdbcType; @@ -18,7 +19,7 @@ import org.springframework.jdbc.datasource.DataSourceTransactionManager; import org.springframework.stereotype.Component; import org.springframework.transaction.PlatformTransactionManager; -import javax.annotation.Resource; +//import javax.annotation.Resource; import javax.sql.DataSource; @Configuration diff --git a/spring-mybatis-multi-db/src/main/java/com/multidb/config/UserDbConfiguration.java b/spring-mybatis-multi-db/src/main/java/com/multidb/config/UserDbConfiguration.java index 1bd21514be5b5fd39cf0354005394debf11a030b..07f93c9dd7c7189f1390660526b5b978092caf25 100644 --- a/spring-mybatis-multi-db/src/main/java/com/multidb/config/UserDbConfiguration.java +++ b/spring-mybatis-multi-db/src/main/java/com/multidb/config/UserDbConfiguration.java @@ -4,6 +4,7 @@ package com.multidb.config; import com.baomidou.mybatisplus.core.MybatisConfiguration; import com.baomidou.mybatisplus.core.MybatisXMLLanguageDriver; import com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean; +import jakarta.annotation.Resource; import org.apache.ibatis.plugin.Interceptor; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.type.JdbcType; @@ -20,7 +21,7 @@ import org.springframework.jdbc.datasource.DataSourceTransactionManager; import org.springframework.stereotype.Component; import org.springframework.transaction.PlatformTransactionManager; -import javax.annotation.Resource; +//import javax.annotation.Resource; import javax.sql.DataSource; @Configuration diff --git a/spring-mybatis-multi-db/src/main/java/com/multidb/controller/ForwardController.java b/spring-mybatis-multi-db/src/main/java/com/multidb/controller/ForwardController.java new file mode 100644 index 0000000000000000000000000000000000000000..7cf8e58019d1985feedfe71524b2c49f9a9b27dc --- /dev/null +++ b/spring-mybatis-multi-db/src/main/java/com/multidb/controller/ForwardController.java @@ -0,0 +1,26 @@ +package com.multidb.controller; + +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@Controller +@RequestMapping +@Slf4j +public class ForwardController { + + @GetMapping("test") + public String test() { + log.info("invoke test method..."); + return "forward:/test2"; + } + + @GetMapping("test2") + public String test2(){ + log.info("invoke test2 method..."); + return "index"; + } + +} diff --git a/spring-mybatis-multi-db/src/main/resources/application.properties b/spring-mybatis-multi-db/src/main/resources/application.properties index 1d88522cfbcf814bf7f09a796c61391ff8e02626..fe572b661753557d5e02b44bae3d1b7bd45cdaee 100644 --- a/spring-mybatis-multi-db/src/main/resources/application.properties +++ b/spring-mybatis-multi-db/src/main/resources/application.properties @@ -14,3 +14,6 @@ spring.datasource.order.driver-class-name=com.mysql.cj.jdbc.Driver mybatis.type-aliases-package=com.multidb.entity.* logging.level.sql=info + +spring.mvc.view.prefix=/ +spring.mvc.view.suffix=.jsp diff --git a/spring-mybatis-multi-db/src/main/webapps/WEB-INF/jsp/index.jsp b/spring-mybatis-multi-db/src/main/webapps/WEB-INF/jsp/index.jsp new file mode 100644 index 0000000000000000000000000000000000000000..487013b7bb254f06c4d5a460ef49889b1a0d556a --- /dev/null +++ b/spring-mybatis-multi-db/src/main/webapps/WEB-INF/jsp/index.jsp @@ -0,0 +1,12 @@ + + + + + Title + + + +

Hello, SpringMVC

+ + + \ No newline at end of file