1 14 package org.compiere.wstore; 15 16 import javax.servlet.*; 17 import javax.servlet.http.*; 18 import java.io.*; 19 import java.util.*; 20 21 import org.apache.log4j.Logger; 22 import org.compiere.util.*; 23 import org.compiere.www.*; 24 25 31 public class Counter extends HttpServlet implements Runnable 32 { 33 34 private Logger log = Logger.getLogger(getClass()); 35 36 37 static public final String NAME = "counter"; 38 39 40 private List m_requests = Collections.synchronizedList(new ArrayList()); 41 42 48 public void init(ServletConfig config) 49 throws ServletException 50 { 51 super.init(config); 52 if (!WEnv.initWeb(config)) 53 throw new ServletException("Counter.init"); 54 } 56 60 public String getServletInfo() 61 { 62 return "Compiere Web Counter"; 63 } 65 68 public void destroy() 69 { 70 log.info("destroy"); 71 } 73 74 75 83 public void doGet (HttpServletRequest request, HttpServletResponse response) 84 throws ServletException, IOException 85 { 86 m_requests.add(request); 87 new Thread (this).start(); 88 } 90 98 public void doPost (HttpServletRequest request, HttpServletResponse response) 99 throws ServletException, IOException 100 { 101 doGet (request, response); 102 } 104 105 106 109 public void run() 110 { 111 long time = System.currentTimeMillis(); 112 HttpServletRequest request = null; 114 if (m_requests.size() > 0) 115 request = (HttpServletRequest)m_requests.remove(0); 116 if (request == null) 117 { 118 log.error("run - nothing in queue"); 119 return; 120 } 121 122 Properties ctx = JSPEnv.getCtx(request); 123 String ref = request.getHeader("referer"); 124 if (ref == null || ref.length() == 0) 125 ref = request.getRequestURL().toString(); 126 log.info("Referer=" + request.getHeader("referer") + " - URL=" + request.getRequestURL()); 127 } 129 } | Popular Tags |