konfigurierte ich einen Apache ftpserver wie folgt:"BindException: Adresse bereits in Verwendung" im Frühjahr mit 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();
}
Beachten Sie, dass der Server automatisch in der @PostConstruct gestartet wird. Ich habe verschiedene Tests in SpringBoot konfiguriert wie folgt:
@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(classes = MainApplication.class)
@WebIntegrationTest
public class ApplicationTestX {
...
}
Wenn ich die Tests einzeln ausführen, sind sie erfolgreich. Wenn ich sie jedoch zusammen laufen lasse, bekomme ich eine java.net.BindException: Address already in use: bind
. Wie kann ich das vermeiden?
Was ist der Umfang Ihrer FtpDummyServer? Ich denke, dass Sie den FtpDummyServer mehrmals in Ihrem Test injizieren, wenn ja, versuchen Sie, einen FtpDummyServer für alle Testfälle zu teilen. –
Der FtpDummyServer hat die Annotation @ Komponent. Dies ist ein Singleton pro Fehler. –
können Sie Ihre Testfälle veröffentlichen? –