package com.my.openfire.plugin.online;
import java.util.Collection;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.jivesoftware.openfire.XMPPServer;
import org.jivesoftware.openfire.SessionManager;
import org.jivesoftware.openfire.SessionResultFilter;
import org.jivesoftware.openfire.session.ClientSession;
import org.jivesoftware.openfire.session.Session;
import org.jivesoftware.admin.AuthCheckFilter;
import org.jivesoftware.util.WebManager;
import com.my.openfire.plugin.OnlinePlugin;
public class OnlineStatusServlet extends HttpServlet
{
private OnlinePlugin plugin;
private ServletConfig servletConfig;
public void init(ServletConfig servletConfig) throws ServletException
{
super.init(servletConfig);
this.servletConfig = servletConfig;
plugin = (OnlinePlugin) XMPPServer.getInstance().getPluginManager().getPlugin("online");
// Exclude this servlet from requering the user to login
AuthCheckFilter.addExclude("online/status");
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
response.setContentType("text/plain");
PrintWriter out = response.getWriter();
WebManager webManager = new WebManager();
HttpSession session = request.getSession(true);
webManager.init(request, response, session, servletConfig.getServletContext());
SessionManager sessionManager = webManager.getSessionManager();
int sessionCount = sessionManager.getUserSessionsCount(false);
SessionResultFilter filter = SessionResultFilter.createDefaultSessionFilter();
filter.setSortOrder(0);
filter.setStartIndex(0);
filter.setNumResults(sessionCount);
Collection下载地址:
jar: http://pan.baidu.com/s/1i9vA
src:http://pan.baidu.com/s/1tLygO





