Question

Using Groovy RestClient I am getting the following exception:

    java.lang.IllegalStateException: Invalid use of BasicClientConnManager: connection still allocated.
Make sure to release the connection before allocating another one.

As I understand that one connection has not released, so I cannot make another one.

What are the possible solutions?

Make new RestClient for every call? Or maybe there is some pool?

Thanks!

Was it helpful?

Solution

By default the REST Client uses the BasicClientConnManager which only handles one connection at one time. In order to do concurrent connections, you need to use the AsyncHTTPBuilder:

def httpClient = new AsyncHTTPBuilder(
        poolSize: 20,
        uri: 'https://www.mysite.com'
)
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top