- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在使用 com.jcabi.aspects
的 @Cacheable
注释作为我项目中的缓存机制,我有一个场景需要从中刷新特定数据缓存而不是刷新整个缓存。怎么可能?
例如,
import com.jcabi.aspects.Cacheable;
public class Employees {
@Cacheable(lifetime = 1, unit = TimeUnit.HOURS)
static int size(Organization org) {
// calculate their amount in MySQL
}
@Cacheable.FlushBefore
static void add(Employee employee, Organization org) {
// add a new one to MySQL
}
}
如果我有一个由两个组织 Org1 和 Org2 使用的 Employees 类,现在如果一个新员工被添加到 Org1,那么只有 Org1 的数据应该从缓存中刷新,而 Org2 的数据应该保留在缓存中。
com.jcabi.aspects.Cacheable @Cacheable 引用:http://www.yegor256.com/2014/08/03/cacheable-java-annotation.html
最佳答案
jcabi-aspects 是不可能的.而且我相信您的设计应该得到改进,以使其成为可能。目前你的类(class) Employees
并不是真正的 proper object ,而是一组程序(utility class)。这就是缓存不能正确完成的原因。相反,您需要一个新的类/装饰器 MySqlOrganization
:
class MySqlOrganization {
private final Organization;
@Cacheable
public int size() {
// count in MySQL
}
@Cacheable.FlushBefore
public void add(Employee emp) {
// save it to MySQL
}
}
现在看到适当的 OOP 的好处了吗? :)
关于java - 如何在使用 com.jcabi.aspects 的 @Cacheable 注释时从缓存中刷新特定数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41821981/
我正在尝试按照 http://www.yegor256.com/2014/05/23/avoid-java-static-logger.html 的链接中所述使用 jcabi-log 进行记录. 我有
jcabi @RetryOnFailure 无法解析为类型。 我在我的 pom.xml 中添加了'编织'和 jcabi 依赖项 com.jcabi jcabi-mave
我目前正在开发 Bukkit 插件,并尝试实现从 github 获取配置文件。我正在尝试使用 JCabi-Github 来实现此目的。我实现了该库并正常工作,但每当我使用它时,它都会产生错误。我尝试使
本文整理了Java中com.jcabi.http.response.XmlResponse类的一些代码示例,展示了XmlResponse类的具体用法。这些代码示例主要来源于Github/Stackov
我正在注释我的函数 @Loggable jcabi 注释。它记录的语句不完整,它修剪行并只打印 .. 截断的数据。我想要打印整行。可以用这个注释来完成吗? @Loggable(Loggable.DEB
我正在尝试使用 jcabi 进行日志记录。据我了解,从 jcabi pom 文件继承我的 pom 进行设置会更容易,如 http://www.jcabi.com/parent/index.html 中
我正在尝试使用 jcabi-xml 将参数传递给 XSL 文件。代码很简单,我可以确认它执行: final XSL xsl = new XSLDocument(Main.class.getResour
我正在编写一个小应用程序,通过 SSH 连接到服务器列表并执行一些命令。我正在使用jcabi-ssh 。当我运行该程序时,jcabi-ssh 会向控制台输出如下行: [main] WARN com.j
我正在使用 NetBeans 编写一个 java 应用程序,它允许我获取 GitHub 用户存储库的 zip 文件。为此,我导入了一个外部 jar 库,jcabi library ,进入让我与 Git
本文整理了Java中com.jcabi.http.response.XmlResponse.()方法的一些代码示例,展示了XmlResponse.()的具体用法。这些代码示例主要来源于Github/S
本文整理了Java中com.jcabi.http.response.XmlResponse.assertXPath()方法的一些代码示例,展示了XmlResponse.assertXPath()的具体
本文整理了Java中com.jcabi.http.response.XmlResponse.rel()方法的一些代码示例,展示了XmlResponse.rel()的具体用法。这些代码示例主要来源于Gi
本文整理了Java中com.jcabi.http.response.XmlResponse.xml()方法的一些代码示例,展示了XmlResponse.xml()的具体用法。这些代码示例主要来源于Gi
每当我尝试从命令提示符运行项目的 jar 文件时,我都会收到此错误。这是什么意思?我检查了 ValidatorBuilder 的 list ,它具有 jcabi-version 属性。任何帮助表示赞赏
当我使用 jcabi ssh 库执行 shell 命令时,当我执行以下操作时,我将如何或需要关闭 session ?当我在循环场景中配对时,我怀疑我的套接字用完了。 `Shell shell = ne
我厌倦了手动添加日志来调试我编写的每个方法。 我开始了解 jcabi 的 @Loggable 注释但我没有成功实现,非常感谢您的帮助。 下面是我试过的代码。 import com.jcabi.aspe
我正在使用 com.jcabi.aspects 的 @Cacheable 注释作为我项目中的缓存机制,我有一个场景需要从中刷新特定数据缓存而不是刷新整个缓存。怎么可能? 例如, import com.
我正在尝试使用 Maven 和 Jcabi-Aether 获取/解决一些 Artifact 。我想我已经准备好了大部分代码,但我很难弄清楚如何加载用户的 settings.xml 以便我可以将 Mav
我需要执行以下命令: scp -r ~/dataIn yatsuk@192.168.1.1:~/dataOut 在 Ubuntu (16.04) 终端中,此命令可以正常工作。yatsuk@192.16
我是一名优秀的程序员,十分优秀!