自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(44)
  • 资源 (4)
  • 收藏
  • 关注

原创 shadow宿主调用插件activity流程

shadow插件化框架笔记

2023-12-26 11:26:00 443

原创 dubbo通过过滤器filter隐式传参

在生产者项目的resources/META-INF/dubbo/com.alibaba.dubbo.rpc.Filter。在生产者项目的resources/META-INF/dubbo/com.alibaba.dubbo.rpc.Filter。注意这里的Filter第一个字母必须大写,否则在linux环境会提示找不到这个文件,有大小写的问题。消费者过滤器,给service层传递用户信息参数。生产者过滤器,接收消费者过滤器传递的用户信息。消费者application.yml。

2023-08-01 13:44:45 524

原创 定义dubbo自己的异常过滤器

发现这个问题的起因是前端联调接口的时候发现统一的异常处理没有发挥作用,我们定义的处理的异常类型为AppException(国际惯例继承于RuntimeException),但是Dubbo服务端实际返回的异常变成了RuntimeException,我们自定义的异常处理没有发生作用,导致前端报500异常而不是正常的错误提示.com.provider.service.filter.DubboExceptionFilter:我们刚刚创建的自定义异常过滤器全类名。深入研究Dubbo的异常处理。

2023-07-31 09:16:34 272

原创 springboot微服务报错 java.lang.IllegalArgumentException: Invalid character found in method name

假设发送的请求的总 HTTP 标头大小大于 max-http-header-size 值。通常,在 Spring Boot 应用程序中的 application.properties 文件或 application.yaml 文件中编写服务器配置。大多数 Web 服务器都有自己的一组 HTTP 请求标头大小限制。HTTP 标头值受服务器实现的限制。在 Spring Boot 应用程序中,最大 HTTP 标头大小是使用 server.max-http-header-size 配置的。

2023-07-24 11:00:33 1025

原创 修改 CentOS8内置的yum镜像地址

可以直接将原来东西注释掉,复制以下内容或者将mirrorlist配置注释掉,并将baseurl修改为阿里云镜像地址。可以直接替换内容,或者(将mirrorlist配置注释掉,并将baseurl修改为阿里云镜像地址)2.修改 vim /etc/yum.repos.d/CentOS-AppStream.repo 文件。3.修改 vim /etc/yum.repos.d/CentOS-Extras.repo 文件。1.修改 vim /etc/yum.repos.d/CentOS-Base.repo 文件。

2023-07-21 09:47:12 703

原创 阿里龙蜥操作系统(Anolis OS) 修改yum镜像

阿里龙蜥操作系统(Anolis OS) 修改yum镜像

2023-07-20 14:28:40 1973

原创 linux yum install安装jdk

linux yum install安装jdk

2023-07-20 10:06:57 103

原创 nacos开启鉴权后,服务启动报错(解决方案)

【代码】nacos开启鉴权后,服务启动报错(解决方案)

2023-07-19 16:32:36 2638

原创 dubbo2.7.9升级到dubbo3.0.7+nacos1.4.3+springboot2.6.6成功实践笔记

升级过程中遇到一堆的坑,不过都一一解决了,主要是版本冲突,启动失败以下是正确配置:springboot依赖<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.6.6</version>

2022-04-21 17:04:06 5185 3

原创 新增数据并发处理,避免重复数据插入

写在前面项目使用SpringBoot的多实例微服务层级调用Controller -->Service-->Dao或者Mapper(Mybatis)具体问题和解决方案最近在做一个模块的时候,有一个新增接口可能存在重复插入的问题QA人为模拟两个人同时操作,具体做法是用两个手机登录同一个界面同时操作,这样就造成了重复插入,在数据库层面,为了避免重复数据,我们可以建立唯一索引,但建立唯一索引后,程序就会抛出唯一性异常,需要捕获处理因为是多实...

2021-10-27 23:26:26 3673

原创 单元测试异常sourcesIterable

java.lang.NullPointerException: sourcesIterable at java.base/java.util.Objects.requireNonNull(Objects.java:246) at reactor.core.publisher.MonoWhen.<init>(MonoWhen.java:53) at reactor.core.publisher.Mono.when(Mono.java:1019) at com.d...

2021-09-08 10:25:14 303

原创 dubbo2.x升级到dubbo3

Dubbo3 基于 Dubbo2 演进而来,在保持原有核心功能特性的同时, Dubbo3 在易用性、超大规模微服务实践、云原生基础设施适配等几大方向上进行了全面升级按官方文档,直接修改版本号,将原来的2.7.9 改为 3.0.1<dependency> <groupId>org.apache.dubbo</groupId> <artifactId>dubbo-spring-boot-starter</artifactId&gt.

2021-08-09 19:10:19 3264 3

原创 对API网关的思考

最近我们公司的微服务即将上线一个重要项目,也做了dubbo服务化,可扩展或者说服务节点扩容是没什么问题,而且服务都是部署到云平台上的,但客户端到服务端中间没有做网关层,始终不放心,所以上周五的时候研究了下Spring Cloud Gateway微服务网关看完后了解的大概的意思,网关是用来做什么呢?主要是用来做一些统一的鉴权、日志,负载均衡,缓存,路由,过滤等功能那Spring Cloud Gateway官网介绍重点就是:1、断点路由:我们在做单元测试的时候是不是也有断言呢,其实就...

2021-07-25 11:05:36 121

原创 手机端扫描pad设备端二维码获取正式token的问题

今天遇到一个手机端扫描pad设备端二维码获取token的问题,因为二维码可能会过期,将过期的处理用redis解决,解决方案记录如下:流程:1、手机端扫描pad端(安卓系统),pad端获取uuid(随机uuid)并生成二维码,手机端将uuid作为key存入redis缓存中,value为设备码,这里可以认为uuid为设备端的临时token2、pad端通过临时token定时轮询服务端获取正式token,服务端获取到临时token,查询redis获得pad设备码,执行登录操作,返回正式token(前提是服务

2021-05-18 20:35:22 865

原创 RabbitMQ fanout广播消息使用匿名队列

场景我们希望发送的消息被所有绑定到这个交换机的所有队列消费到,那么我们通常会用到fanout类型的交换机,但我们又不想固定队列名称,那么就需要随机的队列名称,RabbitMQ中的AnonymousQueue就是解决这个问题的,通常,当您需要一个唯一命名的排他性自动删除队列时,建议您使用AnonymousQueue而不是broker定义的队列名称(使用“”作为队列名称会导致代理生成队列名称),默认情况下,队列名称以spring.gen-为前缀,后跟UUID的base64表示形式,例如:spring.g

2021-05-17 19:52:35 1985 1

原创 如何设计微服务才能防止宕机?

top查cpu进程,再通过 top -Hp 进程号定位某个进程,然后再用jstack定位线程代码,也可以在docker服务中放入阿里开源的arthas来排查故障数据库主从,主库出问题,可以切换到从库,分机房读写分离,程序上可以不做读写分离,但数据库做不同机房的主从同步单元化部署可用性更高的向嘀嘀打车的场景要求更高,需要做单元化部署,两个机房的数据库都是主库,而且互相同步数据,这样dba将减少比对数据时间,这样也减少处理故障时间,流量都50%,都对外提供服务读接口和写接口隔离...

2021-05-15 12:48:20 430

原创 RabbitMQ插件

https://www.rabbitmq.com/community-plugins.html比如:发送延时消息需要提前安装好延时插件,我们需要发布延时队列的时候非常有用https://github.com/rabbitmq/rabbitmq-delayed-message-exchange/releases/tag/v3.8.0

2021-05-13 20:54:14 509

原创 mac 安装docker容器相关笔记

1、mac下开发相关mac快捷键mac锁屏:在屏幕亮起来的情况下,按键盘上的control+cmmand+qMac os x下几款mysql客户端mac打开任何来源设置查看日志:docker logs -f -n 1000 job软件安装:Sublime Text 文本软件apache镜像软件下载:https://mirrors.tuna.tsinghua.edu.cn/apache/2、docker强制删除docker imagedocker image rm

2021-05-13 20:50:33 318

原创 dubbo服务化问题,多网卡或虚拟网卡导致provider找不到

Q、dubbo异常:Failed to check the status of the service . No provider available for the serviceMessageServiceA、1、查看消费者是否多网卡或虚拟网卡,将虚拟网卡禁止掉,生产者服务配置nacos绑定唯一ip或网段 2、生产者(provider)机器ip没用对外开放,因为有防火墙,禁用防火墙或将端口暴露出去...

2021-05-13 20:29:46 1058

原创 dubbo微服务优雅停机

docker之优雅停止容器优雅停止:程序停止之前,处理一下中间数据.docker中有两种终止容器运行的方式docker stop与docker kill建议使用docker stopdocker stopdocker stop 停止容器,默认允许容器中的程序有10秒时间以终止容器.docker stop执行的时候,会先向容器中PID为1的进程发送系统SIGTERM,然后等待容器中的应用程序终止执行,若等待时间到达设定或默认的超时时间,使用docker stop..

2021-05-13 20:27:23 484

原创 nacos日志打印频繁,导致节点挂掉

acos客户端连接时心跳日志打印频繁,日志文件生成太快并且很大,多数都是nacos中com.alibaba.nacos.client.naming路径打印,在配置文件中将该路径日志级别提升至error解决办法:修改nacos\conf\nacos-logback.xml添加 <logger name="com.alibaba.nacos.client.naming" level="ERROR"/>第二种办法 jar -jar配置参数:java -jar -Dcom.ali.

2021-05-13 20:23:48 2141

原创 jwt token解码

最近开发中需要从jwt token中解析出数据,写了个类,验证通过1、首先加入maven依赖:<dependency> <groupId>com.auth0</groupId> <artifactId>java-jwt</artifactId> <version>3.2.0</version></dependency>2、创建jwt工具类import com.auth.

2021-05-13 20:18:13 2701

原创 认识 Nacos 注册中心

目录什么是 Nacos注册中心的选择nacos 核心能力扩展集成能力实践nacos 服务发现配置动态更新总结什么是 NacosNacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您实现动态服务发现、服务配置管理、服务及流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构(例如微服务范式、云原生范式)的服务基础设施注册中心的选择我们都...

2021-04-21 05:19:48 167 1

原创 来深入理解线程本地变量ThreadLocal的操作

如果在多线程并发环境中,一个可变对象涉及到共享与竞争,那么该可变对象就一定会涉及到线程间同步操作,这是多线程并发问题。否则该可变对象将作为线程私有对象,可通过ThreadLocal进行管理,实现线程间私有对象隔离的目的。可以发现,ThreadLocal并没有解决多线程并发的问题,因为ThreadLocal管理的可变对象的性质本来就不会涉及到多线程并发而引发的共享、竞争和同步问题,使

2017-02-28 23:37:19 193

原创 老项目采用tomcat出现异常:Connection reset by peer: socket write error 异常解决方法

jsp+servlet项目一段时间就出现异常,导致无法登陆系统,数据库无法连接上异常信息如下:java.sql.SQLException: Io 异常: Connection reset by peer: socket write error at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134) a

2015-01-15 14:17:51 2933

原创 sqlplus客户端访问oracle中文显示?号的解决方法

换了机器装win8 64位系统,装了sqlplus后客户端访问oracle,执行SQL中文显示“?”环境变量添加 :变量名:NLS_LANG    变量值:SIMPLIFIED CHINESE_CHINA.ZHS16GBK保存后重启sqlplus重新执行SQL就搞定了。

2015-01-13 10:29:37 608

原创 zookeeper安装与启动

为了搭建dubbo的注册中心,需要用到zookeeper,以下是我的安装笔记:下载稳定版:http://apache.fayea.com/zookeeper/新建配置文件zoo.cfg,保存在conf子目录下,写入以下内容(下载后有自带的zoo_sample.cfg稍作修改即可):# The number of milliseconds of each tick # Z

2015-01-09 11:18:24 439

转载 Web服务器性能/压力测试工具http_load、webbench、ab、Siege使用教程

一、http_load程序非常小,解压后也不到100Khttp_load以并行复用的方式运行,用以测试web服务器的吞吐量与负载。但是它不同于大多数压力测试工具,它可以以一个单一的进程运行,一般不会把客户机搞死。还可以测试HTTPS类的网站请求。下载地址:http://soft.vpser.net/test/http_load/http_load-12mar2006

2014-08-15 13:54:45 410

转载 如何使用Apache的ab工具进行网站性能测试

如何使用Apache的ab工具进行网站性能测试

2014-08-15 10:46:01 611

转载 LVS+keeplived+nginx+tomcat高可用、高性能jsp集群

#!/bin/bash# BY kerryhu# MAIL:[email protected]# BLOG:http://kerry.blog.51cto.com# Please manual operation yum of before Operation.....#yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-d

2014-08-14 10:07:38 790

原创 axure怎么把一个文件中的部分页面复制到另一个文件

菜单——文件——从RP文件中导入。

2014-08-14 10:01:49 16054

转载 并发队列ConcurrentLinkedQueue和阻塞队列LinkedBlockingQueue使用场景总结

以下没有经过验证,只是转载下适用阻塞队列的好处:多线程操作共同的队列时不需要额外的同步,另外就是队列会自动平衡负载,即那边(生产与消费两边)处理快了就会被阻塞掉,从而减少两边的处理速度差距。当许多线程共享访问一个公共 collection 时,ConcurrentLinkedQueue 是一个恰当的选择。LinkedBlockingQueue 多用于任务队列

2014-08-12 21:45:31 765

转载 大型电子商务网站架构之-前端优化

1           前端优化必要性随着互联网的发展,前端优化越来越被人们重视,在一个大型的大型电子商务网站技术架构中,前端架构一定是一项必不可少的工作,国内几个大型的互联网公司也有非常强大的前端技术人员。在业界享有名气淘宝 UED 团队就有好几十人。在浏览器访问一个网站时,有 10%-20% 的时间是花在下载 HTML 上面,有 80%-90% 时间是花在下载页面中所有组件上面。如果我

2014-08-12 21:03:09 874

转载 Jmeter 的使用

1.版本2.3.42.操作系统xp3.jdk是1.61.jmeter安装1.下载jmeter的压缩包,解压后,有以下几个目录bin,docs,extras,lib,printable_docs。 bin目录windows用户,运行jmeter.bar就可以看到JMeter的GUI界面lib目录是jm

2014-08-12 16:59:43 540

转载 Java并发--任务执行

首先来看一下,任务的定义: 所谓的任务,就是抽象,离散的工作单位。你可以简单理解为代码级别的 (Runnable接口) 大多数并发应用程序都是围绕着任务进行管理的. 我们来看一小段代码:Java代码  package com.ivan.concurrent.charpter6;    import java.net.ServerSocke

2014-08-12 14:28:50 477

转载 JAVA多线程实现和应用总结

最近在做代码优化时学习和研究了下JAVA多线程的使用,看了菜鸟们的见解后做了下总结。1.JAVA多线程实现方式JAVA多线程实现方式主要有三种:继承Thread类、实现Runnable接口、使用ExecutorService、Callable、Future实现有返回结果的多线程。其中前两种方式线程执行完后都没有返回值,只有最后一种是带返回值的。2.继承Thread类实现多线程继

2014-08-12 13:38:00 423

转载 memcache和redis区别

总结一:memcache官方定义Free & open source, high-performance, distributed memory object caching system, generic in nature, but intended for use in speeding up dynamic web applications by alleviating d

2014-08-11 17:06:41 2615

转载 JVM 学习笔记

JVM 学习笔记Jack.Wang(本文未完,待续…..)摘要:JVM 作为 Java 的核心技术,很多朋友想必也有研究。一直都在关注 JVM 方面的技术,以前看过一些书籍和网上的资料,自己也发了些 Blog 文章,不过还是没有彻底的了解 JVM 机制,最近有时间研究了研究,特此写下一篇文章并结合笔者多年实践以揭露 JVM 实现机理,本文后面提供资料下载,读者可进一步研究。 

2014-08-11 15:55:41 503

原创 powerdesigner中怎么给一主键设为自增型auto_increment.

在你所要设为自增型的键上(比如你的id)双击,弹出一个Column Properties对话框,右下角有一个Identify的选择框,选中它OK,就可以了。再去查看Preview,就能看到用大写标识出来的AUTO_INCREMENT。一个更快捷的方法:Columns的UI上有一个漏斗型的图标 Customize columns and filters点击以后选择你要

2014-08-06 14:24:09 671

原创 使用Timer时要注意的问题

mTime = new Timer();                mTime.schedule(new TimerTask() {                    @Override                    public void run() {                        try{                          

2014-07-08 09:32:46 849

FreeMarker(使用方法).pdf

FreeMarker的学习参考资料,请下载吧

2011-03-04

WIN下安装配置SVN

6. 复制subversion"bin"下的*.so到apache 的安装目录的modules目录中,然后复制subversion"bin"目录中除libapr.dll,libapriconv.dll, libaprutil.dll之外的*.dll文件到apache"bin"目录中。 编辑httpd.conf(apache/conf下)去掉 LoadModule dav_module modules/mod_dav.so LoadModule dav_fs_module modules/mod_dav_fs.so 前面的"#"号并在最后添加下面几行 LoadModule dav_svn_module modules/mod_dav_svn.so LoadModule authz_svn_module modules/mod_authz_svn.so

2010-10-09

XSL简明教程(5)

当XML文档被转换成HTML文件,索引应该同时建立。简单的办法就是给你的for-each元素增加一个order-by属性,就象这样: <xsl:for-each select="CATALOG/CD" order-by=" ARTIST"> order-by属性带有一个" "或者"-" 的符号,用来定义索引的方式,是升序还是降序排列。符号后面的名字就是要索引的关键字。

2010-10-09

网页XSL基础教程,支持XML和XSL

一个跨浏览器的解决方法 在前面的章节中,我们解释了如何用XSL在浏览器中将XML文档转换成HTML,窍门 就是让JavaScript使用一个XML解析器来进行转换。但是当浏览器不支持XML解析 器时,这种方法是不奏效的。要使XML数据对所有浏览器都可用,我们就必须在服 务器上转换XML文档,并将它作为纯HTML发送到浏览器。 这是XSL的另一个美妙之处。XSL的设计目的之一是使得在服务器上将数据从一种 格式转换成另一种格式成为可能,并将可读数据返回到所有未来的浏览器中。 在服务器上进行XSL转换正在成为未来Internet信息服务器工作任务的一个主要部 分,同时我们将看到专用浏览器市场的发展,如:Braille、有声网络、网络打印 机、手持PC、移动电话等。

2010-10-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除