下面列出了org.quartz.JobDataMap#keySet ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
public static boolean jobDataMapEquals(JobDetail leftJobDetail, JobDetail rightJobDetail) {
JobDataMap left = leftJobDetail.getJobDataMap();
JobDataMap right = rightJobDetail.getJobDataMap();
int leftKeys = 0;
for (String key : left.getKeys()) {
if (GlassConstants.POJO_JOB_META.equals(key)) continue;
if (GlassConstants.GLASS_SCHEDULER.equals(key)) continue;
++leftKeys;
if (!left.get(key).equals(right.get(key))) return false;
}
Set<String> rightKeySet = right.keySet();
int rightKeys = rightKeySet.size();
if (rightKeySet.contains(GlassConstants.POJO_JOB_META)) --rightKeys;
if (rightKeySet.contains(GlassConstants.GLASS_SCHEDULER)) --rightKeys;
return leftKeys == rightKeys;
}
@Override
public void execute(JobExecutionContext context) throws JobExecutionException {
JobDetail detail = context.getJobDetail();
JobDataMap data = context.getJobDetail().getJobDataMap();
String name = detail.getKey().getName();
String desc = detail.getDescription();
System.err.println("Job fired: " + name + " (" + desc + ")");
if (data != null && data.size() > 0) {
for (String key : data.keySet()) {
System.err.println(" " + key + " = " + data.getString(key));
}
}
}
private Map<String, String> getStringDataMap(JobDataMap jobDataMap) {
Map<String, String> stringDataMap = new HashMap<>();
for (String key : jobDataMap.keySet())
stringDataMap.put(key, jobDataMap.get(key).toString());
return stringDataMap;
}
/**
*
* @param jdm
* @return jdm中key参数(文件夹名称)
*/
@SuppressWarnings("unchecked")
private List<String> getFolderdKeys(JobDataMap jdm){
List<String>keys=new ArrayList<String>();
Set<String>keySet=jdm.keySet();
Iterator<String>it=keySet.iterator();
while(it.hasNext()){
String key=it.next();
if(key.startsWith(CmsTask.TASK_PARAM_FOLDER_PREFIX)){
keys.add(key);
}
}
return keys;
}