问题标签 [jcs]
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 - 运行项目时缓存内存未将值保存在缓存中
我在 maven 项目中实现缓存系统。我没有使用 spring 或任何框架。概念是:
因此,为了进行适当的组织,我使用了 Java 缓存系统(JCS)库,我参考了该库:
https://www.javaworld.com/article/2077936/open-source-java-projects-java-caching-system.html
所以,我需要有cache.ccf文件,该文件将包含缓存内存的所有配置。
我在我的服务类中使用的逻辑是。这个方法将从 API 调用中调用:
首先,我将使用以下命令检查缓存:
在第一种情况下,它总是空的,所以我将调用 DAO 层,同时将数据放入缓存中,即:
因此,数据被加载到缓存中,但是当我再次点击 URL 时,缓存仍然为空,它再次点击 DAO 层(如第二次点击,它需要从缓存中获取数据而不是从 DAO)。我尝试检查我的缓存大小,但它总是空的。当我将数据放入缓存时,它被添加到缓存中,但是当我尝试检索它时,它总是空的。将所有数据放入缓存的逻辑在DAO层是:
我现在正在输入我的完整代码:我的模型类是:
APi 调用通过这个类发生:
音乐服务.java
道类是:(我使用的是虚拟数据)
在src/main/resource
我有配置文件 cache.ccf 为:
我不知道这个文件是否是从类路径调用的,所以我在我的 pom.xml 中添加了:
在 pom.xml 中是:
我调用 api 时的输出http://localhost:8080/api/hello/getAllMusic
是:
我的预期输出是:
编辑源代码:我创建了新类 MusicClass.java
服务类功能的变化是:
我仍然得到相同的输出
java - 如何从java中的缓存中获取所有数据?
在这里,我使用的是 Java 缓存系统 (JCS)。我可以在缓存中放入和获取数据。我需要整个数据集,例如键值对。请指导我一种找回它的方法。
java - CompositeCacheManager.getUnconfiguredInstance() API 使用
下面是我的课的样子。
我的项目中存在 jcs-1.3.jar 并且在执行项目时低于异常。无法初始化类 org.apache.jcs.engine.control.CompositeCacheManager
java - JCS 服务器返回 null 并且不应该是
最初,位于 172.25.22.122:1101 的 JCS 服务器未运行。
JCS 客户端应用程序检测到这一点并在 172.25.22.121:1101 处绑定到 JCS
在尝试从缓存中获取值时,客户端应用程序获取:
所以 JCS 正在尝试连接到主 JCS 服务器并发现它不可用。
然后我似乎 JCS 尝试连接到故障转移服务器 (172.25.22.121:1101)。但是,从调用 JCS 返回的值为 null(不应该是 - 172.25.22.121:1101 处的缓存肯定有请求的值)
客户端配置和执行
服务器缓存.ccf
随后我启动了 JCS 服务器(导致客户端找到两台服务器):
172.25.22.122 启动
客户端应用 ping 其 JCS 服务器
但是客户端仍然从 JCS 接收空值:
请帮助解释我所看到的并提出解决方案。非常感谢。
java - java.lang.ClassNotFoundException:org.apache.commons.jcs3.utils.discovery.UDPDiscoveryMessage
我正在尝试使用 jcs 设置横向 TCP 缓存。我添加了 commons-jcs3-core-3.0.jar 作为依赖项。
但是得到 java.lang.ClassNotFoundException: org.apache.commons.jcs3.utils.discovery.UDPDiscoveryMessage
缓存.ccf
错误日志:
java - jcs JDBC 磁盘缓存是否适用于 postgres?
jcs JDBC 磁盘缓存是否适用于 postgres?我在 jcs 文档中看到 Oracle、MySQL 和 hsql 支持 jcs JDBC 磁盘缓存,因为它的 jdbc,它是否支持 postgres?如果是,它是否支持启用 ssl 的数据库连接?
java - 如何使用 Maven 依赖项而不是源代码在 SonarCloud 上运行 Coverage
我正在为 Apache JCS 编写一些测试用例。出于大学目的,我需要将这些测试与 Maven 和 SonarCloud 集成,特别是我需要在没有本地 JCS 源代码的情况下运行测试,而是通过 Maven 依赖项“导入”项目。
正确配置pom.xml
和sonar-project.properties
项目构建并且正确执行测试用例。但是,我还需要覆盖率指标,但它一直保持在 0%。
我认为解决方案在于配置,pom.xml
以便覆盖不仅在本地代码上运行,而且还通过解决依赖关系来运行。任何想法?
pom.xml
声纳-project.properties
travis.yml
测试示例
jcache - 当因达到 MaxObjects 而从 JCS 中删除项目时收到通知
我正在尝试将 JCache 与 JCS 实现一起使用。如果我在配置中设置 MaxObjects=1 之类的东西,那么缓存只能保存 1 个项目。如果我添加一个新项目,那么旧项目将从缓存中静默删除。有没有办法监控哪些项目从缓存中删除,因为项目数> MaxObjects?
已过期、已删除、已创建和已更新条目上有侦听器,但仅当我手动删除、添加项目或项目过期时才会调用这些侦听器。如果由于达到 MaxObjects 而从缓存中删除项目,则不会调用 CacheEntryRemovedListener#onRemoved。是否有其他听众被告知?
这是我使用的当前配置。
java - 一个区域的慢速 JCS 缓存
我有一个应用程序,我正在处理文件中的数千条记录,并使用 JCS 库将它们存储在缓存 (LRU) 中。我为它创建了两个区域,因为记录被处理了两次(由于某些业务需求)。
我注意到从 region- firstCache处理记录的速度比 region secondCache慢得多。但是,配置没有区别,只是在第一次处理时要缓存的记录数更多,所以我相应地设置了 maxObjects。
首先使用大小为 10 的线程池从 firstCache 区域处理记录,一旦完成,然后处理 secondCache 区域记录(线程池大小再次为 10)。
请提出缓存记录处理速度较慢的原因可能是什么?我应该在哪里寻找根本原因?
请在下面找到配置: