package org.hivedb.hibernate; import org.hibernate.HibernateException; import org.hibernate.Session; import org.hibernate.shards.session.OpenSessionEvent; import java.sql.SQLException; public class RecordNodeOpenSessionEvent implements OpenSessionEvent { public static ThreadLocal<String> node = new ThreadLocal<String>(); public static String getNode() { return node.get(); } public static void setNode(Session session) { node.set(getNode(session)); } public void onOpenSession(Session session) { setNode(session); } @SuppressWarnings("deprecation") private static String getNode(Session session) { String node = ""; if (session != null) { try { node = session.connection().getMetaData().getURL(); } catch (SQLException ex) { } catch (HibernateException ex) { } } return node; } }