I have one application WAR. I have created two profiles AppSrv01, AppSrv02 on Websphere 8.0.0.0.
My application is having MQ connectivity, J2ee application on struts 1.1.
I have deployed WAR on both the server AppSrv01 as a context A and AppSrv02 as a context B.
I have session listener in my application which will take note of total available session.
The scenario is as given below....
Going and login to url localhost:9082/A, go to some page in it.
Going and login to url localhost:9082/B, go to some page in it in another tab of same browser.
Going to url localhost:9082/A, clicking on some of link or url from the existing page.
on remote debug from server when it come to SessionListener ... it shows below given stack
Daemon Thread [WebContainer : 10] (Suspended (breakpoint at line 24 in SessionCounterListener))
SessionCounterListener.sessionCreated(HttpSessionEvent) line: 24
WasHttpSessionObserver(HttpSessionObserver).sessionCreated(ISession) line: 111
SessionEventDispatcher.sessionCreated(ISession) line: 98
SessionManager.createISession(String, int, boolean) line: 268
SessionManager.createSession(ServletRequest, ServletResponse, SessionAffinityContext, boolean) line: 640
WsSessionContext(SessionContext).getIHttpSession(HttpServletRequest, HttpServletResponse, boolean, boolean) line: 485
WsSessionContext(SessionContext).getIHttpSession(HttpServletRequest, HttpServletResponse, boolean) line: 419
SRTRequestContext.getSession(boolean, WebApp) line: 104
SRTServletRequest.getSession(boolean) line: 2099
SRTServletRequest.getSession() line: 2083
RequestProcessor.processLocale(HttpServletRequest, HttpServletResponse) line: 631
RequestProcessor.process(HttpServletRequest, HttpServletResponse) line: 230
ActionServlet.process(HttpServletRequest, HttpServletResponse) line: 1482
ActionServlet.doPost(HttpServletRequest, HttpServletResponse) line: 525
ActionServlet(HttpServlet).service(HttpServletRequest, HttpServletResponse) line: 595
ActionServlet(HttpServlet).service(ServletRequest, ServletResponse) line: 668
ServletWrapperImpl(ServletWrapper).service(ServletRequest, ServletResponse, WebAppServletInvocationEvent) line: 1147
ServletWrapperImpl(ServletWrapper).handleRequest(ServletRequest, ServletResponse, WebAppDispatcherContext) line: 722
ServletWrapperImpl(ServletWrapper).handleRequest(ServletRequest, ServletResponse) line: 449
ServletWrapperImpl.handleRequest(ServletRequest, ServletResponse) line: 178
WebAppFilterManagerImpl(WebAppFilterManager).invokeFilters(ServletRequest, ServletResponse, IServletContext, RequestProcessor, EnumSet<CollaboratorInvocationEnum>) line: 1020
CacheServletWrapper.handleRequest(ServletRequest, ServletResponse) line: 87
WSWebContainer(WebContainer).handleRequest(IRequest, IResponse) line: 883
WSWebContainer.handleRequest(IRequest, IResponse) line: 1659
WCChannelLink.ready(VirtualConnection) line: 195
HttpInboundLink.handleDiscrimination() line: 452
HttpInboundLink.handleNewRequest() line: 511
HttpInboundLink.processRequest() line: 305
HttpInboundLink.ready(VirtualConnection) line: 276
NewConnectionInitialReadCallback.sendToDiscriminators(VirtualConnection, TCPReadRequestContext, boolean) line: 214
NewConnectionInitialReadCallback.complete(VirtualConnection, TCPReadRequestContext) line: 113
AioReadCompletionListener.futureCompleted(IAbstractAsyncFuture, Object) line: 165
AsyncFuture(AbstractAsyncFuture).invokeCallback(ICompletionListener, AbstractAsyncFuture, Object) line: 217
AsyncFuture(AsyncChannelFuture).fireCompletionActions() line: 161
AsyncFuture.completed(long) line: 138
ResultHandler.complete(AsyncFuture, int, int) line: 204
ResultHandler.runEventProcessingLoop(boolean) line: 775
ResultHandler$2.run() line: 905
ThreadPool$Worker.run() line: 1648
It is creating another session instance. need to understand why it is creating another instance.