Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在集群环境中使用Spring Security OAuth_Java_Spring_Spring Security_Oauth 2.0 - Fatal编程技术网

Java 如何在集群环境中使用Spring Security OAuth

Java 如何在集群环境中使用Spring Security OAuth,java,spring,spring-security,oauth-2.0,Java,Spring,Spring Security,Oauth 2.0,我正在使用MemoryTokenStore中的,在群集环境中不起作用。我必须将令牌存储在集群环境中可以轻松访问的地方 我不能使用JdbcTokenStore,因为我没有数据库的访问权限。 我想使用“Ehcache”或“RedistokeStore”。请帮助我哪种方法更好,以及我如何使用它 首先,您有一个集群环境,这意味着 应用程序正在处理严重的业务逻辑 将inMemory数据从一个servlet容器应用到另一个非常昂贵。好的是,你已经意识到为了更好的解决方案而努力 EhCache是一个用于跨网络

我正在使用MemoryTokenStore中的
在群集环境中不起作用。我必须将令牌存储在集群环境中可以轻松访问的地方

我不能使用
JdbcTokenStore
,因为我没有数据库的访问权限。 我想使用“Ehcache”或“RedistokeStore”。请帮助我哪种方法更好,以及我如何使用它

首先,您有一个集群环境,这意味着 应用程序正在处理严重的业务逻辑

inMemory
数据从一个
servlet容器应用到另一个
非常昂贵。好的是,你已经意识到为了更好的解决方案而努力

EhCache是一个用于跨网络中的所有节点维护缓存的工具 集群环境

EhCache本身不是一种缓存类型,只是一种工具。也, EhCache不维护缓存,它只是触发一些 跨节点的操作/服务,以便每个节点可以 重新刷新/更新自己的缓存

  • 用于处理缓存一致性问题的技术 跨群集节点包括:
  • 每次需要时都从存储(DB)中提取数据(无缓存)。一般来说,这是一项昂贵的操作,并且 基于web的多用户应用程序中的性能影响
  • 通过按预先配置的间隔轮询和刷新,使本地缓存保持最新
  • 跨群集节点复制缓存数据
  • 根据通知集群成员更改的分布式事件,使本地缓存保持最新
Redis在分布式环境中工作得非常好,尤其是在 和。我的建议是赞成

这些教程将帮助您了解实现:


我在集群应用程序中使用了JCache(JSR107)规范的实现

您可以按以下方式设置缓存:

Ignite ignite = Ignition.ignite();
CacheConfiguration<CacheKey, Object> cacheCfg = new CacheConfiguration<CacheKey, Object>(cacheName.toString());
cacheCfg.setCacheMode(CacheMode.PARTITIONED);
cacheCfg.setBackups(1);
cacheCfg.setWriteSynchronizationMode(CacheWriteSynchronizationMode.FULL_SYNC);
cacheCfg.setExpiryPolicyFactory(CreatedExpiryPolicy.factoryOf(new Duration(TimeUnit.SECONDS, 604800)));
IgniteCache<CacheKey, Object> igniteCache = ignite.getOrCreateCache(cacheCfg);

请说出我的答案。如果有帮助,请接受!此外,您还可以探索JWT。
igniteCache.get(key);
igniteCache.put(key, o);