2017年02月28号网络文摘阅读笔记

基于Redis的Session共享示例

原文地址: 基于Redis的Session共享示例

阅读之前,脑补的画面是:在负载均衡的场景下,各个单机统一通过在业务代码中通过redis客户端存取session。

本文中提到的思路是,在Tomcat中,通过配置Session-Manager来实现。这里会用到jedis客户端jar包,common-pool2,以及tomcat-redis-session-manager的包。完全是通过配置的方式就实现了多个Tomcat的session共享。

所以本文的重点在于配置:如何配置在一台机器上启动多个Tomcat(通过指定不同的端口),如何安装和启动redis,如何配置Session-Manager。

Spring的事务管理机制

原文地址: Spring的事务管理机制

本文首先提到spring是通过内置的事务管理器来实现事务管理的。比如下面的列表:

  • DataSourceTransactionManager 数据源事务管理器,提供对单个javax.sql.DataSource事务管理,用于Spring JDBC抽象框架、iBATIS或MyBatis框架的事务管理;
  • HibernateTransactionManager 提供对单个org.hibernate.SessionFactory事务支持,用于集成Hibernate框架时的事务管理
  • .....

事务管理器是我们在spring的配置文件中来定义的:

<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
    <property name="dataSource" ref="dataSource" />
</bean>

spring支持编码式事务和声明式事务。

编码式事务其实就是在程序内部硬编码,最常见的例子就是在JDBC中手动开启事务,手动提交。这个不再赘言。

声明式事务基于AOP,允许通过配置的方式(配置文件或者注解)来实现事务的管理。

声明式事务涉及到的一些属性:

  • 传播行为:Propagation 定义了当存在多个事务的时候的一些处理机制。或者定义是否启用事务等等。
  • 隔离级别 定义了一个事务可能受其他并发事务影响的程度
  • 回滚规则
  • 事务超时
  • 是否只读

这篇文章算是对之前spring一些零散知识的小汇总,感觉有些收获。因为在日常开发中,经常会忽略上面提到的这些概念。

Java对象的序列化与反序列化

原文地址: Java对象的序列化与反序列化

按照以往的知识积累,在Java中这个话题主要涉及到Serializable接口、几个对象流(比如ObjectOutputStream)、Transient关键字、序列化ID。

这些知识点在本文中都有介绍,现粗略整理一下个人感觉不错的点。

  • Transient 关键字的作用是阻止被修饰的变量被序列化到文件中。
  • 虚拟机是否允许反序列化,不仅要求类路径一致,还要求两个类的序列化ID一致。通常我们在IDE中会自动生成随机的序列化ID。 可以考虑用固定的1L。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 47,126评论 6 342
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,941评论 19 139
  • application的配置属性。 这些属性是否生效取决于对应的组件是否声明为Spring应用程序上下文里的Bea...
    新签名阅读 10,782评论 1 27
  • 这些属性是否生效取决于对应的组件是否声明为 Spring 应用程序上下文里的 Bean(基本是自动配置的),为一个...
    发光的鱼阅读 5,269评论 0 14
  • 没看开会看见了没看开会看见了没看开会看见了没看开会看见了没看开会看见了没看开会看见了没看开会看见了没看开会看见了没...
    排骨菌阅读 2,405评论 0 2

友情链接更多精彩内容