Я могу читать системные свойства через интерфейс CLI
/system-property=propertyname:read-attribute(name="value")
Есть ли простой способ обновить свойство через интерфейс CLI?
Я могу читать системные свойства через интерфейс CLI
/system-property=propertyname:read-attribute(name="value")
Есть ли простой способ обновить свойство через интерфейс CLI?
Вы можете использовать операцию write-attribute
для изменения значений системных свойств.
/system-property=propertyname:write-attribute(name="value", value="newValue")
Подробнее см. в ответе ниже.
Вы можете просто использовать операцию атрибута write.
Здоровый рабочий процесс для CLI управления заключается в том, чтобы выставлять, читать и писать атрибуты ресурсов. Чтобы привести пример этого рабочего процесса, мы сделаем следующие шаги по новой установке JBoss Application Server 7.1.0Beta1 по умолчанию.
Мы не всегда знаем точное название того, что мы ищем. Мы можем использовать сочетание настроек табуляции и подстановочных подстановок, чтобы упростить отображение ресурсов и атрибутов. Операция read-resource
является отличным началом для любого рабочего процесса, поскольку она предоставляет все существующие объекты.
[[email protected]:9999 /] /system-property=*:read-resource
{
"outcome" => "success",
"result" => [{
"address" => [("system-property" => "java.net.preferIPv4Stack")],
"outcome" => "success",
"result" => {
"boot-time" => true,
"value" => "true"
}
}]
}
Операция read-resource
раскрыла свойство java.net.preferIPv4Stack
. Мы можем запросить это, используя операцию read-resource-description
.
[[email protected]:9999 /] /system-property=java.net.preferIPv4Stack:read-resource-description
{
"outcome" => "success",
"result" => {
"description" => "A system property to set on all servers in the domain.",
"head-comment-allowed" => true,
"tail-comment-allowed" => false,
"attributes" => {
"value" => {
"type" => STRING,
"description" => "The value of the system property.",
"required" => false,
"access-type" => "read-write",
"storage" => "configuration",
"restart-required" => "no-services"
},
"boot-time" => {
"type" => BOOLEAN,
"description" => "If true the system property is passed on the command-line to the started server jvm. If false, it will be pushed to the server as part of the startup sequence.",
"required" => false,
"default" => true,
"access-type" => "read-write",
"storage" => "configuration",
"restart-required" => "no-services"
}
}
}
}
Операция read-resource-description
печатает информацию о ресурсе, включая его атрибуты. Мы можем специально запросить эти атрибуты с помощью операции read-attribute
. Опять же, завершение вкладки позволяет легко скомпоновать эти рабочие строки при вводе текста и нажать вкладку, чтобы завершить строку или предложить доступные дополнения.
[domain @localhost: 9999/]/system-property=java.net.preferIPv4Stack:read-attribute(name=boot-time)
{ "результат" = > "успех", "result" = > true
}
Точно так же, как только мы запросили атрибут, мы можем его изменить. В этом случае мы можем использовать операцию write-attribute
, имея в виду тип предполагаемого значения, о котором сообщает операция read-resource-description
. Эта операция объявила, что она была BOOLEAN, но вы должны иметь возможность ее решить, просто взглянув на существующее значение в команде read-attribute
(где она определена).
[[email protected]:9999 /] /system-property=java.net.preferIPv4Stack:write-attribute(name=boot-time, value=false)
{
"outcome" => "success",
"result" => {
"domain-results" => {"step-1" => undefined},
"server-operations" => undefined
}
}
Мы снова можем запустить операцию read-attribute
, чтобы показать изменение значения.
[[email protected]:9999 /] /system-property=java.net.preferIPv4Stack:read-attribute(name=boot-time)
{
"outcome" => "success",
"result" => false
}
Чтобы изящно завершить этот пример, верните значение в исходное состояние.
[[email protected]:9999 /] /system-property=java.net.preferIPv4Stack:write-attribute(name=boot-time, value=true)
{
"outcome" => "success",
"result" => {
"domain-results" => {"step-1" => undefined},
"server-operations" => undefined
}
}
Да, вы можете записать значения атрибутов. Чтобы упростить процесс, привычка рабочего процесса раскрывать значения атрибутов и определения типов файлов является хорошей практикой и должна сделать процесс более понятным.
И для полноты, здесь, как удалить (undefine) атрибут свойства:
/system-property=propertyname:undefine-attribute(name=attribute-name)