摘要:
生产者投递消息到mq服务器,如果不保证消息和队列的持久化,那么当mq宕机时消息将彻底丢失,所以需要对消息做持久化存储,可以存储到磁盘或者数据库中,当mq服务器恢复时,消费端可以继续消费mq服务器中的消息。 但是,比如RabbitMQ的消息持久化,是不承诺100%的消息不丢失的! &emsp**;原因 阅读全文
posted @ 2020-12-16 09:32
LinYanyan
阅读(725)
评论(0)
推荐(0)
摘要:
当使用构造器方式初始化一个bean,而且此时多个Bean之间有循环依赖的情况,spring容器就会抛出异常! 解决办法:初始化bean的时候(注意此时的bean必须是单例,否则不能提前暴露一个创建中的bean)使用set方法进行注入属性,此时bean对象会先执行构造器实例化,接着将实例化后的bean 阅读全文
posted @ 2020-12-16 09:30
LinYanyan
阅读(457)
评论(0)
推荐(0)
摘要:
select for update 的使用场景,为了避免自己看到的数据并不是数据库存储的最新数据并且看到的数据只能由自己修改,需要用 for update 来限制。 阅读全文
posted @ 2020-12-16 09:28
LinYanyan
阅读(388)
评论(0)
推荐(0)
摘要:
数据库事务必须具备ACID特性 Ø原子性:Atomic,所有的操作执行成功,才算整个事务成功 Ø一致性:Consistency,不管事务success或fail,不能破坏关系数据的完整性以及业务逻辑上的一致性 Ø隔离性:Isolation,每个事务拥有独立数据空间,多个事务的数据修改相互隔离。事务查 阅读全文
posted @ 2020-12-16 09:27
LinYanyan
阅读(124)
评论(0)
推荐(0)
摘要:
答:ZK保证Cp,即一致性,分区容错性,比如当master节点因为网络故障和其他节点失去联系的时候,剩余节点会重新进行Master选举。问题在于Master选举的时间太长30~210s,选举期间整个zk集群是不可用的,这就导致选举期间的注册服务瘫痪。 Eureka保证Ap,高可用性,它没有所谓主从节 阅读全文
posted @ 2020-12-16 09:26
LinYanyan
阅读(83)
评论(0)
推荐(0)
摘要:
是单例模式,所以在多线程访问的时候有线程安全问题,不要用同步,会影响性能的,解决方案是在控制器里面不能写字段。 阅读全文
posted @ 2020-12-16 09:24
LinYanyan
阅读(352)
评论(0)
推荐(0)
摘要:
1)springmvc的入口是一个servlet即前端控制器,而struts2入口是一个filter过虑器。 2)springmvc是基于方法开发(一个url对应一个方法),请求参数传递到方法的形参,可以设计为单例或多例(建议单例),struts2是基于类开发,传递参数是通过类的属性,只能设计为多例 阅读全文
posted @ 2020-12-16 09:23
LinYanyan
阅读(61)
评论(0)
推荐(0)
摘要:
延迟加载就是并不是在读取的时候就把数据加载进来,而是等到使用时再加载。Hibernate使用了虚拟代理机制实现延迟加载,我们使用Session的load()方法加载数据或者一对多关联映射在使用延迟加载的情况下从一的一方加载多的一方,得到的都是虚拟代理,简单的说返回给用户的并不是实体本身,而是实体对象 阅读全文
posted @ 2020-12-16 09:22
LinYanyan
阅读(90)
评论(0)
推荐(0)
摘要:
① 关闭延迟加载特性。这种方式操作起来比较简单,因为Hibernate的延迟加载特性是可以通过映射文件或者注解进行配置的,但这种解决方案存在明显的缺陷。首先,出现"no session or session was closed"通常说明系统中已经存在主外键关联,如果去掉延迟加载的话,每次查询的开销 阅读全文
posted @ 2020-12-16 09:21
LinYanyan
阅读(83)
评论(0)
推荐(0)
摘要:
商品和订单、学生和课程都是典型的多对多关系。可以在实体类上通过@ManyToMany注解配置多对多关联或者通过映射文件中的和标签配置多对多关联,但是实际项目开发中,很多时候都是将多对多关联映射转换成两个多对一关联映射来实现的 阅读全文
posted @ 2020-12-16 09:19
LinYanyan
阅读(681)
评论(0)
推荐(0)
浙公网安备 33010602011771号