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