我想要做的是将缓存中的某些值标记为相关,以便我可以立即删除它们.例如,当我向数据库插入一个新条目时,我想删除缓存中基于数据库中旧值的所有内容.
我总是可以使用cache.clear(),但它对我来说似乎太残酷了.或者我可以将相关值存储在字典中并缓存此字典.或者我可以在缓存中的额外字段中维护某种索引.但是一切似乎对我来说很复杂(最终会变慢?).
你认为呢?有没有现成的解决方案?或者我的方法是错的?谢谢你的回答.
如果我出于某种原因想使用我自己的私人服务器来运行我的GAE应用程序而不是将其部署到Google服务器,我可以简单地使用AppEngine SDK来做到这一点吗?是否存在我应该了解的任何技术或法律限制或问题?我知道SDK不是为了运行繁重的页面而设计的,但对于小型网站,它应该可以正常工作吗?
我正在玩一个sbt web插件,我想在我的项目中重用代码.不幸的是,由于缺少依赖性,我甚至无法在我的项目中编译原始代码.这些是进口:
import com.typesafe.sbt.jse.SbtJsTask
import com.typesafe.sbt.web.{CompileProblems, LineBasedProblem}
import sbt.Keys._
import sbt._
import xsbti.Severity
Run Code Online (Sandbox Code Playgroud)
这些都无法解决.构建失败,消息如:not found: object sbt.我检查了原始项目的build.sbt文件,但没有任何相关内容libraryDependencies.
我正在使用Intellij Idea,奇怪的是当我在项目视图中展开外部库时,我可以在SBT下找到所有必需的东西:sbt-and-plugins(例如对象com.typesafe.sbt.web.CompileProblems就在那里,我可以看到它的定义在类文件).
在我看来,我需要的东西是sbt的核心部分,但不知何故它不会加载到项目.我究竟做错了什么?
我有一个数据生成器,它在一个单独的线程中运行,并将生成的数据推送到PipedOutputStream其中PipedInputStream.此输入流的引用通过公共API公开,以便任何客户端都可以使用它.的PipedInputStream包含一个有限的缓冲器,如果充分,块中的数据产生器.基本上,作为客户端从输入流中读取数据时,由所产生的新的数据的数据生产者.
问题是数据生成器可能会失败并抛出异常.但是当消费者在一个单独的线程中运行时,没有很好的方法来获取客户端的异常.
我所做的是捕获该异常并关闭输入流.这将在IOException客户端产生消息"管道关闭"但我真的想给客户端背后的真正原因.
这是我的API的粗略代码:
public InputStream getData() {
final PipedInputStream inputStream = new PipedInputStream(config.getPipeBufferSize());
final PipedOutputStream outputStream = new PipedOutputStream(inputStream);
Thread thread = new Thread(() -> {
try {
// Start producing the data and push it into output stream.
// The production my fail and throw an Exception with the reason
} catch (Exception e) {
try {
// What to …Run Code Online (Sandbox Code Playgroud) 我刚刚开始用Java编写GAE Web应用程序,所以我对这些东西都是新手.我使用JDO来存储数据.我正在阅读很多在线资料(论坛,教程......),我到处都看到DAO,但我真的不明白它是什么.是的,数据访问对象,技术......但是当有人命名变量时userDAO,变量将包含什么?
让我们考虑以下代码(来自GAE文档):
PersistenceManager pm = PMF.get().getPersistenceManager();
Employee e = new Employee("Alfred", "Smith", new Date());
try {
pm.makePersistent(e);
} finally {
pm.close();
}
Run Code Online (Sandbox Code Playgroud)
它真的很简单,对我来说很有意义......但是在这个例子中你会称之为DAO吗?
这可能是一个愚蠢的问题,但它会帮助我很多.
可以轻松检索方法和属性的doc注释.但是常数怎么样?没有ReflectionConstant课程可以让我打电话getDocComment()给他们.可以将常量列表及其值作为字符串使用,ReflectionClass::getConstants但这就是全部.有解决方法吗?