停止并重新启动嵌入式Tomcat8失败,端口已在使用中



我有java(kotlin(应用程序启动多个嵌入式服务器。没关系。我也有一些单元测试,它在每个单元之前启动这些服务器,然后停止它们。

tomcat上的stop方法毫无例外地完成了,但随后的服务器启动失败,端口正在使用中。

我的基类是相当标准的

open class TomcatBase(
val tomcat: Tomcat = Tomcat()
) {
val context:Context
val contextPath:String
init {
tomcat.engine.name=UUID.randomUUID().toString()
contextPath = ""
val dir_url: URL = ClassLoader.getSystemResource("static")
val docBase = File(dir_url.toURI()).absolutePath
context = tomcat.addContext(contextPath, docBase)
}
fun addServlet(path: String, servlet: Servlet) {...}
fun start() {
tomcat.start()
context.resources.isCachingAllowed = false
}
fun stop() {
tomcat.stop()        
}
}

原来还有destroy((方法,它完成的工作

fun stop() {
tomcat.stop()
tomcat.destroy()
}

相关内容

最新更新