Reputation: 366
Terminated by clicking on Red Icon in console tab but when I rerun it is saying port is already in use.
I terminated port using Taskkill command in command prompt. Any suggestions on terminating it from Eclipse would be helpful instead of command prompt
Upvotes: 1
Views: 1478
Reputation: 1
I found the best way to stop spring from holding the port was to write a script that looks for the process holding the port and auto kill it. Then attach that script to an external tool job in eclipse. I adapted a powershell script I found. Called it kill-port.ps1 and is located in base of the report where I had the issue.
param ($port)
$foundProcesses = netstat -ano | findstr :$port
$activePortPattern = ":$port\s.+LISTENING\s+\d+$"
$pidNumberPattern = "\d+$"
IF ($foundProcesses | Select-String -Pattern $activePortPattern -Quiet) {
$matches = $foundProcesses | Select-String -Pattern $activePortPattern
$firstMatch = $matches.Matches.Get(0).Value
$pidNumber = [regex]::match($firstMatch, $pidNumberPattern).Value
taskkill /pid $pidNumber /f
}
Then set up an external tool configuration
Location: C:\WINDOWS\system32\windowspowershell\v1.0\powershell.exe Argument: ${workspace_loc:/workspacename/kill-port.ps1} 8080
Now I just run the kill command after each test where I know it leaves the port bond to a process. Not the most elegant but easier then running a few commands in a shell. This is windows specific but I am sure the same type script can be created for Unix.
Upvotes: 0
Reputation: 1367
Usually terminating application from Eclipse helps. Sometimes, though, it doesn't help. In such cases, I have to restart the eclipse. Unfortunately, I don't have any better solution. There might be something wrong with your application, if this issue happens too often for you. Eclipse usually tries to "gracefully" shut down the application and release resources, before shutting down the server. Maybe during this time the application "hangs" and doesn't respond. There could be many reasons for that. One of them: your application doesn't close file resources correctly, with try... finally, and so on.
To summarise: In 95% of the cases, shutting down the server from eclipse works. If it doesn't, then you have to restart the eclipse, or maybe even kill the process from the command-line. If it happens too often, let's say in 50% of the cases, then there is something wrong with your application.
Upvotes: 1
Reputation: 1898
Open Eclipse
Go to Servers panel
Right click on Tomcat Server select Open, Overview window will appear.
Open the Portstab. You will get the following:
Tomcat adminport
HTTP/1.1
AJP/1.3
I changed the port number of HTTP/1.1 (i.e. to 8081)
You might have to also change the port of Tomcat adminport (i.e. to 8006) and of AJP/1.3 (i.e. to 8010).
Access your app in the browser at http://localhost:8081/...
Upvotes: 0