问题标签 [jcache]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - ehcache.xml 中的配置不用于创建的 JCache 实例
我正在尝试使用 JCache(JSR 107)的 EHCache 实现,我在下面提供了以下配置文件src\main\resources\ehcache.xml
:
这是我创建缓存的方法:
但似乎创建的缓存没有使用提供的配置(即在 下ehcache.xml
),因为这里调试时是 ehcache 实例的属性:
hazelcast - 如何在JCache中查看Cache的内容
有使用键读取缓存的选项。像这样 :
使用后者,它将过期的加载到缓存中,然后显示它。
但要求是查看当前缓存中的所有内容。
java - 尝试使 Hazelcast 集群与 JCache 兼容客户端一起工作时出现异常
我正在尝试使一个小型 Hazelcast 集群与简单的 JCache 兼容客户端合作。不幸的是,我得到了异常:“java.lang.IllegalArgumentException:没有使用名称注册的服务:hz:impl:cacheService”。我将不胜感激如何解决这个问题。
我正在使用 Hazelcast 3.4 版(与 3.3 和 3.4-EA 有相同的行为)。
这是 hazelcast-client.xml 的片段:
Hazelcast 集群节点的日志:
以下是来自客户端的日志:
java - 获取所有缓存名称
我正在开发一个 REST 应用程序来读取使用 J Cache 和 Hazel cast 3.3.3 的集群中的所有缓存
当我在应用程序中调用以下行时,此应用程序将创建另一个 hazel cast 节点:
该节点与已创建的节点聚集在一起。但是当我尝试使用以下命令获取集群的所有缓存名称时,它返回一个空的可迭代对象:
我浏览了 Jcache 的 Java 文档,其中包含:
可能无法提供由 CacheManager 管理的所有缓存。例如:可能不存在可通过调用 getCache(java.lang.String) 或 getCache(java.lang.String,java.lang.Class,java.lang.Class) 访问的内部定义或平台特定缓存在一次迭代中。
但是我尝试访问的缓存不是内部定义的或特定于平台的。它们由其他节点创建。
我想要一种方法来获取集群中存在的所有名称。有办法吗?
注意:应用程序中没有使用 hazelcast.xml。全部由默认的 xml 初始化。
更新:
如果我知道名称,我可以访问缓存。并且第一次直接给名字访问后,现在显示缓存在cacheManager.getCacheNames().iterator()
hazelcast - 防止对 Hazelcast 社区版集群的不必要访问
我在两台机器集群中运行 Hazelcast 3.4。为了同步他们的内容,我让他们通过网络连接。现在我搜索手段以防止不必要的写入,如果可能的话,对其中任何一个进行读取访问。安全性仅在企业版中可用,据我所知,组仅阻止其他 Hazelcast 服务器加入集群。
是否可以让两台服务器通过网络同步但阻止其他服务器简单地连接到端口 5701 并读/写?
如果此信息有助于缩小问题范围:我只使用 Hazelcast 的 JCache 功能,因此我只需要保护该部分。设置允许 ServerA<->ServerB 并阻止 viciousUser<->ServerN 的防火墙配置是不可能的,因为我不允许在服务器上配置防火墙(不要问为什么;-))
ehcache - 通过 JCache 远程管理缓存内容
我有一个需求,我想查看、修改缓存条目的内容或向缓存条目添加新条目。我使用 JCache API 和 EHCache 作为提供者。
我不想编写任何包装 API 来公开缓存内容。我想知道有没有办法远程访问缓存内容。我看到 JCache 支持两个 MBean,但它们是用于配置和统计数据的。
谢谢
wso2 - WSO2 Identity Server 5.0.0 集群与 Oracle Coherence
晕所有人(也许是 Asela?:),
谁能指导我如何将 Oracle Coherence 实现为使用 WSO2 ELB 集群化的 WSO2 Identity Server 5.0.0 的缓存提供程序?
我发现了一些关于该主题的非常有用的链接,我认为这是一个好的开始:集群身份服务器
但是我找不到如何为任何其他提供商更改 Hazelcast 缓存提供商的解决方案。
我还意识到,WSO2 没有使用 JDK 的 javax.caching 实现(因为它是在 1.7 及更高版本中引入的),它使用的是基于 JSR-107 的自己的实现(我认为 Java JDK JCache 源自 JSR。
本文显示,有一种方法,如何以某种方式实现用户 JSR 107 JCache,但我没有看到它为整个身份服务器配置: WSO2 多租户缓存:JSR-107 (JCache)
我期待答案将指导我,更改或添加什么(例如碳核心)以及在哪里设置/配置这些更改,以使它们在 WSO2 Identity Server 5.0.0 中全局使用。
我希望这是一个相关的问题,并且由于这个基于 Carbon 的平台非常丰富且可配置,我希望通过投入一些时间来实现这一点。
先感谢您,
约瑟夫
java - Hazelcast cache implementation in my application
Below is my scenario from Application perspective.
We have 2 applications (.war) files will be running in a same instance of Application server (mostly Tomcat 8), In production we may deploy App1 on 100 servers and App2 only on 50 server out of those 100 (The App2 does not need to be distributed so much)
Now this 2 applications (.war) depends on a common custom jar (some utility classes)
I am planning to use Jcache API and hazelcast implementation in our apps. I have added following dependency in my pom.xml
Plan is to write a utility CacheManager in this common custom jar which will be shared by App1 and App2.
I am planning to use only the hazelcast server provider as I am doing in-memory cluster i.e. the caching will be in application memory.
Below is the snippet of my code.
My hazelast.xml
Now I have several question around this approach.
Is this a good way to implement the in memory caching (currently we are not looking for cluster caching), should this code be in the common custom jar or somewhere else?
There is some master data from DB which I am planning to load (both applications need this data) so not sure how and where I should load this data into memory. Note: I do not want to do lazy loading; I want to load this master data very first.
Where should I add the cache shutdown code to avoid memory leak issues, as this cache is shared by both the applications.
Update
Also by implementing this approach will I have 2 copies of cache each for application or a single copy will be shared across both?
I have already implemented this approach in my application and from Hazelcast management console I can see that there is only 1 cache is created but it says GET is executed on this cache twice.
java - 当方法没有参数时使用@CacheResult
我有一个方法可以返回系统的(很少更改的)配置并想要缓存它。配置是根据不同的数据块构建的,所以我不想缓存单个块,而是SystemConfiguration
对象本身。
该方法没有参数,我如何告诉 Ehcache 使用固定键“配置”(配置只有一个实例)?我必须创建一个CacheKeyGenerator
还是有更简单的方法?
java - Hazelcast - Jacache cacheManager.getCache 返回 null - 抛出 ClassCastException
我在我的 Web 应用程序中使用 Jache 和 Hazelcast 作为实现,当我在 tomcat 上部署我的应用程序时,我有一个上下文侦听器,它调用 CacheManager 并加载一些数据,现在当它尝试从指定的 CacheManager 获取缓存时(cacheName,类,类)它返回 NULL。
我正在为 hazelcast 使用声明性配置,即我已经定义了 hazelcast.xml,当服务器启动时,我可以看到它能够读取我的这个文件。
下面是我的 ContextListener 代码
我的 CacheManager 类
我的 Hazelcas.xml
我的自定义 CacheLoader 类
}
服务器堆栈跟踪
根据服务器堆栈跟踪,很明显它无法将我的 custo CacheLoader 转换为javax.cache.configuration.Factory
但是有人可以告诉我为什么会这样。