If you get
com.ibm.db2.jcc.am.DisconnectNonTransientConnectionException: [jcc][t4][4.13.80] A communication error occurred during operations on the connection's underlying socket, socket input stream, or socket output stream. Error location: Reply.fill() - insufficient data (-1). Message: Insufficient data.. ERRORCODE=-4499, SQLSTATE=08001
then this usually means you are using a connection pool to get connections to database and that connections in the connection pool are "stale".
What does stale mean?
You have connection pool started, connections created, but then database restarts. The connection you now get out of the connection pool are now stale and you have to restart the connection pool (close all connections and create new ones).