com.remondis.limbus.monitoring.Publisher Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of limbus-monitoring Show documentation
Show all versions of limbus-monitoring Show documentation
API to create and process monitoring information using extendable interfaces for consumers and producers.
The newest version!
package com.remondis.limbus.monitoring;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Inherited;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* A publisher is an entity that can publish monitoring events. A
* publisher implements a certain interface - the publisher interface - that
* must met the following conditions to be a valid monitoring publisher:
*
* - A publisher interface has the annotation {@link Publisher} on its
* type to signal that all conventions are met.
* - Methods of a publisher interface must not have a return type.
* - Methods of a publisher interface may be annotated with {@link CallImmediately} to signal that this method call
* must be performed immediately instead of scheduling the method call for asynchronous execution.
*
*
*
* The above requirements can be checked at runtime using the methods from
* {@link Conventions}.
*
*
*
* Publisher implementations
*
* A publisher processes monitoring calls. This interface defines methods a publisher must implement. Monitoring
* calls may occur very often with a high frequency and concurrency. Therefore implementations must support a
* non-blocking and highly thread-safe processing of monitoring calls.
*
*
* @author schuettec
*
*
*
*/
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(value = ElementType.TYPE)
@Inherited
public @interface Publisher {
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy