Files
baiyue-firstleg/common-audit/src/main/java/com/baiyue/common/audit/AuditProperties.java
T
2026-08-05 14:20:04 +08:00

66 lines
3.3 KiB
Java

package com.baiyue.common.audit;
import org.springframework.boot.context.properties.ConfigurationProperties;
/**
* 业务审计配置模型,控制审计开关、输出方式、远程地址、服务名和快照长度限制。
*/
@ConfigurationProperties("baiyue.audit")
public class AuditProperties {
private boolean enabled = true;
private String endpoint;
private int maxPayloadLength = 16000;
private String serviceName = "unknown-service";
private final Outbox outbox = new Outbox();
private final Rocketmq rocketmq = new Rocketmq();
public boolean isEnabled() { return enabled; }
public void setEnabled(boolean enabled) { this.enabled = enabled; }
public String getEndpoint() { return endpoint; }
public void setEndpoint(String endpoint) { this.endpoint = endpoint; }
public int getMaxPayloadLength() { return maxPayloadLength; }
public void setMaxPayloadLength(int maxPayloadLength) { this.maxPayloadLength = maxPayloadLength; }
public String getServiceName() { return serviceName; }
public void setServiceName(String serviceName) { this.serviceName = serviceName; }
public Outbox getOutbox() { return outbox; }
public Rocketmq getRocketmq() { return rocketmq; }
public static class Outbox {
private boolean enabled;
private boolean publisherEnabled;
private int batchSize = 50;
private int leaseSeconds = 60;
private int maxAttempts = 5;
private int maxCompensations = 2;
private int compensationDelayMinutes = 30;
private int retentionDays = 30;
public boolean isEnabled() { return enabled; }
public void setEnabled(boolean enabled) { this.enabled = enabled; }
public boolean isPublisherEnabled() { return publisherEnabled; }
public void setPublisherEnabled(boolean publisherEnabled) { this.publisherEnabled = publisherEnabled; }
public int getBatchSize() { return batchSize; }
public void setBatchSize(int batchSize) { this.batchSize = batchSize; }
public int getLeaseSeconds() { return leaseSeconds; }
public void setLeaseSeconds(int leaseSeconds) { this.leaseSeconds = leaseSeconds; }
public int getMaxAttempts() { return maxAttempts; }
public void setMaxAttempts(int maxAttempts) { this.maxAttempts = maxAttempts; }
public int getMaxCompensations() { return maxCompensations; }
public void setMaxCompensations(int maxCompensations) { this.maxCompensations = maxCompensations; }
public int getCompensationDelayMinutes() { return compensationDelayMinutes; }
public void setCompensationDelayMinutes(int compensationDelayMinutes) { this.compensationDelayMinutes = compensationDelayMinutes; }
public int getRetentionDays() { return retentionDays; }
public void setRetentionDays(int retentionDays) { this.retentionDays = retentionDays; }
}
public static class Rocketmq {
private String topic = "test-baiyue-audit-event-v1";
private int sendTimeoutMs = 3000;
public String getTopic() { return topic; }
public void setTopic(String topic) { this.topic = topic; }
public int getSendTimeoutMs() { return sendTimeoutMs; }
public void setSendTimeoutMs(int sendTimeoutMs) { this.sendTimeoutMs = sendTimeoutMs; }
}
}