All Downloads are FREE. Search and download functionalities are using the official Maven repository.

nl.vpro.domain.media.MediaObjectLockerAdminMXBean Maven / Gradle / Ivy

Go to download

The basic domain classes for 'media', the core of POMS. Also, the 'update' XML bindings for it. It also contains some closely related domain classes like the enum to contain NICAM kijkwijzer settings.

There is a newer version: 8.3.1
Show newest version
package nl.vpro.domain.media;

import java.util.Map;
import java.util.Set;

import nl.vpro.jmx.Description;
import nl.vpro.jmx.Name;

/**
 * @author Michiel Meeuwissen
 * @since 5.8
 */
public interface MediaObjectLockerAdminMXBean   {

    @Description("The mids currently locked")
    Set getLocks();

    @Description("The total number of acquired locks. So this grows continuously.")
    int getLockCount();

    @Description("The total number of acquired locks per 'reason'. So this grows continuously.")
    Map getLockCounts();

    @Description("The current number of locks. Should be a low number, most of the time zero.")
    int getCurrentCount();

    @Description("The total number of acquired locks per reason. So this grows continuously.")
    Map getCurrentCounts();

    @Description("The maximum concurrency level reached since the start of the application. I.e. the number of threads trying to acces the same lock simultaneously")
    int getMaxConcurrency();


    @Description("The maximum depth reach. I.e. the maximum number of 'nested' code locking the same mid.")
    int getMaxDepth();

    @Description("Explicitly clear a lock on some mid")
    String clearMidLock(@Name("mid") String mid, boolean interrupt);

    @Description("Explicitly lock a mid for a certain period. This simulates long processes, and can be used to assess such a situation")
    String lockMid(@Description("The mid to lock") @Name("mid") String mid, @Description("How long") @Name("duration") String duration);

    String clearMidLocks(boolean interrupt);

    @Description("If locks are monitoring, this the time a process needs to wait for a lock at most")
    String getMaxLockAcquireTime();

    void setMaxLockAcquireTime(String duration);

    @Description("Whether locks are monitored currently. If they are, processes waiting for a lock for too long, are continuing without one.")
    boolean isMonitor();

    void setMonitor(boolean monitor);






}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy