Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

219
Vistas
Arranque de resorte (.2.3.0.RELEASE) con límite de velocidad de bucket4j que no funciona

Estoy tratando de usar la API de tasa de límite para una aplicación Spring Boot Rest, con bucket4j basado en el siguiente recurso en línea

Encuentre mi configuración a continuación:

A continuación se agrega la dependencia maven para usar 4bucketj:

 ... <dependency> <groupId>com.giffing.bucket4j.spring.boot.starter</groupId> <artifactId>bucket4j-spring-boot-starter</artifactId> <version>0.4.0</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-cache</artifactId> </dependency> <dependency> <groupId>org.ehcache</groupId> <artifactId>ehcache</artifactId> </dependency> ..

A continuación se muestra mi configuración application.yml:

 spring: main: allow-bean-definition-overriding: true cache: jcache: config: classpath:ehcache.xml bucket4j: enabled: true filters: - cache-name: buckets url: .* http-response-body: "{ \"status\": 429, \"error\": \"Too Many Requests\", \"message\": \"You have exhausted your API Request Quota\" }" rate-limits: - bandwidths: - capacity: 2 time: 1 unit: minutes

A continuación, he agregado ehcache.xml en la ruta src/main/resources/:

 <config xmlns='http://www.ehcache.org/v3' xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jsr107="http://www.ehcache.org/v3/jsr107" xsi:schemaLocation="http://www.ehcache.org/v3 http://www.ehcache.org/schema/ehcache-core-3.0.xsd http://www.ehcache.org/v3/jsr107 http://www.ehcache.org/schema/ehcache-107-ext-3.0.xsd"> <cache alias="buckets"> <expiry> <ttl unit="seconds">3600</ttl> </expiry> <heap unit="entries">1000000</heap> <jsr107:mbeans enable-statistics="true"/> </cache>

Finalmente, agregué @EnableCaching en una clase de configuración que se carga cuando comienza la primavera.

Según la configuración del archivo application.yml, la API no debería aceptar más de 2 solicitudes en un minuto y, si son más de dos solicitudes, se debería activar un error como se indica ( http-response-body ) en application.yml.

Implementé la aplicación en mi PC y con la herramienta Postman puedo presionar una API Rest más de 10 veces en un minuto sin ningún mensaje de error.

¿Alguien puede indicar por qué no se activa el mensaje de error, ya que debería permitir solo 2 solicitudes y estoy enviando 10 en su lugar?

over 4 years ago · Santiago Trujillo
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda