- if (getCurrentSession() != null)
- throw new DetachedException(
- "There is already an open session #"
- + getCurrentSession().getUuid());
+ if (getCurrentSession() != null) {
+ // TODO: better understand why there is sometimes two open
+ // sessions sent.
+ log.warn("There is already an open session #"
+ + getCurrentSession().getUuid() + ". Closing it...");
+ DetachedAnswer answerT = new DetachedAnswer(
+ request,
+ "Session #"
+ + getCurrentSession().getUuid()
+ + " forcibly closed. THIS ANSWER WAS NOT SENT BACK.");
+ answerT.setStatus(DetachedAnswer.CLOSED_SESSION);
+ getCurrentSession().getAnswers().add(answerT);
+ }