枚举单例和静态属性

时间:2015-02-26 20:23:45

标签: java enums singleton

我有SingletonClass类,我想保留客户端通用调用所需的令牌属性:

public enum SingletonClass {
  INSTANCE;

  private static String token;

  public String callService() {
    return Client.INSTANCE.genericCall(TokenHelper.INSTANCE.getToken(token));
  }
}

在我的TokenHelper中,我调用REST服务来获取令牌,如果它没有填充:

public enum TokenHelper {
  INSTANCE;

  public synchronized String getToken(String token) {
    if (token == null || StringUtils.isBlank(token)) {
      token = getNewToken();
    }
    return token;
  }
}

如何在SingletonClass上存储此令牌,并在它过期后立即续订(我想保留一些将保存令牌值和过期日期/时间的结构而不是String令牌)。我在Tomcat容器中运行它。每次我打电话:

SingletonClass.INSTANCE.callService();

我的令牌为空但我想将其保留24小时。

0 个答案:

没有答案