问题标签 [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.

0 投票
0 回答
41 浏览

java - Java缓存系统(JCS)中的打印空值

我尝试使用(JCS)实现java缓存系统。我从一些网站学习并尝试实现它们。这是我的一些配置:

pom.xml

主 app.java 类

专辑.java

MusicStore.java

我已将 cache.ccf 和 log4j.properties 文件配置为: 在此处输入图像描述

我不知道我是否将这些文件放在正确的路径中并正确加载了代码。起初,没有找到文件错误,所以我移动了 int src 文件夹并在代码中进行了配置。

缓存.ccf

log4j.properties

但是我的项目运行成功,但 Null 在输出中打印为:

除了这个值,输出中没有打印任何内容。为什么没有我的输出来?

0 投票
0 回答
734 浏览

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

服务类功能的变化是:

我仍然得到相同的输出

0 投票
0 回答
471 浏览

java - 如何从java中的缓存中获取所有数据?

在这里,我使用的是 Java 缓存系统 (JCS)。我可以在缓存中放入和获取数据。我需要整个数据集,例如键值对。请指导我一种找回它的方法。

0 投票
1 回答
57 浏览

java - CompositeCacheManager.getUnconfiguredInstance() API 使用

下面是我的课的样子。

我的项目中存在 jcs-1.3.jar 并且在执行项目时低于异常。无法初始化类 org.apache.jcs.engine.control.CompositeCacheManager

0 投票
0 回答
177 浏览

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

随后我启动​​了 JC​​S 服务器(导致客户端找到两台服务器):

172.25.22.122 启动

客户端应用 ping 其 JCS 服务器

但是客户端仍然从 JCS 接收空值:

请帮助解释我所看到的并提出解决方案。非常感谢。

0 投票
0 回答
115 浏览

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

错误日志:

0 投票
1 回答
26 浏览

java - jcs JDBC 磁盘缓存是否适用于 postgres?

jcs JDBC 磁盘缓存是否适用于 postgres?我在 jcs 文档中看到 Oracle、MySQL 和 hsql 支持 jcs JDBC 磁盘缓存,因为它的 jdbc,它是否支持 postgres?如果是,它是否支持启用 ssl 的数据库连接?

0 投票
0 回答
189 浏览

java - 如何使用 Maven 依赖项而不是源代码在 SonarCloud 上运行 Coverage

我正在为 Apache JCS 编写一些测试用例。出于大学目的,我需要将这些测试与 Maven 和 SonarCloud 集成,特别是我需要在没有本地 JCS 源代码的情况下运行测试,而是通过 Maven 依赖项“导入”项目。

正确配置pom.xmlsonar-project.properties项目构建并且正确执行测试用例。但是,我还需要覆盖率指标,但它一直保持在 0%。

我认为解决方案在于配置,pom.xml以便覆盖不仅在本地代码上运行,而且还通过解决依赖关系来运行。任何想法?

pom.xml

声纳-project.properties

travis.yml

测试示例

0 投票
0 回答
17 浏览

jcache - 当因达到 MaxObjects 而从 JCS 中删除项目时收到通知

我正在尝试将 JCache 与 JCS 实现一起使用。如果我在配置中设置 MaxObjects=1 之类的东西,那么缓存只能保存 1 个项目。如果我添加一个新项目,那么旧项目将从缓存中静默删除。有没有办法监控哪些项目从缓存中删除,因为项目数> MaxObjects?

已过期、已删除、已创建和已更新条目上有侦听器,但仅当我手动删除、添加项目或项目过期时才会调用这些侦听器。如果由于达到 MaxObjects 而从缓存中删除项目,则不会调用 CacheEntryRemovedListener#onRemoved。是否有其他听众被告知?

这是我使用的当前配置。

0 投票
0 回答
20 浏览

java - 一个区域的慢速 JCS 缓存

我有一个应用程序,我正在处理文件中的数千条记录,并使用 JCS 库将它们存储在缓存 (LRU) 中。我为它创建了两个区域,因为记录被处理了两次(由于某些业务需求)。

我注意到从 region- firstCache处理记录的速度比 region secondCache慢得多。但是,配置没有区别,只是在第一次处理时要缓存的记录数更多,所以我相应地设置了 maxObjects。

首先使用大小为 10 的线程池从 firstCache 区域处理记录,一旦完成,然后处理 secondCache 区域记录(线程池大小再次为 10)。

请提出缓存记录处理速度较慢的原因可能是什么?我应该在哪里寻找根本原因?

请在下面找到配置: