@Medusaa I had a quick skim through your code. Try looking into using try-with-resource code blocks.
You're instantiating an HttpClient and never closing it.
Instead of
HttpClient httpclient = HttpClients.createDefault();
Try using the Closable option
try (CloseableHttpClient httpclient = HttpClients.createDefault()) {
// All the other code in here, rather than below your initial HttpClient instantiation
} catch (IOException e) {
e.printStackTrace();
}