The easiest way is to execute a query like
em.createNativeQuery("select 1 from dual").getSingleResult();
Typically, the DataSource / Connection pool or JPA provider will provide some kind of connection testing or dead connection resolution.
If you use the EclipseLink connection pool, it will automatically detect dead connections and retry requests.
James source
share