# lightning4j **Repository Path**: thomas9696/lightning4j ## Basic Information - **Project Name**: lightning4j - **Description**: Based netty using java rapid development of lightweight server framework. - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-08-07 - **Last Updated**: 2024-11-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README lightning4j =========== ## 更新日志 ### 2015/9/30更新内容 * 加入dbcp2数据库连接池 * 增加工作线程状态监控 ### 2015/8/14更新内容 * 模块热更新存在严重bug暂时取消 * netty升级到5.0 * 增加mysql数据库操作类 * 增加了http请求方法 * 修复部分bug及统一异常捕捉日志 * 开源了本人基于lightning4j开发的html5游戏《无尽战争》的服务端作为示例 ### 2015/2/13更新内容 * 增加模块加载工具,实现游戏业务模块热更新 ## 简介 一个基于Netty网络库的java服务端轻量级开发框架,用于快速开发手游,页游等服务端程序,使用WebSocket通信协议,支持mysql,redis,连接池,全局定时任务,心跳检测,可配置逻辑处理线程等,使用简单,部署方便。

**项目网站:**http://www.53hql.com/lightning4j
**项目WiKi:**http://www.53hql.com/lightning4j/wiki ## 使用(基于IntelliJ IDEA) 新建一个maven project或在已有project中新建一个maven module,编辑pom.xml中的依赖包: netty netty 4.0.25.Final mysql mysql-connector-java 5.1.30 redis.clients jedis 2.4.0 c3p0 c3p0 0.9.1.2 org.slf4j slf4j-log4j12 1.7.6 log4j log4j 1.2.17 dom4j dom4j 1.6.1 org.mybatis mybatis 3.2.3 junit junit 4.11 test com.alibaba fastjson 1.1.41 com.hql lightning4j 1.0.7 * lib目录下为框架的jar包,用于添加到maven仓库 * 建议使用maven私服管理依赖包 * confFile下为项目所需的配置文件、模块文件及log存放目录 * 示例代码请参考test目录 * client.html为测试客户端 ## 基本用法 * 在IDEA的project目录下新建一个文件夹例如:conf存放配置文件及log,将源码目录下confFile里的内容拷贝到该文件夹中。 * 修改配置选项为开发者自己的配置 * 简历游戏模块工程(new maven module in IntelliJ IDEA)参考项目结构:
......包
|--handler(业务逻辑handler)
|--model(使用的数据dao)
|--manager(缓存数据管理)
|--vo(用于映射json的对象)
* 使用maven打包该module为jar文件 * 启动代码示例:
public class Server { public void run() throws Exception { ServerInit.getInstance().initLog4j(); ServerInit.getInstance().initGameWorkers(); GameBoss.getInstance().boot(new GameUpProcessor() { @Override public void process(GameUpBuffer buffer) { GameWorkerManager.getInstance().pushDataToWorker(buffer); } }); } public static void main(String[] args) throws Exception { //5秒检测一次线程状态,若线程终止则重启线程 TimerTaskUtil.getInstance().run(new WorkerStatusCheckTask(), 5, TimeUnit.SECONDS); new Server().run(); } } * 更多使用详情请参考示例:demo_server ## 后续更新计划 * 性能测试工具 * 分布式支持 ## License Apache License Version 2.0 see http://www.apache.org/licenses/LICENSE-2.0.html