diff options
| author | Jakob Heher <jakob.heher@iaik.tugraz.at> | 2026-05-12 15:33:19 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-05-12 15:33:19 +0200 |
| commit | c8abbd8bef5349ab892a2853a4e5e3d5ed16b670 (patch) | |
| tree | 04e86de8b547ac2685165cdf652b6c16355ae3c3 /pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/stats | |
| parent | e2bfdc313c0b6395d272624688b4ed1cba7ce967 (diff) | |
| download | pdf-as-4-c8abbd8bef5349ab892a2853a4e5e3d5ed16b670.tar.gz pdf-as-4-c8abbd8bef5349ab892a2853a4e5e3d5ed16b670.tar.bz2 pdf-as-4-c8abbd8bef5349ab892a2853a4e5e3d5ed16b670.zip | |
Update docs & various fixes discovered in the process (#86)
- update documentation for pdf-as 5
- document the v2 json api
- fix a number of documentation quirks
- document `keyId` parameter
- px (pixels) -> pt (pdf page units)
- document --verify_level
- remove a number of documented features that were never implemented:
- `adobeSignFieldValue` and `sigLogoAltText` from signature profiles
- `UNDERLINE` and `STRIKETHRU` from fonts
- `num-bytes` parameter
- `verify_only`/`sign_only` enable states for profiles
- update mobile BKU base URL
- update pdfbox backend default to 3 in sample configurations
- consistently made boolean parsing from configuration files case permissive
- add moa verification timeout
- add support for BOLDITALIC to all base fonts, and for ITALIC to helvetica and courier
- fix a number of small quirks
- hibernate properties are now reloaded properly
- fix the signature block parameter key regex
- v1 json api now correctly checks for onlinebku/mobilebku being enabled
- pdfbox 2 module correctly compares for integer equality regardless of cached boxed ints
- test operationcountwatcher no longer sometimes breaks due to spring context differences
Diffstat (limited to 'pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/stats')
| -rw-r--r-- | pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/stats/impl/StatisticMicrometerBackend.java | 24 |
1 files changed, 11 insertions, 13 deletions
diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/stats/impl/StatisticMicrometerBackend.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/stats/impl/StatisticMicrometerBackend.java index 89127e6a..8b8fb489 100644 --- a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/stats/impl/StatisticMicrometerBackend.java +++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/stats/impl/StatisticMicrometerBackend.java @@ -7,30 +7,25 @@ import io.micrometer.core.instrument.MeterRegistry; import io.micrometer.core.instrument.Tags; import io.micrometer.core.instrument.Timer; import lombok.extern.slf4j.Slf4j; +import lombok.val; import org.jspecify.annotations.NonNull; import org.springframework.beans.BeansException; +import org.springframework.beans.factory.DisposableBean; import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContextAware; import org.springframework.stereotype.Component; import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicReference; import java.util.function.Function; @Slf4j public class StatisticMicrometerBackend implements StatisticBackend { /** bridge between ServiceLoader component and Boot's beans */ @Component - public static class SpringContextProxy implements ApplicationContextAware { - private static volatile ApplicationContext applicationContext; - @Override public void setApplicationContext(@NonNull ApplicationContext ctx) { applicationContext = ctx; } - public static <T> T getBean(Class<T> type) { - try { - return (applicationContext != null) ? applicationContext.getBean(type) : null; - } catch (BeansException ex) { - log.warn("Spring MeterRegistry not available, skipped micrometer metric logging", ex); - return null; - } - } + public static class SpringContextProxy { + public static MeterRegistry meterRegistry; + SpringContextProxy(MeterRegistry registry) { meterRegistry = registry; } } public static final String NAME = "StatisticMicrometerBackend"; @Override public String getName() { return NAME; } @@ -39,8 +34,11 @@ public class StatisticMicrometerBackend implements StatisticBackend { public void storeEvent(StatisticEvent e) { if (e == null) return; - MeterRegistry registry = SpringContextProxy.getBean(MeterRegistry.class); - if (registry == null) return; + MeterRegistry registry = SpringContextProxy.meterRegistry; + if (registry == null) { + log.warn("Spring MeterRegistry not available, skipped micrometer metric logging"); + return; + } Tags baseTags = Tags.of( "operation", safeName(e.getOperation(), v -> v.getName()), |
