使用PlayFramework设置缓存

时间:2014-10-20 08:30:27

标签: java caching playframework playframework-2.0 playframework-2.3

我在Java中使用playFramework 2.3.5,想要设置......在缓存中,并希望在下一步中显示它。所以Application.java中的代码如下所示:

public static Result addText() {

    Input input = new Input("Test");

    Cache.set("1", input);

    return ok(index.render("Your new application is ready."));
}

public static Result getText(){

    Input output = (Input) Cache.get("1");
    try{
    String out = output.getText();
    return ok(Html.apply(out));

    }catch(NullPointerException e){
        return ok(index.render("Fail"));
    }

}

我在路线中的代码如下:

GET     /                           controllers.Application.index()
POST    /                           controllers.Application.addText()
GET     /output                     controllers.Application.getText()

Input类看起来很......像这样:

public class Input {

  public String text;

  public Input(String text){
    this.text = text;
  }

  public String getText(){
    return text;
  }

}

当我想测试它时,localhost:9000 / output会抛出NullPointerException。有人可以说,为什么对象不在缓存中?

1 个答案:

答案 0 :(得分:0)

在开发模式(播放运行)中,播放缓存不能完全正常工作。但更大的问题是,根据定义,缓存可以随时刷新。您的应用程序需要能够处理Cache.get,以便为最近放入缓存的内容返回null。