diff options
| author | tkellner <tkellner@8a26b1a7-26f0-462f-b9ef-d0e30c41f5a4> | 2013-06-04 12:49:28 +0000 | 
|---|---|---|
| committer | tkellner <tkellner@8a26b1a7-26f0-462f-b9ef-d0e30c41f5a4> | 2013-06-04 12:49:28 +0000 | 
| commit | 05f743f601a30eac884e2e1819c34c1ebefd4d98 (patch) | |
| tree | feed8a7e4d028c523d249ded69f5912f8a847cbf /bkucommon/src/main/java/at | |
| parent | 67b5c14dd29c3ac9c33b6a0e67cf4ddee4573efe (diff) | |
| download | mocca-05f743f601a30eac884e2e1819c34c1ebefd4d98.tar.gz mocca-05f743f601a30eac884e2e1819c34c1ebefd4d98.tar.bz2 mocca-05f743f601a30eac884e2e1819c34c1ebefd4d98.zip | |
Fix BindingProcessor cleanup
git-svn-id: https://joinup.ec.europa.eu/svn/mocca/trunk@1184 8a26b1a7-26f0-462f-b9ef-d0e30c41f5a4
Diffstat (limited to 'bkucommon/src/main/java/at')
| -rw-r--r-- | bkucommon/src/main/java/at/gv/egiz/bku/binding/AbstractBindingProcessor.java | 2 | ||||
| -rw-r--r-- | bkucommon/src/main/java/at/gv/egiz/bku/binding/BindingProcessorManagerImpl.java | 48 | 
2 files changed, 39 insertions, 11 deletions
| diff --git a/bkucommon/src/main/java/at/gv/egiz/bku/binding/AbstractBindingProcessor.java b/bkucommon/src/main/java/at/gv/egiz/bku/binding/AbstractBindingProcessor.java index 237ec2de..4f6e58f4 100644 --- a/bkucommon/src/main/java/at/gv/egiz/bku/binding/AbstractBindingProcessor.java +++ b/bkucommon/src/main/java/at/gv/egiz/bku/binding/AbstractBindingProcessor.java @@ -116,7 +116,7 @@ public abstract class AbstractBindingProcessor implements BindingProcessor {    @Override    public void run() { -     +    updateLastAccessTime();      if (this.id != null) {        MDC.put("id", this.id.toString());      } diff --git a/bkucommon/src/main/java/at/gv/egiz/bku/binding/BindingProcessorManagerImpl.java b/bkucommon/src/main/java/at/gv/egiz/bku/binding/BindingProcessorManagerImpl.java index 2278bfa9..44f95602 100644 --- a/bkucommon/src/main/java/at/gv/egiz/bku/binding/BindingProcessorManagerImpl.java +++ b/bkucommon/src/main/java/at/gv/egiz/bku/binding/BindingProcessorManagerImpl.java @@ -74,19 +74,19 @@ public class BindingProcessorManagerImpl implements BindingProcessorManager, Com    private Map<Id, BindingProcessorFuture> submittedFutures = Collections        .synchronizedMap(new HashMap<Id, BindingProcessorFuture>()); -   -  private int cleanUpInterval = DEFAULT_CLEAN_UP_INTERVAL;  -   + +  private int cleanUpInterval = DEFAULT_CLEAN_UP_INTERVAL; +    private long maxAcceptedAge = DEFAULT_MAX_ACCEPTED_AGE; -    +    private ScheduledExecutorService cleanUpService = Executors        .newSingleThreadScheduledExecutor(); -   +    public BindingProcessorManagerImpl() { -    cleanUpService.scheduleAtFixedRate(new CleanUpTask(), cleanUpInterval, -        cleanUpInterval, TimeUnit.SECONDS); +    cleanUpService.scheduleAtFixedRate(new CleanUpTask(), getCleanUpInterval(), +        getCleanUpInterval(), TimeUnit.SECONDS);    } -   +    /**     * @return the configuration     */ @@ -141,6 +141,34 @@ public class BindingProcessorManagerImpl implements BindingProcessorManager, Com    }    /** +   * @return the current BindingProcessor cleanup interval +   */ +  public int getCleanUpInterval() { +    return cleanUpInterval; +  } + +  /** +   * @param cleanUpInterval the BindingProcessor cleanup interval +   */ +  public void setCleanUpInterval(int cleanUpInterval) { +    this.cleanUpInterval = cleanUpInterval; +  } + +  /** +   * @return the current maximum inactive time of a BindingProcessor +   */ +  public long getMaxAcceptedAge() { +    return maxAcceptedAge; +  } + +  /** +   * @param maxAcceptedAge the maximum inactive time of a BindingProcessor +   */ +  public void setMaxAcceptedAge(long maxAcceptedAge) { +    this.maxAcceptedAge = maxAcceptedAge; +  } + +  /**     * Sets the STALFactory used to create a STAL implementation for initialization of     * a BindingProcessor.     *  @@ -292,8 +320,8 @@ public class BindingProcessorManagerImpl implements BindingProcessorManager, Com          if (!future.isDone()) {  //          active++;          } -        if ((bindingProcessor.getLastAccessTime().getTime() - System -            .currentTimeMillis()) > maxAcceptedAge) { +        if ((System.currentTimeMillis() - bindingProcessor +            .getLastAccessTime().getTime()) > getMaxAcceptedAge()) {            toBeRemoved.add(bindingProcessor.getId());          }        } | 
