66 lines
3.3 KiB
Java
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; }
|
|
}
|
|
}
|