summaryrefslogtreecommitdiff
path: root/src/main/java/cn/ac/iie/bean/PzTable.java
blob: abfaef5c6e14c7d2577434596d6b3725b15caa66 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
package cn.ac.iie.bean;
import java.util.HashMap;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;

import cn.ac.iie.dao.DataBasePzBusiness;
import org.apache.log4j.Logger;

public class PzTable {
	public static HashMap<String, String> pzMap = new HashMap<String, String>();	
	public static Lock trylock = new ReentrantLock();
	private static final Logger logger = Logger.getLogger(PzTable.class);
	public static long lastUpdateTime = 0L;
	public static long seq = 0L;
	
	public static void updatePzMap(){
		if (trylock.tryLock()) {
            try {
               long timeNow = System.currentTimeMillis();
               if(((timeNow-lastUpdateTime)/1000) > 240){
            	   //update pzMap and lastUpdateTime
            	   new DataBasePzBusiness().getPzToMap(seq);
            	   lastUpdateTime = timeNow;
            	   logger.info("pzMap.size: "+pzMap.size());
               }
            } catch (Exception e) {
                e.printStackTrace();
            } finally {
            	trylock.unlock();
            }
        } 
	}
}