That's a difficult case, but I would send this back to the developer. This sounds like the application is trying to run an operation on a connection that has been closed.
Possibly, it could be that SQL Server has closed the connection because there was some accident. In that case, you should see stack dumps in the SQL Server errorlog.
And, yes, intermittent network errors is also a possibility. Then again, how does errors manifest themselves in a Java client? This error sounds a bit like the API actually knows what is going on. That is, it knows that the connection is closed, because it has been closed, and now the called is still trying to use it.
On the other hand, if a connection has been lost by some accident, the reaction of the API would be more confused.
I would suggest to the developer to make a test. That is, program opens a connection, runs a query, sleeps for a minute or two with the connection open and try to run a new query. While the process is sleeping, pull the network cable.