Prioridade e configurações do parâmetro de configuração do MID Server
As configurações do MID Server residem em várias tabelas e o MID Server as prioriza em uma ordem definida. MIDConfigParameter deve ser definido com os construtores de estilo de tipo corretos.
Prioridade de configurações do MID Server
- Parâmetro de configuração do MID
- Propriedade do MID (MID específico)
- Propriedade do MID (global)
Configurações de MIDConfigParameter e APIs
O MID Server oferece suporte a parâmetros baseados em tipo em MIDConfigParameter, em vez de apenas cadeia de caracteres. Existem APIs para criar parâmetros Enum, Duração, Inteiro, Longo, Cadeia de caracteres e Boolianos.
* public static final MIDConfigParameter<Duration> REFRESH_RATE = new DurationParam.Builder(
"MID Server refresh rate.", "refresh_rate", ChronoUnit.SECONDS)
.withReadOnly(false)
.withHidden(false)
.withListed(true)
.withMinValue(Duration.ofSeconds(15))
.withMaxValue(Duration.ofDays(1))
.withDefaultValue(Duration.ofSeconds(65))
.build(); Qualquer nova instância de MIDConfigParameter deve ser definida usando os construtores de estilo de tipo. Esta API está localizada em com.snc.midserver.config.api.IConfig. A API legada emitirá uma exceção se esta instância de MIDConfigParameter de estilo de tipo for fornecida a ela. Da mesma forma, esta API emitirá uma exceção se uma instância MIDConfigParameter de estilo legado for fornecida a ela.
public static final MIDConfigParameter<Duration> REFRESH_RATE = new DurationParam.Builder(
"MID Server refresh rate.", "refresh_rate", ChronoUnit.SECONDS)
.withReadOnly(false)
.withHidden(false)
.withListed(true)
.withMinValue(Duration.ofSeconds(15))
.withMaxValue(Duration.ofDays(1))
.withDefaultValue(Duration.ofSeconds(65))
.build();
// will throw IllegalArgumentException
Config config = Config.get();
String value = config.getProperty(MIDConfigParameter.REFRESH_RATE);
// ok, since REFRESH_RATE is a new style param
IConfig newConfigApi = Config.get();
Optional<Duration> optionalValue = newConfigApi.get(MIDConfigParameter.REFRESH_RATE); Validação de valor
- Comente o parâmetro no arquivo config.xml
- Ignorar o carregamento do parâmetro na memória
- Registrar um erro no log do agente
- Enfileirar um registro de MIDssueLogger para enviar de volta para a instância quando a conectividade da instância estiver disponível
Quando a conectividade da instância estiver disponível, envie os registros de MIDssueLogger na fila para a instância.
Prevenção de registro inválida
Evite criar registros duplicados na tabela Propriedade do MID porque eles podem ser registros inválidos. Propriedades duplicadas têm o mesmo nome e são atribuídas ao mesmo MID Server.
Da mesma forma, evite criar parâmetros de configuração globais porque eles não são compatíveis. Os parâmetros de configuração global são parâmetros de configuração sem MID Server atribuído. Se uma configuração deve ser aplicada a todos os MID Servers, use uma propriedade MID global.