
java
秋天的春
编程哪里是什么艺术!只不过是把简单的思维方式赋予给了计算机。
展开
-
httpurl下载
httpurl下载File descFile = new File(MainActivity.this.getCacheDir(), fileName); // Android 4.0 之后不能在主线程中请求HTTP请求 if (downflag){ download(descFile); } new Thread(new Runnable(){ .原创 2020-10-22 17:24:13 · 793 阅读 · 0 评论 -
WebView支持H5网页下载
最近在做一个较简单的项目:通过一个webview来显示一个网页的App 这个网页有下载的功能,关于这一功能需要用到两个知识点: 1、webview监听网页的下载链接。(webview默认情况下是没有开启,在这个情况下,你会发现,在浏览器上可以正常下载的网页里的某个点击。在你的webview里面,点击是没有反应的); 2、使用系统的DownloadManager进行下载。下载任务会显示在顶部private void startDownload(String url) { ...原创 2020-08-07 11:16:59 · 1689 阅读 · 0 评论 -
rocketmq-spring-boot-starter使用指南
rocketmq-spring-boot-starter使用指南针对官方starter修改点 官方支持连接多个集群(订阅) (官方一个应用只能连接一个集群)顺序消息消费失败,可配重试次数 (非顺序消息默认重试16次,每次时间延后)发送延时消息方法参数优化(魔法参数改为枚举)优化getMessageType方法,支持 MyConsumer extends AbstractConsumer implements RocketMQListener(官方只支持MyConsumer impleme.原创 2020-07-23 19:11:24 · 3283 阅读 · 0 评论 -
springboo2 集成fegin oktthp3
前也用过Feign,不过是在SpringCloud体系内用的,需要配合服务发现一起用。偶然通过一位同事了解到Spring Boot也可以直接整合Feign进行Http远程调用,赶紧试了一把尝尝鲜,果断鸟枪换炮。感谢小伙伴的分享~话不多说直接show code。建立工程引入依赖建立一个SpringBoot应用的过程不再赘述了,基于IDEA创建一个新的工程还是蛮快的。在Pom.xml中添加如下依赖 <dependency> <groupId>原创 2020-07-17 11:36:36 · 281 阅读 · 0 评论 -
ActiveMQ——消息持久化的方式
ActiveMQ——消息持久化的方式基于Java的泛型和反射实现通用的增删改查基于Java的泛型和反射,结合SpringBoot和Jpa,实现对单表增删改查操作的抽取。有了该框架,可以将你从简单且无聊的单表操作中解脱出来,更专注于复杂的业务。本专栏会详述整个设计和实现的思路,让你对Java中泛型和反射的使用,以及对Spring和Jpa的原理有更深入的理解。一、消息的持久化 在介绍JMS规范的时候说过:消息的可靠性通过三个方面保证——持久化、事务和签收。这里说一下ActiveMQ中消息持久化的方式。原创 2020-06-10 15:31:05 · 433 阅读 · 0 评论 -
spring中添加elastic-job出错
elastic-job错误gson包冲突,pom.xml配置下org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'com.dangdang.ddframe.job.lite.spring.api.SpringJobScheduler#0': Invocation...原创 2020-04-20 16:06:37 · 890 阅读 · 0 评论 -
Elasticjob安装与入门
Elasticjob是一个开源的分布式调度解决方案。Elasticjob由两个相互独立的子项目Elastic-Job-Lite和Elastic-Job-Cloud组成。Elastic-Job-Lite定位为轻量级无中心化解决方案,使用jar包的形式提供分布式任务的协调服务;Elastic-Job-Cloud采用自研Mesos Framework的解决方案,额外提供资源治理、应用分发以及进程隔...原创 2020-04-20 10:07:27 · 1479 阅读 · 0 评论 -
springboot2.0使用druid-spring-boot-starter配置
使用spring boot中配置druid的时候遇到的几个坑首先spring boot版本 2.1.0 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> &l...原创 2019-12-31 18:47:51 · 5244 阅读 · 3 评论 -
rocketmq问题汇总-如何将特定消息发送至特定queue,消费者从特定queue消费
rocketmq问题汇总-如何将特定消息发送至特定queue,消费者从特定queue消费 业务描述 由于业务需要这样一种场景,将消息按照id(业务id)尾号发送到对应的queue中,并启动10个消费者(单jvm,10个消费者组),从对应的queue中集群消费,如下图1所示(假设有两个broker组成的集群): producer如何实现 producer只需发送...原创 2019-12-04 13:58:16 · 4184 阅读 · 0 评论 -
Ribbon结合eureka实时刷新,服务下线实时刷新
服务下线时,客户端经常无法感知到。从而导致feign使用ribbon负载均衡的时候,在服务下线之后,ribbon中的server list来不及更新,仍会负载一部分流量到已下线的服务。解决办法: 1.服务下线升级时,通过DiscoveryClient的shutdown()方法通知注册中心。 2.然后使用消息广播通知客户端即时刷新...原创 2019-12-04 11:49:15 · 1697 阅读 · 0 评论 -
springboot2.x 整合 Elastic-Job 踩坑
java.lang.ClassNotFoundException: org.apache.curator.connection. StandardConnectionHandlingPolicyspringboot2.x整合Elastic-Job时会抛出一下异常Caused by: java.lang.ClassNotFoundException: org.apache.cur...原创 2019-11-27 10:36:20 · 1257 阅读 · 0 评论 -
RocketMq消息监听程序中消除大量的if..else
RocketMq消息监听程序消除大量的if..else承接上一篇文章,如果消费端订阅了多个topic和tag,则需要在消息监听器类中添加if..else,根据topic和tag处理不同的业务逻辑,使得消息监听类职责过重。大概思路消息监听器类只负责监听消息,获取到消息后通过topic和tag路由到需要调用的服务,消费者只需要编写对应的topic和tag的服务。为了监听器类可以通过to...原创 2019-11-25 18:51:16 · 1307 阅读 · 2 评论 -
Spring Boot 整合 RocketMq
Spring Boot 整合 RocketMqSpring Boot 整合 RocketMq1.pom.xml添加RocketMq依赖<dependency> <groupId>com.alibaba.rocketmq</groupId> <artifactId>rocketmq-client</...原创 2019-11-25 18:45:16 · 478 阅读 · 1 评论 -
RocketMQ安装和小试
由于RocketMQ是java实现,在安装前须有java环境,并且有maven环境。项目地址:https://github.com/alibaba/RocketMQ/1.下载、编译(window)下载RocketMQ源码,并解压。maven编译(不了解maven,百度一下,这里就不介绍了):http://download.youkuaiyun.com/detail/tianwei7518/8...原创 2019-11-25 15:50:05 · 209 阅读 · 0 评论 -
base64文件转MultipartFile文件
在一些项目中,上传图片或者文件过大,这个时候我们就要选择压缩文件,压缩到我们指定的范围内在上传到服务器,当然压缩也是可以放到服务器进行操作的,但是考虑到前端传输时间问题,所以我们一般都是放到前端压缩后在上传。下面举个实例:曾经遇见这么一个需求,前端页面需要调用相机拍照,把拍照的图片上传到服务,但是在这个过程中遇见的问题是,ios手机拍照的图片是比较大一般单张图片大小在10M左右,而Andr...原创 2019-10-14 10:05:18 · 2641 阅读 · 0 评论 -
Elastic-job系列(二)-------- simple类型作业
一、简介esjob的作业类型有三种,分别是Simple、Dataflow和Script。本文主要介绍基于springboot的simple类型的作业。以及控制台的使用。作业名称为simpleJobDemo.二、Simple作业2.0 结构图2.1 pom.xml<?xml version="1.0" encoding="UTF-8"?>&l...原创 2019-10-09 11:57:05 · 535 阅读 · 0 评论 -
Elastic-job系列(一)-------- 搭建Esjob控制台
一、简介 研究esjob ,官方文档里对安装描述的太少了二、搭建步骤2.1 下载工程并打gz包github地址:https://github.com/elasticjob/elastic-job-lite.git项目根目录,执行mvn install找到elastic-job-lite 子项目target下的tar.gz 压缩包如下:并解压。我是放...原创 2019-09-19 20:22:53 · 2326 阅读 · 0 评论 -
SpringBoot自定义404、500返回JSON数据
SpringBoot自定义404、500返回JSON数据现有的方法,编写全局的异常处理,需要在SpringBoot配置文件中配置没有找到Controller时抛出异常,并且将静态资源映射关闭。因为默认是不抛出异常的,是去找错误页面,所以还需要关闭静态资源映射。但是这样就无法访问静态资源了。以下是解决方法。当未找到页面时,会调用默认的Controller,就是这个没有值的Request...原创 2019-08-07 16:21:43 · 5083 阅读 · 0 评论 -
idea maven 下载源码出现:Cannot download sources Sources not found for: xxx
其日志如下:解决方法:在对应项目pom.xml所在目录下执行以下命令:mvn dependency:resolve -Dclassifier=sources1 2执行效果如图:download完成后在idea反编译的class文件中选择下载的源码jar包:...原创 2019-08-09 10:02:13 · 6017 阅读 · 1 评论 -
SpringBoot入门(三)--数据库操作&&Spring-data-jpa的使用
一、添加依赖项目代码:https://github.com/ffzhihua/springbootdemo 数据库框架主要使用了sping-data-jpa <!--spring-data-jpa框架--> <dependency> <groupId>org.springframework.boot</g...原创 2019-01-10 15:09:51 · 165 阅读 · 0 评论 -
SpringBoot入门(四)--表单、AOP、异常
一、表单验证1、在实体类中设置我们过滤的条件@Min(value = 18,message = "未成年禁止注册!") private int userage;2、在控制器中返回的我们过滤的结果 /** * POST方式添加一个用户 * @param user * @return */ @PostMapping(va...原创 2019-01-10 18:24:54 · 124 阅读 · 0 评论 -
Spring Cloud 入门教程(一): 服务注册
1. 什么是Spring Cloud?Spring提供了一系列工具,可以帮助开发人员迅速搭建分布式系统中的公共组件(比如:配置管理,服务发现,断路器,智能路由,微代理,控制总线,一次性令牌,全局锁,主节点选举, 分布式session, 集群状态)。协调分布式环境中各个系统,为各类服务提供模板性配置。使用Spring Cloud, 开发人员可以搭建实现了这些样板的应用,并且在任何分布式环境下都...原创 2019-01-11 15:16:56 · 146 阅读 · 0 评论 -
SpringBoot入门(一)--基于IDEA编译器的项目构建、启动、配置
SpringBoot入门(一)--基于IDEA编译器的项目构建、启动、配置项目代码:https://github.com/ffzhihua/springbootdemo 一、项目的构建1、使用IDEA编译工具构建项目到此时我们的springboot项目构建完成二、启动项目首先我们在cn.buidlworld.demo下面建立一个HelloController.java文...原创 2019-01-08 18:31:35 · 606 阅读 · 0 评论 -
SpringBoot入门(二)--Controller的使用
一、@Controller+@ResponseBody的方式项目代码:https://github.com/ffzhihua/springbootdemo 1、添加依赖(根目录 pom.xml) <dependency> <groupId>org.springframework.boot</groupId> ...原创 2019-01-09 15:55:44 · 187 阅读 · 0 评论 -
Maven丨使用IDEA将本地的Jar包添加到个人的maven仓库中
有时候我们需要将本地的Jar包加入个人的Maven仓库中方便项目的Jar包管理,直接将Jar包丢进Maven仓库是不行的,Maven识别不了。所以我们可以使用命令行将本地的Jar包加入Maven仓库,本文以IDEA为例子,记录将本地Jar包安装到个人Maven仓库的具体步骤第一步点击IDEA右侧的Maven Project按钮,第二步点击 Execute ...原创 2019-05-05 10:19:54 · 3563 阅读 · 0 评论 -
@Scheduled cron表达式
@Scheduled cron表达式一、Cron详解:Cron表达式是一个字符串,字符串以5或6个空格隔开,分为6或7个域,每一个域代表一个含义,Cron有如下两种语法格式:1.Seconds Minutes Hours DayofMonth Month DayofWeek Year2.Seconds Minutes Hours DayofMonth Month DayofWeek...转载 2019-05-16 15:22:40 · 464 阅读 · 0 评论 -
Loading class `com.mysql.jdbc.Driver'. This is deprecated警告处理,jdbc更新处
1.报错信息是这样的;处理:提示信息表明数据库驱动com.mysql.jdbc.Driver'已经被弃用了、应当使用新的驱动com.mysql.cj.jdbc.Driver'所以,按照提示更改jdbc.properties配置.com.mysql.jdbc.Driver改为 com.mysql.cj.jdbc.Driver运行结果如下:PS已经没有这一条报...原创 2019-05-16 17:31:07 · 541 阅读 · 0 评论 -
Filter中获取请求体body后再次读取的问题
Filter中获取请求体body后再次读取的问题工作需要,要将请求和响应做一些处理,写一个filter拦截请求,拦截request中body内容后,字符流关闭,controller取到的请求体内容为空。从Request中获取输入流,InputStream只能被读取一次。解决方案:给request添加一个包装类BodyWrapper,继承HttpServletRequestWrapp...原创 2019-06-21 13:53:52 · 4923 阅读 · 0 评论 -
SpringBoot整合Redis及Redis工具类撰写
一、Maven依赖(1)本文所采用的SpringBoot的版本如下 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> ...转载 2019-07-02 20:41:37 · 1232 阅读 · 1 评论 -
SpringBoot 使用 @Transactional 注解配置事务
SpringBoot 使用 @Transactional 注解配置事务1、详细介绍事务管理是应用系统开发中必不可少的一部分。Spring 为事务管理提供了丰富的功能支持。Spring 事务管理分为编程式和声明式的两种方式。编程式事务指的是通过编码方式实现事务;声明式事务基于 AOP,将具体业务逻辑与事务处理解耦。声明式事务管理使业务代码逻辑不受污染, 因此在实际使用中声明式事务用的...原创 2019-06-27 14:46:25 · 390 阅读 · 0 评论 -
PHP的md5 java实现
解决java的md5与PHP的md5结果不同的问题public final class MD5 { /** * 获取MD5加密后的字符串 * @param str 明文 * @return 加密后的字符串 * @throws Exception */ public static String ge...原创 2019-06-27 14:03:14 · 1609 阅读 · 0 评论 -
Springboot中嵌套事务失效原因分析
Springboot中嵌套事务失效原因分析首先两个事务方法,其中一个调用另一个。@Transactional(rollbackFor = Exception.class)public void trance() { try { trance1();//调用下一个事务方法。 } catch (Exception e) { e.prin...原创 2019-06-28 10:33:04 · 4505 阅读 · 0 评论 -
springboot集成zipkin
一:下载zipkinDocker:docker run -d -p9411:9411openzipkin/zipkinlinuxwget -O zipkin.jar 'https://search.maven.org/remote_content?g=io.zipkin.java&a=zipkin-server&v=LATEST&c=exec'li...原创 2019-07-11 14:13:55 · 6944 阅读 · 0 评论 -
springboot集成Sentinel
哨兵安装下载地址:https://github.com/alibaba/Sentinel/releases使用说明https://github.com/alibaba/Sentinel/tree/master/sentinel-dashboard控制台启动脚本java -Dserver.port=8880 \ -Dcsp.sentinel.dashboard.ser...原创 2019-07-19 17:25:57 · 6282 阅读 · 4 评论 -
java8实现列表去重,java8的stream 和lambda的使用实例
java filter获取person集合中的所有大于18周岁,并排序List<Person> persons = new ArrayList();persons.add(new Person(1, "name1", 10));persons.add(new Person(2, "name2", 21));persons.add(new Person(5, "na...原创 2019-07-29 18:16:41 · 620 阅读 · 2 评论 -
通过springboot 去创建和提交一个表单
创建工程涉及了 web,加上spring-boot-starter-web和spring-boot-starter-thymeleaf的起步依赖。<dependencies> <dependency> <groupId>org.springframework.boot</groupId> ...原创 2019-01-10 14:28:04 · 3877 阅读 · 0 评论