`
SoberChina
  • 浏览: 76775 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
首先说一下自己程序中遇到的问题,前一段新写了一个项目,主要为方便公司业务切库做准备,为其他项目提供接口(spring boot 项目<spring boot + mongo data jpa+mybatis>) 首先呢 多数据源没有使用spring boot 集成mybatis,开始有过自己搭建spring boot 都是单数据源的,所以没有自己手写加载数据源的代码(比较懒),在新项目中使用的是阿里的druid连接池,配置当然更简单了,除了数据库地址,驱动类,用户名和密码其他一起都是默认,开始的时候由于项目更新上线频率比较多,没有出现太多的问题,而且访问比较频繁,接着慢慢提供接口 ...
apm (Application Performance Managment :应用性能管理)简写,业界有很多成熟的收费工具,听云、OneAPM等。当然也有开源的apm,git地址: https://github.com/wu-sheng/sky-walking。功能方面当然和收费的没法比,但是了解一下也挺不错的,skywalking ...
  随着 微服务 的流行,相比较以前一个大型应用程序搞定所有需求,我们现在更倾向于把大型应用程序切分成多个微服务,当然快速搭建微服务springBoot是个不错的选择,当然springBoot优势不仅仅在于快速开发,spring-boot-starter-actuator 它提供了监控接口,例如:/health、/info等等,实际上除了之前提到的信息,还有其他信息业需要监控:当前处于活跃状态的会话数量、当前应用的并发数、服务资源、延迟以及其他度量信息,精简配置,运用javaconfig不用再去添加“一坨”xml配置。简明而强大的springBoot具有很大的应用价值。开源的SBA监控工具 ...
  项目运用rabbitMq 实现的分布式架构,每台机器既是生成者也是消费者,改项目依赖于外部调度服务,mq的consumer listener引用其他组的jar包(实现对外部资源的调用),消息消费是单线程的,在此调用jar包操作业务或者是个人代码写的有问题,可能导致线程死锁,或者其他代码问题(http请求未设置超时),导致消息消费被卡住,最终消息堆积。导致正常业务垮掉。既然consumer没配置消息的超时时间,java支持多线程,那么可以用来完美解决,worker线程执行任务,protect线程监听worker线程判断执行时间,(其实这两个线程都是在同时互相监听,各自执行完毕stop未执 ...
builder 模式的代码 手写的话不是不可能,字段多了 就恶心了,下面就会看到,长话短说,IEDA 安装 builder 插件 首先Idea  快捷键Ctrl +alt+s  打开preference  找Plugins   弹出来一个窗口 搜索InnerBuilder 点击右边的 install 就完了,等待下载完成,重启idea。进入我们写好的类,点击鼠标右键,选择Generate 下面有一个builder,选择想要的属性。体验优雅的代码 然后说一下Java中设计模式 ,提到设计模式,懂得人说:“代码变得更优雅,更好看”,不懂得人看了一脸懵逼,那就说一下builder模式吧,对于一些 ...
spring是一个非常强大的东西,其中提供了一个工具类 RestTemplate 主要提供http服务, RestTempalate 字符串类型默认StringHttpMessageConverter做转码,而StringHttpMessageConverter的默认编码集是ISO8859-1,本工程编码是UTF-8 故发送到服务器端会存在中文乱码 。 把restTempalate 中 StringHttpMessageConverter 默认编码设置为UTF-8 具体:使用 restTempalate 构造函数 public RestTemplate(List&gt; messageC ...
Global site tag (gtag.js) - Google Analytics