@Override
public boolean CheckNonTransactionalRule(ServicePolicy pol, List<NameValuePair> params, AtomicReference<String> nullableFaultMsg, boolean pooled) {
if (nullableFaultMsg == null) {
nullableFaultMsg = new AtomicReference<String>();
}
NameValuePair GetNameValuePairByName = Utility.getNameValuePairByName(params, "value");
long rate = Long.parseLong(GetNameValuePairByName.getValue());
GetNameValuePairByName = Utility.getNameValuePairByName(params, "duration");
long duration = Long.parseLong(GetNameValuePairByName.getValue());
long faultrate = NonTransactionalSLAProcessor.GetMemoryUsageOverTime(pol.getURL(),duration, pooled);
if (faultrate > rate) {
nullableFaultMsg.set("The measured Memory usage of " + faultrate + " is greater than " + rate + ", " + nullableFaultMsg.get());
return true;
}
return false;
}