Я настроил Apache FtpServer следующим образом:«BindException: Адрес уже используется» в Spring с Apache FtpServer
@Component
public class FtpDummyServer {
private FtpServer server;
@PostConstruct
public void init() throws FtpException {
..some initialization
this.server = serverFactory.createServer();
this.server.start();
}
@PreDestroy
public void stop() {
this.server.stop();
}
Обратите внимание, что сервер автоматически запускается в @PostConstruct. У меня разные тесты, сконфигурированные в SpringBoot следующим образом:
@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(classes = MainApplication.class)
@WebIntegrationTest
public class ApplicationTestX {
...
}
Когда я запускаю тесты индивидуально, они преуспевают. Однако, когда я запускаю их вместе, я получаю java.net.BindException: Address already in use: bind
. Как я могу избежать этого?
Какова область вашей FtpDummyServer? Я думаю, что вы многократно вводите FtpDummyServer в свой тест, если попытаетесь поделиться одним FtpDummyServer для всех тестовых случаев. –
У FtpDummyServer есть аннотация @Component. Это singleton per dfault. –
можете ли вы разместить свои тестовые примеры? –