throws ServletException, IOException
{
HttpSession session = request.getSession();
try
{
StatelessSession localBean = null;
// See if there is an existing session
if( session.isNew() )
{
log.info("Creating a new stateful session");
InitialContext ctx = new InitialContext();
Context enc = (Context) ctx.lookup("java:comp/env");
StatelessSessionHome localHome = (StatelessSessionHome) enc.lookup("ejb/StatefulEJB");
localBean = localHome.create();
Handle h = localBean.getHandle();
SessionHandle wrapper = new SessionHandle(h);
session.setAttribute("StatefulEJB", wrapper);
}
else
{
log.info("Getting existing stateful session");
SessionHandle wrapper = (SessionHandle) session.getAttribute("StatefulEJB");
localBean = (StatelessSession) wrapper.h.getEJBObject();
}
localBean.echo("Hello");
}
catch (Exception e)
{
throw new ServletException("Failed to call StatefulEJB", e);
}