随笔 - 441
文章 - 4
评论 - 84
阅读 -
109万
随笔分类 - java
解决程序访问不稳定的问题
摘要:故障现象 在生产环境中,发现jpaas 程序在访问时,访问同一个页面出现时快时慢的现象,就是刷新同一个方法,有时 很快返回,有时需要5秒到10秒中。 排查过程 检查JVM发现程序的CPU并不高,访问量也不大。排除了 比如 zipkin 的问题之后,问题还是没有解决。 于是我考虑在 查询方法上加一个
阅读全文
设计模式之装饰者模式
摘要:概要 动态地给一个对象增加一些额外的职责,增加对象功能来说,装饰模式比生成子类实现更为灵活。装饰模式是一种对象结构型模式。 装饰者对象的角色 Component(抽象构件): 它是具体构件和抽象装饰类的共同父类,声明了在具体构件中实现的业务方法,它的引入可以使客户端以一致的方式处理未被装饰的对象以及
阅读全文
CAS 集群部署
摘要:业务场景 单点登录服务器如果压力过大的情况,那么可以使用集群分担压力,但是cas 默认不支持session同步。 所以可以需要做session同步,可以使用j2cache 实现session同步。另外在登录后,cas服务器保存了客户端 对应的ticketId,因此也需要将ticket实现同步。 实现
阅读全文
HTML5 通过 FileReader 实现文件上传
摘要:概述 在页面中上传时,之前一般都是需要使用form表单进行上传。html5 中提供了FileReader 可以将文件转换成Base64编码字符串,因此就可以直接使用 AJAX实现文件上传。 实现代码 1.前端JS代码 2.后端代码 在后端代码接收的是base64 编码,转换成bytes后写入文件。
阅读全文
springboot 程序发布到tomcat运行
摘要:springboot 一般使用jar 的方式运行,我们需要将程序放到tomcat环境下运行。 步骤如下: 1.修改pom文件。 排除内置的tomcat 修改打包方式 <packaging>war</packaging> jar的方式改成 war打包。 2.修改启动代码 增加代码 将打包后的代码放到t
阅读全文
springboot xml声明式事务管理方案
摘要:在开发过程中springboot提供的常见的事务解决方案是使用注解方式实现。 使用注解 在启动类上添加注解 @EnableTransactionManagement 在需要事务控制的方法添加@Transactional注解 这种方式问题是,我们需要在方法上添加注解,这样处理起来特别麻烦。 我们可以使
阅读全文
springboot mybatis 分页整合
摘要:spring boot 整合mybatis ,分两块mybatis 整合,分页整合。 1.pom文件增加 2.创建表 3.创建SaleOrder.map.xml 文件 注意命名空间 com.neo.dao.SaleOrderDao 配置map文件扫描。 4.增加Dao类 5.配置dao类扫描。 这里
阅读全文
springboot 配置DRUID数据源
摘要:druid 是阿里开源的数据库连接池。 开发时整合 druid 数据源过程。 1.修改pom.xml 增加上面的配置。 2.编辑配置数据源代码。 3.编写配置文件 druid.properties 4.启动程序查看效果
阅读全文
springboot Thymeleaf 整合
摘要:Thymeleaf是一个Java模板引擎开发库,可以处理和生成HTML、XML、JavaScript、CSS和文本,在Web和非Web环境下都可以正常工作。 Thymeleaf可以跟Spring boot很好的集成。 整合步骤 1.修改pom.xml 增加下面代码片段: 2.修改 applicati
阅读全文
springboot 增加过滤器方法
摘要:在访问服务器时,我们需要控制用户是否允许权限,这个时候可以使用过滤器。 在springboot 配置过滤器的方法如下: 编写过滤器代码: 编写加载过滤器代码: 这里我们看到我们注册了两个过滤器,过滤器的执行顺序通过setOrder确定。
阅读全文
springboot 容器启动事件
摘要:在springboot 容器启动时,我们需要在启动过程中做一些操作,比如启动容器后,执行某些代码。 spring 提供了监听器,我们可以方便的实现这些操作。 在容器启动开始时: 在容器启动完成后执行操作: 如果需要有顺序执行,我们可以实现Ordered接口,只越小,越先执行。
阅读全文
springboot 碰到的问题
摘要:1.在springboot 启动报错 ** WARNING ** : Your ApplicationContext is unlikely to start due to a @ComponentScan of the default package. 该警告说明 ApplicationConte
阅读全文
mysql 切换数据库方案
摘要:业务场景 在SAAS模式下,不同的租户需要切换数据库,我们可以使用动态数据源,动态数据源有个问题,就是需要对每一个数据库创建一个连接池,在初始化的时候初始化这些连接池, 如果多台应用服务器的情况,每一台应用服务器都需要创建连接池。 比如有10台应用服务器,每台创建10个链接池。每个连接池200个链接
阅读全文
docker 的使用
摘要:dock安装 curl -sSL https://get.daocloud.io/docker | sh docker-compose 安装 curl -L "https://github.com/docker/compose/releases/download/1.22.0/docker-comp
阅读全文
tomcat7 安装 windows 服务
摘要:tomcat 可以安装成windows 服务,这样 每次启动就不需要启动tomcat了。 具体配置: 1.修改 service.bat 在行首添加 set "JAVA_HOME=E:\jdk17" 修改 JDK路径 2.在 conf\logging.properties; 添加 -XX:PermSi
阅读全文
获取POM.XML依赖的JAR包
摘要:pom.xml 文件的依赖在本地仓库中,有些情况我需要根据pom.xml 抓取所有依赖的JAR包。 这个可以通过 ant 完成这个包的抓取。 首先需要下载 maven-ant-tasks-2.1.3.jar jar包,这样我们执行这个ant 脚本就可以将所有的依赖包抓取到我们指定的 目录中了。
阅读全文
集成 dubbo 微服务
摘要:微服务架构近年来非常的火,阿里 的dubbo 是其中的一种解决方案。 dubbo 的微服务主要分为以下几部分: 1.注册中心 2.服务提供者 3.消费者 4.监控平台 1.一般流程服务提供者向注册中心注册服务。 2.客户端向注册中心请求服务。 3.注册中心通知客户端访问提供者。 4.监控负责服务是否
阅读全文
使用AXIS2客户端调用 WEBSERVICE
摘要:问题 在调用WEBSERVICE时,可以使用wsdl2java生成java代码,调用接口,这种方法在接口固定的情况下是一种不错的选择,如果需要动态调用接口,那么这样就行不通了。 解决办法 1.直接构建soap包进行调用。 2.使用AXIS2包进行调用,下面代码就是使用的这种方式。 测试代码 package wsclient; import javax.xml.nam...
阅读全文
CXF支持 SOAP1.1 SOAP1.2协议
摘要:SOAP协议分为两个版本 1.1 1.2 默认支持1.1 实现方式: 1.编写接口 import javax.jws.WebService; @WebService public interface ISerivceTest { String sayHello(String name); } 2.编写实现方式 import javax.jw...
阅读全文
实现OAUTH协议 实现 QQ 第三方登录效果
摘要:1.OAuth的简述 OAuth(Open Authorization,开放授权)是为用户资源的授权定义了一个安全、开放及简单的标准,第三方无需知道用户的账号及密码,就可获取到用户的授权信息,并且这是安全的。 1.主要的应用场景 1.目前很多网站集成了新浪微博,QQ等登录平台,这带来的好处是不言而喻的,只需要一个QQ号,就可以登录集成了qq登录的网站, 不用记住太多的用户名和密码,如果...
阅读全文