Spring Cloud Netflix Zuul。 SQLSyntaxErrorException:表'rate'不存在

时间:2019-08-29 10:09:51

标签: java spring spring-boot netflix-zuul

我正在尝试使用JPA存储库在Spring Cloud Netflix Zuul中配置速率限制。 但是,一开始我会收到此异常:

  

java.sql.SQLSyntaxErrorException:表'kirillbq_bl_acc.rate'没有   存在

我的 application.yaml

zuul:
  routes:
    my-service:
      path: /
  ratelimit:
    enabled: true
    repository: JPA
    policy-list:
      my-service:
        - limit: 2
          refresh-interval: 60
          type:
            - origin
  strip-prefix: true

我在项目中也有 spring-boot-starter-data-jpa 依赖项。

我认为Zuul需要一个'Rate'表来存储有关请求的信息,但是我找不到有关该表结构的任何信息。应该是什么?

1 个答案:

答案 0 :(得分:0)

我找到了以下信息:https://www.programcreek.com/java-api-examples/?code=marcosbarbero/spring-cloud-zuul-ratelimit/spring-cloud-zuul-ratelimit-master/spring-cloud-zuul-ratelimit-core/src/main/java/com/marcosbarbero/cloud/autoconfigure/zuul/ratelimit/RateLimitAutoConfiguration.java#

config 文件夹中有一个 Rate.java 类,其结构为“费率”表:

@Entity
public class Rate {

    @Id
    private String key;
    private Long remaining;
    private Long remainingQuota;
    private Long reset;
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd-MM-yyyy HH:mm:ss")
    private Date expiration;

    // constructor, getters and setters 
}

创建此表后,一切正常。 Zuul将有关请求的信息保存在此表中。