Странное поведение, @Component вводится как 2 разных экземпляра - PullRequest
0 голосов
/ 09 марта 2019

У меня есть такой шаблон для тестирования некоторых сущностей

@Component
public class TestEntityXListener extends TestAbstractConsumer<EntityX> {

    @Override
    @KafkaListener(id = "entity1Listener", topicPattern = "company.v1.cqrs.entityX", containerFactory = "kafkaListenerContainerFactory")
    public void onMessage(final ConsumerRecord<MessageKey, GenericRecord> consumerRecord) {
        log.info("XListener HashCode:"+System.identityHashCode(this));
        super.onMessage(consumerRecord);
    }
}

И, наконец, мои тесты сущностей выглядят так:

public class EntityXIntegrationTestIT extends AbstractIntegrationTestIT {

   @Autowired private TestEntityXListener entityXListener;

   @Test
   public void doTest() throws InterruptedException {

        log.info("XListener HashCode:"+System.identityHashCode(this.entityXListener));
        //Execute service that produces Kafka events (logs show correct sending and consumption)
  }
}

Когда я проверяю это в локальной системе (Win10), этот код пропускает зеленый и все инъекции слушателя имеют один и тот же identityHashcode.Но когда я делаю это в удаленном конвейере, кажется, что экземпляр слушателя, внедренный в тест, отличается от того, который обрабатывается при поступлении события

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...