3 Star 3 Fork 4

game-moba / project_1964322

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

Comom——公共模块

config

  • application-dev.yml——开发环境;

    application-test.yml——测试环境;

    application-prod.yml——生产环境;

    application.yml——通用配置,与环境无关

    启动参数添加spring.profiles.active=xxx,加载特定环境的配置;

  • Spring 可以加载Jar外的配置文件,部署项目后修改配置文件重新启动项目即可应用;

  • 配置文件使用

    1. 配置文件新增配置项(yaml格式)

      chess:
      	buss:
      		key: value
    2. 对应到配置类Chess.java中

      //每个接口对应一层
      @Config
      public interface Chess {
          interface Buss{
              String key=null;
          }
      }
    3. 配置使用,直接作为接口属性读取

  • 注意事项

    • 新增配置文件对应的接口类,加上@Config即可

    • 配置项分层,取接口全小写或者字段名

      如interface Chess对应chess

      field Key 对应Key

    • @Config(name="key_name")可自定义名称

cache

lock

  • 锁排序原理 对象锁对象
    排序顺序说明:
    1.非实体在前,实体{@link AbstractEntity}在后
    2.不同类型的锁对象,用完整类名做字符串排序
    3.类型相同时,根据排序依据进行排序
    4.排序依据对于非实体而言,为System.identityHashCode(instance)
    5.排序依据对于实体而言,为{@link AbstractEntity#getId()};

  • 项目使用

    static class TestLockThread extends Thread {
    
            List<TestEntity> list;
    
            public TestLockThread(List<TestEntity> list) {
                this.list = list;
            }
    
            @Override
            public void run() {
                ChainLock chainLock = LockUtils.getLock(list);
                chainLock.lock();
                try {
                    int count = 0;
                    for (TestEntity entity : list) {
                        for (int i = 0; i < 10000 * 3000; ++i) {
                            entity.doTask();
                            ++count;
                        }
                    }
                    System.out.println("结束:" + count);
                } finally {
                    chainLock.unlock();
                }
            }
        }

gameconfig

  • 游戏服配置格式
    *参考chess/config目录的测试配置表.xlsx

  • 项目使用

      public class TestConfig {
          public static void main(String[] args) {
              try {
                  ConfigUtils.loadAllConfig("config", "com.three.gameconfig");
              } catch (GameException e) {
                  System.out.println(e.getErrorMsg());
              } catch (Exception e) {
                  e.printStackTrace();
              }
          }
      }

DB模块使用

  • 数据库新增
    • 配置文件新增(区分是否分片数据库)
    • 新增com.three.db.annotation内的注解,JPA配置XXXXJpaConfig
  • 数据库使用
    • 继承JpaRepository,需要标注注解使用哪一个数据库,现有@ChessDbRepo默认数据库,@BussDbRepo业务数据库
    • 分表分库在实体上使用Sharding注解,参考TimePO
  • 表结构变更,实体变动自动更新表结构

Commom-web——web公共模块

SSO——用户模块

空文件

简介

内容含有违规信息 展开 收起
Java
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Java
1
https://gitee.com/game-moba/chess.git
git@gitee.com:game-moba/chess.git
game-moba
chess
project_1964322
master

搜索帮助

53164aa7 5694891 3bd8fe86 5694891