JBoss AS 7 обновляет систему через cli

Я могу читать системные свойства через интерфейс CLI

/system-property=propertyname:read-attribute(name="value")

Есть ли простой способ обновить свойство через интерфейс CLI?

Ответ 1

Вы можете использовать операцию write-attribute для изменения значений системных свойств.

/system-property=propertyname:write-attribute(name="value", value="newValue")

Подробнее см. в ответе ниже.

Ответ 2

Вы можете просто использовать операцию атрибута write.

Здоровый рабочий процесс для CLI управления заключается в том, чтобы выставлять, читать и писать атрибуты ресурсов. Чтобы привести пример этого рабочего процесса, мы сделаем следующие шаги по новой установке JBoss Application Server 7.1.0Beta1 по умолчанию.

Шаги для идентификации и записи атрибута системного ресурса

  • Читать все свойства системы
  • Подробнее читайте конкретное системное свойство
  • Вывести пример атрибута системного свойства
  • Введите пример атрибута системного свойства
  • Измените его, чтобы подтвердить его.
  • Reset атрибут возвращается к исходному значению

1. Читать все свойства системы

Мы не всегда знаем точное название того, что мы ищем. Мы можем использовать сочетание настроек табуляции и подстановочных подстановок, чтобы упростить отображение ресурсов и атрибутов. Операция 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"
        }
    }]
}

2. Подробнее читайте конкретное системное свойство

Операция 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"
            }
        }
    }
}

3. Вывести пример атрибута системного свойства

Операция read-resource-description печатает информацию о ресурсе, включая его атрибуты. Мы можем специально запросить эти атрибуты с помощью операции read-attribute. Опять же, завершение вкладки позволяет легко скомпоновать эти рабочие строки при вводе текста и нажать вкладку, чтобы завершить строку или предложить доступные дополнения.

[domain @localhost: 9999/]/system-property=java.net.preferIPv4Stack:read-attribute(name=boot-time)
{    "результат" = > "успех",    "result" = > true }

4. Напишите пример атрибута системного свойства

Точно так же, как только мы запросили атрибут, мы можем его изменить. В этом случае мы можем использовать операцию 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
    }
}

5. Вывести изменение, чтобы подтвердить его

Мы снова можем запустить операцию read-attribute, чтобы показать изменение значения.

[[email protected]:9999 /] /system-property=java.net.preferIPv4Stack:read-attribute(name=boot-time)              
{
    "outcome" => "success",
    "result" => false
}

6. Reset атрибут возвращается к исходному значению

Чтобы изящно завершить этот пример, верните значение в исходное состояние.

[[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
    }
}

Резюме

Да, вы можете записать значения атрибутов. Чтобы упростить процесс, привычка рабочего процесса раскрывать значения атрибутов и определения типов файлов является хорошей практикой и должна сделать процесс более понятным.

Ответ 3

И для полноты, здесь, как удалить (undefine) атрибут свойства:

/system-property=propertyname:undefine-attribute(name=attribute-name)