527 expTime = null;
528 }
529
530 if ((expTime == null) && (mmbDescr != null)) {
531 objExpTime = mmbDescr.getFieldValue("currencyTimeLimit");
532 if (objExpTime != null) {
533 expTime = objExpTime.toString();
534 } else {
535 expTime = null;
536 }
537 }
538
539 if (expTime != null) {
540 if (tracing) {
541 MODELMBEAN_LOGGER.logp(Level.FINER,
542 RequiredModelMBean.class.getName(),
543 mth,"currencyTimeLimit: " + expTime);
544 }
545
546 // convert seconds to milliseconds for time comparison
547 currencyPeriod = ((new Long(expTime)).longValue()) * 1000;
548 if (currencyPeriod < 0) {
549 /* if currencyTimeLimit is -1 then value is never cached */
550 returnCachedValue = false;
551 resetValue = true;
552 if (tracing) {
553 MODELMBEAN_LOGGER.logp(Level.FINER,
554 RequiredModelMBean.class.getName(),mth,
555 currencyPeriod + ": never Cached");
556 }
557 } else if (currencyPeriod == 0) {
558 /* if currencyTimeLimit is 0 then value is always cached */
559 returnCachedValue = true;
560 resetValue = false;
561 if (tracing) {
562 MODELMBEAN_LOGGER.logp(Level.FINER,
563 RequiredModelMBean.class.getName(),mth,
564 "always valid Cache");
565 }
566 } else {
567 Object objtStamp =
568 descr.getFieldValue("lastUpdatedTimeStamp");
569
570 String tStamp;
571 if (objtStamp != null) tStamp = objtStamp.toString();
572 else tStamp = null;
573
574 if (tracing) {
575 MODELMBEAN_LOGGER.logp(Level.FINER,
576 RequiredModelMBean.class.getName(),mth,
577 "lastUpdatedTimeStamp: " + tStamp);
578 }
579
580 if (tStamp == null)
581 tStamp = "0";
582
583 long lastTime = (new Long(tStamp)).longValue();
584
585 if (tracing) {
586 MODELMBEAN_LOGGER.logp(Level.FINER,
587 RequiredModelMBean.class.getName(),mth,
588 "currencyPeriod:" + currencyPeriod +
589 " lastUpdatedTimeStamp:" + lastTime);
590 }
591
592 long now = (new Date()).getTime();
593
594 if (now < (lastTime + currencyPeriod)) {
595 returnCachedValue = true;
596 resetValue = false;
597 if (tracing) {
598 MODELMBEAN_LOGGER.logp(Level.FINER,
599 RequiredModelMBean.class.getName(),mth,
600 " timed valid Cache for " + now + " < " +
601 (lastTime + currencyPeriod));
602 }
603 } else { /* value is expired */
|
527 expTime = null;
528 }
529
530 if ((expTime == null) && (mmbDescr != null)) {
531 objExpTime = mmbDescr.getFieldValue("currencyTimeLimit");
532 if (objExpTime != null) {
533 expTime = objExpTime.toString();
534 } else {
535 expTime = null;
536 }
537 }
538
539 if (expTime != null) {
540 if (tracing) {
541 MODELMBEAN_LOGGER.logp(Level.FINER,
542 RequiredModelMBean.class.getName(),
543 mth,"currencyTimeLimit: " + expTime);
544 }
545
546 // convert seconds to milliseconds for time comparison
547 currencyPeriod = ((Long.valueOf(expTime)).longValue()) * 1000;
548 if (currencyPeriod < 0) {
549 /* if currencyTimeLimit is -1 then value is never cached */
550 returnCachedValue = false;
551 resetValue = true;
552 if (tracing) {
553 MODELMBEAN_LOGGER.logp(Level.FINER,
554 RequiredModelMBean.class.getName(),mth,
555 currencyPeriod + ": never Cached");
556 }
557 } else if (currencyPeriod == 0) {
558 /* if currencyTimeLimit is 0 then value is always cached */
559 returnCachedValue = true;
560 resetValue = false;
561 if (tracing) {
562 MODELMBEAN_LOGGER.logp(Level.FINER,
563 RequiredModelMBean.class.getName(),mth,
564 "always valid Cache");
565 }
566 } else {
567 Object objtStamp =
568 descr.getFieldValue("lastUpdatedTimeStamp");
569
570 String tStamp;
571 if (objtStamp != null) tStamp = objtStamp.toString();
572 else tStamp = null;
573
574 if (tracing) {
575 MODELMBEAN_LOGGER.logp(Level.FINER,
576 RequiredModelMBean.class.getName(),mth,
577 "lastUpdatedTimeStamp: " + tStamp);
578 }
579
580 if (tStamp == null)
581 tStamp = "0";
582
583 long lastTime = Long.parseLong(tStamp);
584
585 if (tracing) {
586 MODELMBEAN_LOGGER.logp(Level.FINER,
587 RequiredModelMBean.class.getName(),mth,
588 "currencyPeriod:" + currencyPeriod +
589 " lastUpdatedTimeStamp:" + lastTime);
590 }
591
592 long now = (new Date()).getTime();
593
594 if (now < (lastTime + currencyPeriod)) {
595 returnCachedValue = true;
596 resetValue = false;
597 if (tracing) {
598 MODELMBEAN_LOGGER.logp(Level.FINER,
599 RequiredModelMBean.class.getName(),mth,
600 " timed valid Cache for " + now + " < " +
601 (lastTime + currencyPeriod));
602 }
603 } else { /* value is expired */
|