В примере 5.11 показано, как найти информацию об атрибутах MBean сервера. Первая команда инициализирует переменную serv именем объекта-сервера, работающего на узле kcgg1f3CellManager01, которую получают с помощью команды completeObjectName. Обратите внимание, что имя возвращаемого объекта — это первое имя, обнаруживаемое командой completeObjectName. Команда attributes объекта Help выводит список всех доступных атрибутов конкретного MBean сервера.
Пример 5.11. Поиск атрибутов работающего MBean
wsadmin>serv =
AdminControl.completeObjectName(‘type=Server,node=kcgg1f3CellManager01,*’) wsadmin>print Help.attributes(serv)
Attribute Type Access
name java.lang.String RO
shortName java.lang.String RO
threadMonitorInterval int RW
threadMonitorThreshold int RW
threadMonitorAdjustmentThreshold int RW
pid java.lang.String RO
cellName java.lang.String RO
cellShortName java.lang.String RO
deployedObjects java.lang.String; RO
javaVMs java.lang.String; RO
nodeName java.lang.String RO
nodeShortName java.lang.String RO
processType java.lang.String RO
resources java.lang.String; RO
serverVersion java.lang.String RO
serverVendor java.lang.String RO
state java.lang.String RO
platformName java.lang.String RO
platformVersion java.lang.String RO
internalClassAccessMode java.lang.String RO
objectName java.lang.String RO
stateManageable boolean RO
statisticsProvider boolean RO
eventProvider boolean RO
eventTypes java.lang.String; RO
Значения атрибутов для любого конкретного MBean можно прочитать командой getAttrubute объекта AdminControl. В зависимости от политики доступа конкретного атрибута (только чтение — RO или чтение/запись — RW в команде attributes объекта Help), значения атрибутов можно изменять командой setAttribute. Например, ID процесса (pid) MBean сервера можно получить с помощью такой команды:
wsadmin>AdminControl.getAttribute(serv,’pid’)
Сходную с командой attributes команду operations можно применять для вывода списка операций, поддерживаемых конкретным MBean. В примере 5.12 показано использование команды operations и выводимые ею данные.
Пример 5.12. Поиск операций для работающего MBean (часть списка операций)
wsadmin>print Help.operations(serv)
Operation
java.lang.String getName()
java.lang.String getShortName()
int getThreadMonitorInterval()
void setThreadMonitorInterval(int)
int getThreadMonitorThreshold()
void setThreadMonitorThreshold(int)
int getThreadMonitorAdjustmentThreshold()
void setThreadMonitorAdjustmentThreshold(int) java.lang.String getPid()
java.lang.String getCellName()
java.lang.String getCellShortName()
java.lang.String; getDeployedObjects() void stopImmediate()
void stop(java.lang.Boolean, java.lang.Integer) void restart()
java.lang.String getObjectNameStr() boolean isStateManageable() boolean isStatisticsProvider() boolean isEventProvider() java.lang.String; getEventTypes()
Операции MBean вызываются при помощи команды invoke объекта AdminControl. Например, вот синтаксис вызова операции getVersionsForAllProducts:
wsadmin>print AdminControl.invoke(serv,’getVersionsForAllProducts’)
Для просмотра и вызова атрибутов и операций MBean-компонентов в визуальном режиме рекомендуется использовать графический инструмент MBeanInspector (MBI). При помощи MBeanInspector все JMX MBean-компоненты отображаются в древовидной структуре в отношениях родитель-потомок, и для большинства операций отображается синтаксис вызова wsadmin.
Хотя MBI и не доступен для WebSphere Application Server версий 6.x, существующая версия, предназначенная для версии 5 прекрасно работает с версией 6. Однако MBI не имеет никакой информации о профилях. При включенной системе безопасности этот инструмент использует общий файл sas.properties из корневого каталога инсталляционной директории WebSphere, а не файл sas.properties из текущего профиля. За дополнительной информацией обращайтесь к статье «MBeanInspector for WebSphere Application Server» на сайте alphaWorks®:
http://www.alphaworks.ibm.com/tech/mbeaninspector
Конфигурирование с использованием AdminConfig
Объекты AdminConfig и AdminTask используются для управления конфигурационной информацией среды WebSphere. В данном разделе рассматривается использование объекта AdminConfig.
Объект AdminConfig взаимодействует с конфигурационной службой процесса WebSphere, запрашивая и обновляя конфигурацию. Все модификации, производимые командами AdminConfig, сохраняются во временном рабочем пространстве до тех пор, пока вы не вызовете команду save.
Объект AdminConfig для изменения конфигурации выполняет ряд задач.
1. Идентификацирует тип конфигурации и соответствующих атрибутов.
2. Запрашивает существующий конфигурационный объект с целью получения ID конфигурации изменяемого объекта.
3. Изменяет существующий конфигурационный объект или перезаписывает его новым конфигурационным объектом.
4. Сохраняет конфигурацию.
В следующих разделах эти шаги рассматриваются более подробно. Вам следует знать, что для конфигурирования WebSphere с помощью объекта AdminConfig нужно хорошо знать XML-документы конфигурации WebSphere и содержимое директории config. Для начала нужно просмотреть заданный по умолчанию профиль конфигурации WebSphere и понять, элементы, атрибуты и пространства имен, которые описаны в Javadoc-документации.
Команда types
Конфигурация WebSphere состоит из типов элементов и имен атрибутов, организованных в набор XML-документов. Конфигурацией WebSphere управляют с помощью объекта AdminConfig, получив ссылку на существующий тип элемента или создавая
и удаляя экземпляры типов элементов из конфигурации. В wsadmin каждый тип элемента управляется как конфигурационный объект с уникальным конфигурационным ID. Список доступных конфигурационных объектов можно получить с помощью команды types.