引入
在我写代码的过程中,突然莫名其妙的出现了这个Maven 报错,
1 | Failed to read artifact descriptor for org.apache.hadoop:hadoop-common:jar:2.4.0 |
AMQP,即Advanced Message Queuing Protocol
,一个提供统一消息服务的应用层标准高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。
基于此协议的客户端与消息中间件可传递消息,并不受客户端/中间件不同产品,不同的开发语言等条件的限制。
MQ 全称为Message Queue
, 消息队列。是一种应用程序对应用程序的通信方法。应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们。
消息传递指的是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信。队列的使用除去了接收和发送应用程序同时执行的要求。
在项目中,将一些无需即时返回且耗时的操作提取出来,进行了异步处理,而这种异步处理的方式大大的节省了服务器的请求响应时间,从而提高了系统的吞吐量。
还是之前自己的项目,我改了一下架构,然后在引入新的组件时就爆出了ClassNotFoundException 的异常。
1 | java.lang.ClassNotFoundException: org.mybatis.logging.LoggerFactory |
因为这个项目是之前就已经写好的架构,所以再出现这个问题时,我就想到了可能是依赖冲突的问题而导致的,在经过了MP 的Github 的issue 查询、StackOverFlow 之后,我找到了问题的答案那就是
1 | <dependency> |
主要的冲突有两个,因为之前使用过分页,所以分页有一个依赖的冲突、然后就是MP 包里自带的sql 解析的组件有冲突,至此,这个问题就已经很清楚了。
此博客内容均为作者学习所做笔记,侵删!
若转作其他用途,请注明来源!
最近一直在看Spring 的官方文档,突然间发现自己平时用的很多东西都只是一知半解的,浏览器查询出来的解决办法也没有能表达出原作者的意思,并且用到了很多的Java 的基础内容。
要是现在突然再回去补习Java 的基础知识也不现实,所以现在都是根据看到的Spring 的原理所依赖的Java 基础再来进行弥补以前不会的Java 基础。
切记,学习一样东西,如果你没有深刻领悟作者的思路,那么你也仅仅只是学会了使用工具,而没有学会造工具。
JNDI 即Java Naming and Directory Interface(JAVA 命名和目录接口),那么Java 命名的目的就是为了记录一些不方便记录的内容,就像DNS 中的域名与IP 的关系,存在一一对应的关系。
JNDI 被定义为独立于任何特定的目录服务实现。因此,可以以通用方式访问各种目录。