package com.l7tech.server.transport.jms2;

import com.l7tech.server.transport.jms.JmsBag;
import com.l7tech.server.transport.jms.JmsRuntimeException;
import java.util.concurrent.atomic.AtomicLong;
import javax.jms.JMSException;
import javax.naming.NamingException;

public interface SessionHolder {
   String getName();

   int getEndpointVersion();

   int getConnectionVersion();

   void touch();

   JmsBag borrowJmsBag() throws JmsRuntimeException, NamingException;

   void returnJmsBag(JmsBag var1);

   void doWithJmsResources(JmsResourceManager.JmsResourceCallback var1) throws JMSException, JmsRuntimeException, NamingException;

   boolean ref();

   void unRef();

   void close();

   int refCount();

   long getCreatedTime();

   AtomicLong getLastAccessTime();
}
