龙空技术网

企业级开发框架 NutzWk

懂点代码的程序员 871

前言:

现时姐妹们对“oraclenohup”大体比较注重,姐妹们都需要分析一些“oraclenohup”的相关资讯。那么小编也在网络上网罗了一些有关“oraclenohup””的相关资讯,希望我们能喜欢,大家快快来了解一下吧!

本项目发展自2010年,2012年开始用于商业项目,至今已服务于全国各地公司大大小小数百个项目,行业涉及政务、电商、物联网等,随着个人经验积累及从事行业的不同分别发布了1.0至5.0多个版本,每个版本都是完整运行且完全开源免费的,您可以根据项目规模选择不同版本。本项目案例众多,省厅级项目、市级平台、大数据项目、电商平台、物联网平台等等,issues里有部分案例截图,限于篇幅不一一罗列。

我们有强大的后援 —— Nutz 社区支持 及 Nutz 使用手册

版本说明NutzWk v5.x 微服务版本(分支名:v5.x,微服务dubbo分布式版本)NutzWk v4.x 模块化版本(分支名:v4.x,统一提供代码生成器及IDEA可视化插件)NutzWk v3.x 单应用版本(分支名:v3.x,CMS+微信+系统+权限+常用功能封装 beetl/velocity)NutzWk v1.0 传统版(分支名:v1.x,velocity 支持IE6)本版说明(v5.x)

NutzWk 5.x 运行必备环境:

JDK 8 181 + 或 OpenJDK 11 +Maven 3.5.3 +Redis 4.0.8 +MySql 5.7 + 或 MariaDB、Oracle、SqlServer、达梦等Zookeeper 3.4.11 +

NutzWk 5.x 技术选型:

核心框架:Nutzboot分布式框架:Dubbo(RPC)、Zookeeper(注册中心)、Sentinel(流控)、Seata(分布式事务)安全框架:Shiro、JWT任务调度:Quartz数据库连接池:Druid支持数据库:MySql、MariaDB、Oracle、SqlServer、达梦等缓存框架:Redis、Ehcache、Wkcache订阅发布:Redis文件系统:Ftp(默认)、FastDfs等可扩展功能:WebSocket-Nutz、消息队列-Rabbitmq、搜索引擎-Elasticsearch、工作流-Activiti等前端框架:Bootstrap+JQuery 或 Vue +Element (推荐)

NutzWk 5.x 使用说明:

名称介绍wk-framework一些基类及公共方法的封装wk-modelPOJO类,枚举类,常量类wk-common业务接口类wk-nb-service-sys系统管理模块,dubbo服务端,NB项目,权限体系wk-nb-service-cmsCMS管理模块,dubbo服务端,NB项目,ig及wkcache演示wk-nb-service-wx微信管理模块,dubbo服务端,NB项目,微信及微信支付功能演示wk-nb-task定时任务模块,dubbo服务端,NB项目,支持quartz集群wk-nb-web-apiAPI JWT Token示例,dubbo消费端,NB项目,Mvcwk-nb-web-platformWEB管理后台jQuery+Bootstrap版,dubbo消费端,NB项目,Mvcwk-nb-web-vueWEB管理后台Vue.js混合版,dubbo消费端,NB项目,Mvc

确保 MySql、Redis、Zookeeper 默认端口配置并已启动好 MySql 创建名为 nutzwk_nb 的空数据库,在每个NB(nutzboot缩写)模块启动时会自动建表,同时初始化数据 项目根目录执行 mvn clean install -Dmaven.test.skip=true 在单个NB模块下执行 mvn compile nutzboot:run 运行或 mvn package nutzboot:shade 生成可执行jar包 在项目根目录执行 mvn -Dnutzboot.dst=E:/dst clean package nutzboot:shade 可将所有可运行jar包生成到指定位置 启动顺序是 sys --> cms[可选] --> wx[可选] --> task[可选] --> web-platform 或 web-vue --> web-api[可选] 正常启动后访问 用户名 superadmin 密码 1 框架详细介绍及代码生成器的使用等内容请仔细阅读 wk-wiki 若觉得项目复杂上手较难,可以从最简单的一个NB项目学起 wizzer.cn 源码

项目部署

内置配置文件启动 nohup java -jar wk-nb-service-sys.jar & 带参数 -Dnutz.profiles.active=prod 可加载 application-prod.properties 文件 外置配置文件启动 nohup java -Dnutz.boot.configure.properties.dir=/data/nutzwk/sys/ -jar wk-nb-service-sys.jar & 此时加载文件夹所有 *.properties 配置文件 生产环境可以使用 PythonWk 进行部署,登陆后台运维中心可在线更新jar包及配置文件等

分布式事务

业务走过的链路所有NB模块, pom.xml 添加

<dependency> <groupId>org.nutz</groupId> <artifactId>nutzboot-starter-seata</artifactId></dependency><dependency> <groupId>io.seata</groupId> <artifactId>seata-dubbo-alibaba</artifactId> <version>${seata.version}</version></dependency> 
业务走过的链路所有NB模块, 配置文件中添加
seata.enabled=true# seata.applicationId 在本项目中会自动获取无需赋值# seata.applicationId=seata.txServiceGroup=my_test_tx_group
下载并启动 Seata服务端 业务方法上加上注解 @GlobalTransactional 即可,可选参数 timeoutMills = 300000, name = "my_test" 与本地事务注解 @Aop(TransAop.READ_COMMITTED) 不冲突 业务方法内不要加 try catch (与本地事务注解一样)要让异常抛出来事务才能工作 分布式事务不是越多越好,可以在核心业务如交易环节增加,建议实现乐观锁来预防脏数据产生

标签: #oraclenohup