TarsJava
TarsJava copied to clipboard
Java language framework rpc source code implementation
https://github.com/TarsCloud/TarsJava/blob/master/spring/tars-spring-boot-starter/src/main/java/com/qq/tars/spring/bean/CommunicatorBeanPostProcessor.java 第76行应该是错了,这会导致注解中的 set 都不生效
TarsCodec.decodeCallbackArgs 方法中 ``` public Object[] decodeCallbackArgs(TarsServantResponse response) throws ProtocolException { byte[] data = response.getInputStream().read(new byte[]{}, 6, true); TarsServantRequest request = response.getRequest(); TarsMethodInfo methodInfo = null; Map map = AnalystManager.getInstance().getMethodMap(request.getApi()); for...
当有些地方不设置datapath,比如一些sdk(兼容非tars服务)的时候,tarsnodes.dat的存储路径会比较怪. 例子: ``` URL url = Loader.getResource("", true); String path=url.getFile(); File f = new File(path, Constants.SERVER_NODE_CACHE_FILENAME); String parentPath = f.getParentFile().getPath(); String filePath = f.getAbsolutePath(); log.info("URL_DATA_PATH:{} parentPath:{} filePath:{}", path, parentPath, filePath);...
Bumps [gson](https://github.com/google/gson) from 2.8.6 to 2.8.9. Release notes Sourced from gson's releases. Gson 2.8.9 Make OSGi bundle's dependency on sun.misc optional (#1993). Deprecate Gson.excluder() exposing internal Excluder class (#1986). Prevent...
问题: 1. Unsafe,jdk不建议使用,在高版本中编译会报warning; 2. BeanAccessor 中的实现,为什么还要引入 Unsafe,来get/set属性,Field底层也是用unsafe实现的.
* 设计应该是放在工作线程,去上报 * 当前是额外线程池.
``` module TestTars { enum EGender { MALE = 0, FEMALE = 1 }; struct UserInfo { 0 optional EGender gender = FEMALE; }; } ``` java会把这个值搞成默认值 int 0. 不符合语法定义.
可以从https://github.com/TarsCloud/TarsTools/blob/master/src/main/java/com/tencent/jceplugin/language/jce-grammar.bnf 中的一些语法文件翻译成antlr