From c1db45be328f227c9da1e52a59f98b2c7ba38010 Mon Sep 17 00:00:00 2001
From: wentch <22250530@qq.com>
Date: Wed, 13 Jan 2016 17:44:18 +0800
Subject: [PATCH]
---
redkale.html | 24 ++++++++++++++++++++++--
source.html | 16 +++++++++++++---
2 files changed, 35 insertions(+), 5 deletions(-)
diff --git a/redkale.html b/redkale.html
index 323bdd714..1e38e6012 100644
--- a/redkale.html
+++ b/redkale.html
@@ -52,16 +52,36 @@
3、解析所有的 <server> 节点。
4、初始化并启动所有<server> 节点的Server服务 (优先加载SNCP协议的Server)。
5、初始化单个Server:
- 5.1、扫描classpath加载所有可用Service实现类并实例化,然后相互依赖注入。
+ 5.1、扫描classpath加载所有可用的Service实现类(没有标记为@AutoLoad(false)的类)并实例化,然后相互依赖注入。
5.2、Service实例在依赖注入过程中加载所需的DataSource、CacheSource资源。
5.3、调用所有本地模式Service的init方法。
- 5.4、扫描classpath加载所有可用Servlet实现类并实例化 (优先实例化WebSocketServlet)。
+ 5.4、扫描classpath加载所有可用的Servlet实现类(没有标记为@AutoLoad(false)的类)并实例化 (优先实例化WebSocketServlet)。
5.5、给所有Servlet依赖注入所需的Service。
5.6、调用所有Servlet的init方法。
5.7、启动Server的服务监听。
6、启动进程本身的监听服务。
+ 基于RedKale的开发与调试
+ 基于RedKale创建一个Java应用程序工程(即使是Web项目也不要创建Java-Web工程),引用redkale.jar 并创建RedKale所需的几个目录和文件。一个普通的Web项目只需要编写业务层的Service和接入层的HttpServlet的代码。数据库DataSource通过配置文件进行设置。
+ 编写完代码可以通过启动脚本进行调试, 也可以在IDE设置项目的主类为 org.redkale.boot.Application 或者工程内定义主类进行启动调试:
+
+ public final class Bootstrap {
+
+ public static void main(String[] args) throws Exception {
+ com.swyc.redkale.boot.Application.main(args);
+ }
+}
+ 若需要调试单个Service,可以通过 Application.singleton 方法进行调试:
+ public static void main(String[] args) throws Exception {
+ UserService service = Application.singleton(UserService.class);
+ LoginBean bean = new LoginBean();
+ bean.setAccount("myaccount");
+ bean.setPassword("123456");
+ System.out.println(service.login(bean));
+ }
+ Application.singleton 运行流程与通过bin脚本启动的流程基本一致,区别在于singleton运行时不会启动Server和Application自身的服务监听。RedKale提倡接入层(Servlet)与业务层(Service)分开,Service在代码上不能依赖于Servlet,因此调试Service自身逻辑时不需要启动接入层服务(类似WebSocket依赖Servlet的功能除外)。
+
RedKale 集中式与分布式
通常一个系统会分为三层:接入层、业务层、数据层。对应到RedKale的组件是: Servlet、Service、Source。大部分系统提供的是HTTP服务,为了方便演示RedKale从集中式到分布式的变化,以一个简单的HTTP服务作为范例。
开发一个极简单的小论坛系统。包含三个模块:
diff --git a/source.html b/source.html
index 318db0846..33cc882b2 100644
--- a/source.html
+++ b/source.html
@@ -23,10 +23,20 @@
-
- Source 组件介绍
+ Source 组件介绍
- 敬请期待……
+
Source 提供两种类型的数据源:DataSource 和 CacheSource。DataSource 为数据库或内存数据库,提供类似JPA、Hibernate的接口与功能。CacheSource 为缓存数据 提供类似Memcached、Redis的接口和功能。两者也提供了异步接口(基于远程模式的Service)。
+
+ DataSource 入门
+
+ 与JPA相比,DataSource有以下几个特点:
+ 1. 提供非常方便过滤查询接口,但仅支持简单的表关联查询。
+ 2. 提供分布式的主键自增功能。
+ 3. 提供动态修改数据库连接参数功能。
+ 4. 提供读写分离的简易配置功能。
+ 5. 提供进程间缓存自动同步功能。
+
+ 未完待续……