package com.l7tech.server.transport.jms2;

import com.l7tech.server.transport.jms.JmsRuntimeException;
import java.util.concurrent.atomic.AtomicLong;

public interface CachedConnection {
   SessionHolder borrowConnection() throws JmsRuntimeException, JmsConnectionMaxWaitException;

   void returnConnection(SessionHolder var1) throws JmsRuntimeException;

   JmsEndpointConfig getEndpointConfig();

   void close();

   long getCreatedTime();

   void touch();

   AtomicLong getLastAccessTime();

   void invalidate(SessionHolder var1) throws Exception;

   boolean isDisconnected();

   boolean isActive();

   boolean isIdleTimeoutExpired();

   void debugStatus();

   @Override
   String toString();
}
