技术分享 CAS单点登录 服务端配置 查看内容

cas 入门之十四:ticket 存储方案之ConcurrentHashMap ticket存储

老高 | 发布于 2017-05-05 13:31| 浏览()| 评论() | 收藏() | 点赞() | 打印

摘要: cas 默认ticket存储放在ConcurrentHashMap,因为这种存储方式对于单个cas server服务器,那是再合适不过了

cas 默认ticket存储放在ConcurrentHashMap,因为这种存储方式对于单个cas server服务器,那是再合适不过了,

当然对于它的性能调整,也就是对于ConcurrentHashMap的性能调整,

默认情况下配置是:

<bean id="ticketRegistry" class="org.jasig.cas.ticket.registry.DefaultTicketRegistry" />

默认ticketRegistry涉及到三个参数:

initialCapacity - 初始容量。该实现执行内部大小调整,以容纳这些元素。
loadFactor - 加载因子阈值,用来控制重新调整大小。在每 bin 中的平均元素数大于此阈值时,可能要重新调整大小。
concurrencyLevel - 当前更新线程的估计数。该实现将执行内部大小调整,以尽量容纳这些线程。

在默认情况下,initialCapacity=16,loadFactor=0.75,concurrencyLevel=16;这个也是ConcurrentHashMap的无参构造器的默认参数,

当有性能需求时,可以进行相应的参数配置:

<bean id="ticketRegistry" class="org.jasig.cas.ticket.registry.DefaultTicketRegistry">
    <constructor-arg index="0" value="1000" />
    <constructor-arg index="1" value="1" />
    <constructor-arg index="2" value="16" />
</bean>


发表评论(对文章涉及的知识点还有疑问,可以在这里留言,老高看到后会及时回复的。)

表情