java
li905663280
这个作者很懒,什么都没留下…
展开
-
getDeclaredMethod支撑父类继承方法调用以及getMethod的区别
背景生产系统为前后台没有分离的应用,前台调后台是通过传对象名称、对象方法通过反射执行,返回结果。某次生产事故由于方法放在父类中,导致生产抛java.lang.NoSuchMethodException知识点获取当前类、继承类的所有public方法使用getMethod获取当前类所有public、protected、private方法使用getDeclaredMethod()获取当前类、继承类所有public、protected、private方法使用getDeclared原创 2021-06-05 15:13:10 · 1109 阅读 · 0 评论 -
本地搭建Elasticsearch集群
目的适合任何版本本地搭建es集群,适合任何版本下载地址选择 Linux64(TAR) - No JDK 6.8.4https://elasticsearch.cn/download/步骤参考 https://www.elastic.co/guide/en/elasticsearch/reference/6.8/getting-started-install.html启动sh /Users/red/tools/elasticsearch-6.8.4/bin/elastics原创 2021-05-21 23:08:59 · 145 阅读 · 0 评论 -
zk服务发现与注册
目的微服务架构中应用A通过接口调用服务B提供的接口,服务B有2个容器,应用A通过ZK服务按照一定策略获取对应的容器IP和端口进行访问1.应用A中调用服务B的请求地址(host:port)从zk进行获取,2.如果zk路径发送变化,应用A下次请求能获取到不同的请求地址效果图使用IDemoClient serviceb = DemoCsfFactory.getClient(groupName); String url=groupName+"/"+method.getName(原创 2021-04-30 22:16:06 · 956 阅读 · 1 评论 -
服务代理调用
目的微服务架构中应用A通过接口调用应用B提供的接口1.应用A中的接口,不需要实现类,实现类由代理生成。2.代理根据接口注解参数来拼接请求地址,触发http请求使用接口定义@Center("serviceb")public interface IOrderService { String sayHi(Map param);}接口方法调用@Autowired private IOrderService orderService; @RequestMa原创 2021-04-29 23:09:57 · 182 阅读 · 1 评论 -
事务异常手动回滚且方法正常返回
事务异常手动回滚且方法正常返回背景小X调事务接口A,接口通过@Transactional进行注解,接口A中调用数据库操作接口B接口A对接口B调用操作进行try-catch-finally接口B中有异常产生,会导致接口返回事务异常错误形式,影响外系统使用。接口B异常需要回滚,但是为了外系统使用,接口A需要正常返回解决方案1.catch代码块中使用手动回滚TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(原创 2021-04-19 13:32:05 · 768 阅读 · 0 评论 -
springboot整合flowable简单的demo
springboot 整合 flowable版本springboot 2.2.5.RELEASEflowable 6.4.1功能点 创建流程 开启申请流程 查看环节 完成环节报销申请接口交互创建流程http://localhost:8080/demo/flow/createFlow{ "flowName": "test4"}开启申请流程http://localhost:8080/demo/flow/startApply{ "processKey": "te原创 2021-04-11 22:51:30 · 616 阅读 · 0 评论 -
flowable启动报错
version mismatch: library version is ‘6.4.1.3’, db version is 5.99.0.0 Hint:需要配置act_ge_property 和 ACT_ID_PROPERTY 两个表 INSERT into act_ge_property(NAME_,VALUE_,REV_) VALUES ('cfg.execution-related-entities-count','true','1'),('cfg.task-related-entities原创 2021-03-31 11:40:23 · 1923 阅读 · 0 评论 -
ObjectMapper json转换
objectMapper json转换maven引入jackson-databind object -> json mapper.writeValueAsString(obj);json -> objectmapper.readValue(json,valueType);jsonUtilpublic class JSONUtil { priva...原创 2019-01-20 11:25:14 · 6486 阅读 · 0 评论 -
continue break label
continue 一层循环中继续下一次循环break 一层循环中中断一层循环lable让continue 和 break 在多层循环中起作用public static void main(String[] args) { outer: for (int i=0;i<10;i++){ for(int j=0;j<3;j++){...原创 2019-01-20 11:08:21 · 164 阅读 · 0 评论 -
java上传文件
####上传文件js处理 var file=e.target.files[0]; var reader=new FileReader(); reader.readAsDataURL(file,"UTF-8"); var fileStringBase64=""; reader.onload=fun...原创 2018-12-06 21:41:07 · 159 阅读 · 0 评论 -
线程安全
线程安全在一个类中,用static 存了一组hashtable,里面存放性别。多个人通过浏览器访问。if(hashtable.has(“0”)){—-syso(hashtable[0])}如果有一个人在下划线的时间段删除了hashtable。则将为导致数据错误。如果我们采用了线程安装的list,将会没有这样的问题。如果在这里用lock(hashtable){if(…){..}}用锁也会解决线程的问题原创 2016-12-30 10:12:00 · 223 阅读 · 0 评论 -
java
java注解类字段和代码块的优先级是一样的,谁在前先执行谁。构造函数的优先级低一级。集合hashtable,hashmap都是实现map的。但是hashtable是线程安全,hashmap是线程非安全的。原创 2017-01-03 16:05:54 · 209 阅读 · 0 评论 -
java 调用.bat 创建文件
java 调用.bat 创建文件explain在stackoverflow上看到的问题链接codepublic class Main { public static void main(String[] args) { Process p; String cmd="cmd /c start f:\\hello.bat"; try {原创 2016-10-26 09:30:22 · 351 阅读 · 0 评论