2016-02-12 5 views
1

Я использую Eureka, Zuul, Hystrix и составные сервисы в своем приложении. RabbitMq Я использую для очереди сообщений. При запуске тестовых примеров я получаю следующие исключения. Мои тесты работают нормально, но получают исключение:Ошибка добавления метрики в очередь

11:38:16.597 [task-scheduler-4] ERROR o.s.c.n.h.amqp.HystrixStreamTask -  Error adding metrics to queue 
java.lang.IllegalStateException: Queue full 
at java.util.AbstractQueue.add(Unknown Source) ~[na:1.8.0_66] 
at org.springframework.cloud.netflix.hystrix.amqp.HystrixStreamTask.gatherMetrics(H ystrixStreamTask.java:289) ~[spring-cloud-netflix-hystrix-amqp- 1.0.0.RELEASE.jar:1.0.0.RELEASE] 
at sun.reflect.GeneratedMethodAccessor62.invoke(Unknown Source) ~[na:na] 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~ [na:1.8.0_66] 
at java.lang.reflect.Method.invoke(Unknown Source) ~[na:1.8.0_66] 
at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMeth odRunnable.java:65) [spring-context-4.1.6.RELEASE.jar:4.1.6.RELEASE] 
at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) [spring-context-4.1.6.RELEASE.jar:4.1.6.RELEASE] 
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [na:1.8.0_66] 
at java.util.concurrent.FutureTask.runAndReset(Unknown Source) [na:1.8.0_66] 
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(Unknown Source) [na:1.8.0_66] 
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source) [na:1.8.0_66] 
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [na:1.8.0_66] 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [na:1.8.0_66] 
at java.lang.Thread.run(Unknown Source) [na:1.8.0_66] 
+0

Какую версию Spring Cloud вы используете? Я получаю подобную ошибку после обновления Spring Cloud от Angel.SR4 до Brixton.M4. Моя очередь RabbitMQ не полна ** и, по крайней мере, некоторые показатели проходят. – DagR

ответ

0

Кажется, ваша очередь заполнена. Увеличьте длину очереди либо с использованием свойства x-max-length или x-max-length-bytes.

Более подробную информацию можно найти here

0

я испытал подобную проблему после обновления Spring Cloud от Angel.SR4 до Brixton.M4. Замена зависимости от maven <artifactId>spring-cloud-starter-bus-amqp</artifactId> с

<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-stream-rabbit</artifactId> </dependency> , похоже, решил проблему. В зависимости от ваших зависимостей это может быть полезно!

Более полный взгляд на моих DEPS:

<dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-jetty</artifactId> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-redis</artifactId> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-actuator</artifactId> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-web</artifactId> 
     <exclusions> 
      <exclusion> 
       <groupId>org.springframework.boot</groupId> 
       <artifactId>spring-boot-starter-tomcat</artifactId> 
      </exclusion> 
     </exclusions> 
    </dependency> 

    <dependency> 
     <groupId>org.springframework.cloud</groupId> 
     <artifactId>spring-cloud-netflix-hystrix-amqp</artifactId> 
     <version>${spring.cloud.netflix.hystrix.amqp.version}</version> 
     <exclusions> 
      <exclusion> 
       <groupId>com.goldmansachs</groupId> 
       <artifactId>gs-collections-api</artifactId> 
      </exclusion> 
      <exclusion> 
       <groupId>com.goldmansachs</groupId> 
       <artifactId>gs-collections</artifactId> 
      </exclusion> 
     </exclusions> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.cloud</groupId> 
     <artifactId>spring-cloud-starter-stream-rabbit</artifactId> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-security</artifactId> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.cloud</groupId> 
     <artifactId>spring-cloud-starter-feign</artifactId> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.cloud</groupId> 
     <artifactId>spring-cloud-starter-hystrix</artifactId> 
    </dependency>