diff --git a/service.html b/service.html index 665faaf00..e7ea91a0f 100644 --- a/service.html +++ b/service.html @@ -29,8 +29,7 @@

       Service 是RedKale最核心的组件,依赖于Convert、SNCP协议、Resource依赖注入。Service主要处理业务逻辑和操作数据层,是微服务架构中的单一原子服务。每一个Service实例分两种模式: 本地模式远程模式。其模式由 conf/application.xml 文件来配置。使用者在调用过程中通常不需要区分当前Service实例是哪种模式。
       为了能确保本地模式与远程模式自由切换,对Service的实现类有一定的约束:
             1. Service实现类会被继承,不能修饰为 final
-              2. public String name()方法会被重载,不能修饰为 final
-              3. 带@MultiRun注解的方法会被重载,不能修饰为 final
+              2. 带@MultiRun注解的方法会被重载,不能修饰为 final
       RedKale进程启动时扫描可加载的Service实现类,根据配置文件配置的模式采用JDK 8内置的ASM技术动态生成相应的Service临时类进行实例化,并注册到ResourceFactory同其他Service、Servlet依赖注入。

@@ -69,7 +68,8 @@

      动态生成的本地模式UserService:

-
@SncpDyn(remote = false)
+            
@Resource(name = "")
+@SncpDyn(remote = false)
 public final class _DynLocalUserService extends UserService {
 
     @Resource
@@ -83,11 +83,6 @@
 
     private String _selfstring;
 
-    @Override
-    public final String name() {
-        return "";
-    }
-
     @Override
     public String toString() {
         return _selfstring == null ? super.toString() : _selfstring;
@@ -132,7 +127,7 @@
 
     boolean async() default true; //分布式运行是否采用异步模式
 } 
-

      在动态生成的远程模式UserService时会根据不同参数生成相应的方法。若一个Service类没有含@MultiRun注解的方法,那么动态类只会重载public String name()和toString方法。当UserService服务仅需要部署了一个进程,由于没有其他等同服务的进程因此在UserService实例化时_client会赋值为null。

+

      在动态生成的远程模式UserService时会根据不同参数生成相应的方法。若一个Service类没有含@MultiRun注解的方法,那么动态类只会重载public String name()和toString方法。当UserService服务仅需要部署一个进程,由于没有其他等同服务的进程因此在UserService实例化时_client会赋值为null。

<resources>  
     <group name="GROUP-A">
         <node addr="192.168.10.111" port="7070"/>
@@ -157,7 +152,8 @@
             
             

Service 远程模式

      动态生成的远程模式UserService:

-
@SncpDyn(remote = true)
+            
@Resource(name = "")
+@SncpDyn(remote = true)
 public final class _DynRemoteUserService extends UserService {
 
     @Resource
@@ -169,11 +165,6 @@
 
     private String _selfstring;
 
-    @Override
-    public final String name() {
-        return "";
-    }
-
     @Override
     public String toString() {
         return _selfstring == null ? super.toString() : _selfstring;