@Override public SmppSession getUsedSession(SmppSessionManager sessionManager) { String systemId = getSession().getConfiguration().getSystemId(); return sessionManager.getNextServerSession(systemId); }
public void sessionDestroyed(SmppSession session) { synchronized (this) { if (logger.isInfoEnabled()) { logger.info(String.format("Session destroyed: %s", session.getConfiguration().getSystemId())); } // print out final stats if (session.hasCounters()) { logger.info(String.format("final session rx-submitSM: %s", session.getCounters().getRxSubmitSM())); } // remove esmeServer out of enquire list String esmeName = session.getConfiguration().getName(); Esme esmeServer = this.esmeManagement.getEsmeByName(esmeName); esmeServer.setServerBound(false); esmeServer.resetEnquireLinkFail(); this.smppServerOpsThread.removeEnquireList(esmeName); DefaultSmppSession defaultSession = (DefaultSmppSession) session; // firing of onPduRequestTimeout() for sent messages for which we do not have responses Window<Integer, PduRequest, PduResponse> wind = defaultSession.getSendWindow(); Map<Integer, WindowFuture<Integer, PduRequest, PduResponse>> futures = wind.createSortedSnapshot(); for (WindowFuture<Integer, PduRequest, PduResponse> future : futures.values()) { this.logger.warn("Firing of onPduRequestTimeout from DefaultSmppServerHandler.sessionDestroyed(): " + future.getRequest().toString()); defaultSession.expired(future); } // make sure it's really shutdown session.destroy(); } }
} catch (Exception ex) { logger.error(String.format("Failed to close smpp client session for %s.", smppSession.getConfiguration().getName())); } catch (Exception e) { logger.error(String.format("Failed to close smpp client session for %s.", smppSession.getConfiguration().getName()));
logger.info(String.format("Session destroyed: %s", session.getConfiguration().getSystemId())); String esmeName = session.getConfiguration().getName(); Esme esmeServer = this.esmeManagement.getEsmeByName(esmeName); esmeServer.setServerBound(false);
} catch (Exception ex) { logger.error(String.format("Failed to close smpp client session for %s.", smppSession.getConfiguration().getName())); } catch (Exception e) { logger.error(String.format("Failed to close smpp client session for %s.", smppSession.getConfiguration().getName()));