This commit is contained in:
@@ -33,8 +33,6 @@ import org.w3c.dom.*;
|
||||
* <p>
|
||||
* 进程启动类,程序启动后读取application.xml,进行classpath扫描动态加载Service与Servlet 优先加载所有SNCP协议的服务, 再加载其他协议服务, 最后进行Service、Servlet与其他资源之间的依赖注入。
|
||||
* <p>
|
||||
* <p>
|
||||
* <p>
|
||||
* 详情见: http://redkale.org
|
||||
*
|
||||
* @author zhangjx
|
||||
|
||||
@@ -20,7 +20,6 @@ import org.redkale.util.AnyValue.DefaultAnyValue;
|
||||
/**
|
||||
* class过滤器, 符合条件的class会保留下来存入FilterEntry。
|
||||
* <p>
|
||||
* <p>
|
||||
* 详情见: http://redkale.org
|
||||
*
|
||||
* @author zhangjx
|
||||
|
||||
@@ -30,8 +30,8 @@ import org.redkale.util.*;
|
||||
|
||||
/**
|
||||
* Server节点的初始化配置类
|
||||
* <p>
|
||||
* <p>
|
||||
*
|
||||
*
|
||||
* 详情见: http://redkale.org
|
||||
*
|
||||
* @author zhangjx
|
||||
|
||||
@@ -10,7 +10,6 @@ import java.lang.reflect.Type;
|
||||
/**
|
||||
* 对不明类型的对象进行序列化; BSON序列化时将对象的类名写入Writer,JSON则不写入。
|
||||
* <p>
|
||||
* <p>
|
||||
* 详情见: http://redkale.org
|
||||
*
|
||||
* @author zhangjx
|
||||
|
||||
@@ -13,7 +13,6 @@ import org.redkale.util.*;
|
||||
*
|
||||
* writeTo系列的方法输出的字符不能含特殊字符
|
||||
* <p>
|
||||
* <p>
|
||||
* 详情见: http://redkale.org
|
||||
*
|
||||
* @author zhangjx
|
||||
|
||||
@@ -23,7 +23,6 @@ import org.redkale.util.ByteArray;
|
||||
* /pipes/record/query/start:0/size:20 获取页号: int start = request.getRequstURIPath("start:", 0); <br>
|
||||
* 获取行数: int size = request.getRequstURIPath("size:", 10);
|
||||
* <p>
|
||||
* <p>
|
||||
* 详情见: http://redkale.org
|
||||
*
|
||||
* @author zhangjx
|
||||
|
||||
@@ -25,7 +25,6 @@ import org.redkale.util.*;
|
||||
* 同时提供发送json的系列接口: public void finishJson(Type type, Object obj)
|
||||
* RedKale提倡http+json的接口风格, 所以主要输出的数据格式为json, 同时提供异步接口。
|
||||
* <p>
|
||||
* <p>
|
||||
* 详情见: http://redkale.org
|
||||
*
|
||||
* @author zhangjx
|
||||
@@ -35,7 +34,6 @@ public class HttpResponse extends Response<HttpContext, HttpRequest> {
|
||||
/**
|
||||
* HttpResponse.finish 方法内调用
|
||||
* 主要给@HttpCacheable使用
|
||||
* <p>
|
||||
*/
|
||||
protected static interface BufferHandler {
|
||||
|
||||
@@ -302,7 +300,6 @@ public class HttpResponse extends Response<HttpContext, HttpRequest> {
|
||||
|
||||
/**
|
||||
* 以304状态码输出
|
||||
* <p>
|
||||
*/
|
||||
public void finish304() {
|
||||
super.finish(buffer304.duplicate());
|
||||
@@ -310,7 +307,6 @@ public class HttpResponse extends Response<HttpContext, HttpRequest> {
|
||||
|
||||
/**
|
||||
* 以404状态码输出
|
||||
* <p>
|
||||
*/
|
||||
public void finish404() {
|
||||
super.finish(buffer404.duplicate());
|
||||
@@ -687,7 +683,7 @@ public class HttpResponse extends Response<HttpContext, HttpRequest> {
|
||||
* 设置内容长度
|
||||
*
|
||||
* @param contentLength 内容长度
|
||||
* @return
|
||||
* @return HttpResponse
|
||||
*/
|
||||
public HttpResponse setContentLength(long contentLength) {
|
||||
this.contentLength = contentLength;
|
||||
|
||||
@@ -12,8 +12,8 @@ import org.redkale.util.*;
|
||||
|
||||
/**
|
||||
* Service对象的封装类
|
||||
* <p>
|
||||
* <p>
|
||||
*
|
||||
*
|
||||
* 详情见: http://redkale.org
|
||||
*
|
||||
* @author zhangjx
|
||||
|
||||
@@ -25,8 +25,8 @@ import org.redkale.util.*;
|
||||
/**
|
||||
* Service Node Communicate Protocol
|
||||
* 生成Service的本地模式或远程模式Service-Class的工具类
|
||||
* <p>
|
||||
* <p>
|
||||
*
|
||||
*
|
||||
* 详情见: http://redkale.org
|
||||
*
|
||||
* @author zhangjx
|
||||
@@ -131,50 +131,50 @@ public abstract class Sncp {
|
||||
/**
|
||||
* <blockquote><pre>
|
||||
* public class TestService implements Service{
|
||||
* <p>
|
||||
*
|
||||
* public String findSomeThing(){
|
||||
* return "hello";
|
||||
* }
|
||||
* <p>
|
||||
*
|
||||
* @MultiRun(selfrun = false)
|
||||
* public void createSomeThing(TestBean bean){
|
||||
* //do something
|
||||
* }
|
||||
* <p>
|
||||
*
|
||||
* @MultiRun
|
||||
* public String updateSomeThing(String id){
|
||||
* return "hello" + id;
|
||||
* }
|
||||
* }
|
||||
* </pre></blockquote>
|
||||
* <p>
|
||||
*
|
||||
* <blockquote><pre>
|
||||
* @Resource(name = "")
|
||||
* @SncpDyn(remote = false)
|
||||
* @ResourceType({TestService.class})
|
||||
* public final class _DynLocalTestService extends TestService{
|
||||
* <p>
|
||||
*
|
||||
* @Resource
|
||||
* private BsonConvert _redkale_convert;
|
||||
* <p>
|
||||
*
|
||||
* private Transport _redkale_sameGroupTransport;
|
||||
* <p>
|
||||
*
|
||||
* private Transport[] _redkale_diffGroupTransports;
|
||||
* <p>
|
||||
*
|
||||
* private SncpClient _redkale_client;
|
||||
* <p>
|
||||
*
|
||||
* private String _redkale_selfstring;
|
||||
* <p>
|
||||
*
|
||||
* @Override
|
||||
* public String toString() {
|
||||
* return _redkale_selfstring == null ? super.toString() : _redkale_selfstring;
|
||||
* }
|
||||
* <p>
|
||||
*
|
||||
* @Override
|
||||
* public void createSomeThing(TestBean bean){
|
||||
* this._redkale_createSomeThing(false, true, true, bean);
|
||||
* }
|
||||
* <p>
|
||||
*
|
||||
* @SncpDyn(remote = false, index = 0)
|
||||
* public void _redkale_createSomeThing(boolean selfrunnable, boolean samerunnable, boolean diffrunnable, TestBean bean){
|
||||
* if(selfrunnable) super.createSomeThing(bean);
|
||||
@@ -182,12 +182,12 @@ public abstract class Sncp {
|
||||
* if (samerunnable) _redkale_client.remoteSameGroup(_redkale_convert, _sameGroupTransport, 0, true, false, false, bean);
|
||||
* if (diffrunnable) _redkale_client.remoteDiffGroup(_redkale_convert, _diffGroupTransports, 0, true, true, false, bean);
|
||||
* }
|
||||
* <p>
|
||||
*
|
||||
* @Override
|
||||
* public String updateSomeThing(String id){
|
||||
* return this._redkale_updateSomeThing(true, true, true, id);
|
||||
* }
|
||||
* <p>
|
||||
*
|
||||
* @SncpDyn(remote = false, index = 1)
|
||||
* public String _redkale_updateSomeThing(boolean selfrunnable, boolean samerunnable, boolean diffrunnable, String id){
|
||||
* String rs = super.updateSomeThing(id);
|
||||
@@ -198,7 +198,7 @@ public abstract class Sncp {
|
||||
* }
|
||||
* }
|
||||
* </pre></blockquote>
|
||||
* <p>
|
||||
*
|
||||
* 创建Service的本地模式Class
|
||||
*
|
||||
* @param <T> Service子类
|
||||
@@ -823,48 +823,48 @@ public abstract class Sncp {
|
||||
* @SncpDyn(remote = true)
|
||||
* @ResourceType({TestService.class})
|
||||
* public final class _DynRemoteTestService extends TestService{
|
||||
* <p>
|
||||
*
|
||||
* @Resource
|
||||
* private BsonConvert _redkale_convert;
|
||||
* <p>
|
||||
*
|
||||
* private Transport _redkale_transport;
|
||||
* <p>
|
||||
*
|
||||
* private SncpClient _redkale_client;
|
||||
* <p>
|
||||
*
|
||||
* private String _redkale_selfstring;
|
||||
* <p>
|
||||
*
|
||||
* @Override
|
||||
* public String toString() {
|
||||
* return _redkale_selfstring == null ? super.toString() : _redkale_selfstring;
|
||||
* }
|
||||
* <p>
|
||||
*
|
||||
* @SncpDyn(remote = false, index = 0)
|
||||
* public void _redkale_createSomeThing(boolean selfrunnable, boolean samerunnable, boolean diffrunnable, TestBean bean){
|
||||
* _redkale_client.remote(_redkale_convert, _redkale_transport, 0, selfrunnable, samerunnable, diffrunnable, bean);
|
||||
* }
|
||||
* <p>
|
||||
*
|
||||
* @SncpDyn(remote = false, index = 1)
|
||||
* public String _redkale_updateSomeThing(boolean selfrunnable, boolean samerunnable, boolean diffrunnable, String id){
|
||||
* return _redkale_client.remote(_redkale_convert, _redkale_transport, 1, selfrunnable, samerunnable, diffrunnable, id);
|
||||
* }
|
||||
* <p>
|
||||
*
|
||||
* @Override
|
||||
* public void createSomeThing(TestBean bean){
|
||||
* _redkale_client.remote(_redkale_convert, _redkale_transport, 2, bean);
|
||||
* }
|
||||
* <p>
|
||||
*
|
||||
* @Override
|
||||
* public String findSomeThing(){
|
||||
* return _redkale_client.remote(_redkale_convert, _redkale_transport, 3);
|
||||
* }
|
||||
* <p>
|
||||
*
|
||||
* @Override
|
||||
* public String updateSomeThing(String id){
|
||||
* return _redkale_client.remote(_redkale_convert, _redkale_transport, 4, id);
|
||||
* }
|
||||
* }
|
||||
* </pre></blockquote>
|
||||
* <p>
|
||||
*
|
||||
* 创建远程模式的Service实例
|
||||
*
|
||||
* @param <T> Service泛型
|
||||
|
||||
@@ -24,7 +24,7 @@ import org.redkale.service.DynCall;
|
||||
|
||||
/**
|
||||
*
|
||||
* <p>
|
||||
*
|
||||
* 详情见: http://redkale.org
|
||||
*
|
||||
* @author zhangjx
|
||||
@@ -161,14 +161,14 @@ public final class SncpDynServlet extends SncpServlet {
|
||||
* <blockquote><pre>
|
||||
* public class TestService implements Service {
|
||||
* public boolean change(TestBean bean, String name, int id) {
|
||||
* <p>
|
||||
*
|
||||
* }
|
||||
* }
|
||||
* <p>
|
||||
*
|
||||
* public class DynActionTestService_change extends SncpServletAction {
|
||||
* <p>
|
||||
*
|
||||
* public TestService service;
|
||||
* <p>
|
||||
*
|
||||
* @Override
|
||||
* public void action(final BsonReader in, final BsonWriter out) throws Throwable {
|
||||
* TestBean arg1 = convert.convertFrom(paramTypes[1], in);
|
||||
|
||||
@@ -9,8 +9,8 @@ import org.redkale.convert.json.JsonFactory;
|
||||
|
||||
/**
|
||||
* 通用的结果对象,在常见的HTTP+JSON接口中返回的结果需要含结果码,错误信息,和实体对象。
|
||||
* <p>
|
||||
* <p>
|
||||
*
|
||||
*
|
||||
* 详情见: http://redkale.org
|
||||
*
|
||||
* @author zhangjx
|
||||
@@ -91,9 +91,9 @@ public class RetResult<T> {
|
||||
/**
|
||||
* 同 setRetcode
|
||||
*
|
||||
* @param retcode
|
||||
* @param retcode retcode
|
||||
*
|
||||
* @return
|
||||
* @return RetResult
|
||||
*/
|
||||
public RetResult<T> retcode(int retcode) {
|
||||
this.retcode = retcode;
|
||||
@@ -111,9 +111,9 @@ public class RetResult<T> {
|
||||
/**
|
||||
* 同 setRetinfo
|
||||
*
|
||||
* @param retinfo
|
||||
* @param retinfo retinfo
|
||||
*
|
||||
* @return
|
||||
* @return RetResult
|
||||
*/
|
||||
public RetResult<T> retinfo(String retinfo) {
|
||||
this.retinfo = retinfo;
|
||||
@@ -136,9 +136,9 @@ public class RetResult<T> {
|
||||
/**
|
||||
* 同 setResult
|
||||
*
|
||||
* @param result
|
||||
* @param result result
|
||||
*
|
||||
* @return
|
||||
* @return RetResult
|
||||
*/
|
||||
public RetResult<T> result(T result) {
|
||||
this.result = result;
|
||||
|
||||
@@ -14,8 +14,8 @@ import org.redkale.util.Attribute;
|
||||
|
||||
/**
|
||||
* 注意: 在调用 createSQLExpress 之前必须先调用 createSQLJoin 在调用 createPredicate 之前必须先调用 isCacheUseable
|
||||
* <p>
|
||||
* <p>
|
||||
*
|
||||
*
|
||||
* 详情见: http://redkale.org
|
||||
*
|
||||
* @author zhangjx
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
package org.redkale.source;
|
||||
|
||||
/**
|
||||
* FilterValue主要用于复杂的表达式, 例如: col / 10 = 3 、MOD(col, 8) > 0 这些都不是单独一个数值能表达的,因此需要FilterValue 才构建 8 、 > 、0 组合值.
|
||||
* FilterValue主要用于复杂的表达式, 例如: col / 10 = 3 、MOD(col, 8) > 0 这些都不是单独一个数值能表达的,因此需要FilterValue 才构建 8 、 > 、0 组合值.
|
||||
*
|
||||
* <p>
|
||||
* 详情见: http://redkale.org
|
||||
|
||||
@@ -11,7 +11,6 @@ import jdk.internal.org.objectweb.asm.*;
|
||||
/**
|
||||
* MethodVisitor 的调试类
|
||||
* <p>
|
||||
* <p>
|
||||
* 详情见: http://redkale.org
|
||||
*
|
||||
* @author zhangjx
|
||||
|
||||
@@ -14,13 +14,13 @@ import static jdk.internal.org.objectweb.asm.Opcodes.*;
|
||||
* 该类实现动态映射一个JavaBean类中成员对应的getter、setter方法; 代替低效的反射实现方式。
|
||||
* <blockquote><pre>
|
||||
* public class Record {
|
||||
* <p>
|
||||
*
|
||||
* private String name;
|
||||
* <p>
|
||||
*
|
||||
* public String getName() {
|
||||
* return name;
|
||||
* }
|
||||
* <p>
|
||||
*
|
||||
* public void setName(String name) {
|
||||
* this.name = name;
|
||||
* }
|
||||
@@ -33,27 +33,27 @@ import static jdk.internal.org.objectweb.asm.Opcodes.*;
|
||||
* 等价于:
|
||||
* <blockquote><pre>
|
||||
* Attribute<Record, String> nameAction = new Attribute<Record, String>() {
|
||||
* <p>
|
||||
*
|
||||
* @Override
|
||||
* public String field() {
|
||||
* return "name";
|
||||
* }
|
||||
* <p>
|
||||
*
|
||||
* @Override
|
||||
* public String get(Record obj) {
|
||||
* return obj.getName();
|
||||
* }
|
||||
* <p>
|
||||
*
|
||||
* @Override
|
||||
* public void set(Record obj, String value) {
|
||||
* obj.setName(value);
|
||||
* }
|
||||
* <p>
|
||||
*
|
||||
* @Override
|
||||
* public Class type() {
|
||||
* return String.class;
|
||||
* }
|
||||
* <p>
|
||||
*
|
||||
* @Override
|
||||
* public Class declaringClass() {
|
||||
* return Record.class;
|
||||
@@ -67,7 +67,6 @@ import static jdk.internal.org.objectweb.asm.Opcodes.*;
|
||||
* 当不存在getter方法时,get操作固定返回null <br>
|
||||
* 当不存在setter方法时,set操作为空方法 <br>
|
||||
* <p>
|
||||
* <p>
|
||||
* 详情见: http://redkale.org
|
||||
*
|
||||
* @author zhangjx
|
||||
@@ -339,20 +338,20 @@ public interface Attribute<T, F> {
|
||||
/**
|
||||
* 根据Class、字段别名、字段类型生成虚构的 Attribute 对象,get、set方法为空方法。
|
||||
*
|
||||
* @param <T>
|
||||
* @param <F>
|
||||
* @param clazz
|
||||
* @param fieldalias
|
||||
* @param fieldtype
|
||||
* @param <T> 依附类的类型
|
||||
* @param <F> 字段类型
|
||||
* @param clazz 指定依附的类
|
||||
* @param fieldalias 字段别名
|
||||
* @param fieldtype 字段的类
|
||||
*
|
||||
* @return
|
||||
* @return Attribute对象
|
||||
*/
|
||||
public static <T, F> Attribute<T, F> create(final Class<T> clazz, String fieldalias, final Class<F> fieldtype) {
|
||||
return create(clazz, fieldalias, fieldtype, null, null, null);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据Class、字段别名、字段类型、Field、getter和setter方法生成 Attribute 对象。 fieldalias&fieldtype、Field、tgetter、setter不能同时为null
|
||||
* 根据Class、字段别名、字段类型、Field、getter和setter方法生成 Attribute 对象。 fieldalias/fieldtype、Field、tgetter、setter不能同时为null.
|
||||
*
|
||||
* @param <T> 依附类的类型
|
||||
* @param <F> 字段类型
|
||||
|
||||
@@ -16,7 +16,6 @@ import javax.annotation.Resource;
|
||||
/**
|
||||
* 如果Resource(name = "$") 表示资源name采用所属对象的name
|
||||
* <p>
|
||||
* <p>
|
||||
* 详情见: http://redkale.org
|
||||
*
|
||||
* @author zhangjx
|
||||
|
||||
@@ -12,7 +12,6 @@ import java.util.stream.*;
|
||||
/**
|
||||
* 页集合。 结构由一个total总数和一个List列表组合而成。
|
||||
* <p>
|
||||
* <p>
|
||||
* 详情见: http://redkale.org
|
||||
*
|
||||
* @author zhangjx
|
||||
|
||||
Reference in New Issue
Block a user