Zasoby na Websphere 7 – aktualizacja właściwości

post_img

Wedle powszechnie utartej opinii im więcej zasobów, tym lepiej. Poza tym od przybytku głowa nie boli, więc zająłem się tworzeniem zasobów na serwerze aplikacji IBM Websphere 7 (źródła danych aplikacji JEE i takie tam inne) . Oczywiście w ferworze twórczości wybrałem bardziej skomplikowaną ścieżkę, używając narzędzia wsadmin, które jest dostarczane z serwerem.

Gdy już ochłonąłem, zacząłem zastanawiać się, jak można modyfikować takie zasoby. Przy użyciu konsoli zarządzania serwerem sprawa jest prosta.
Inaczej rzecz się ma w przypadku modyfikowania właściwości z poziomu skryptów wykonywanych przez wsadmin (Jacl lub Jython).
Większość przykładów tworzenia zasobów pokazuje, jak tworzyć nowe właściwości lub je „nadpisywać” przez dodanie nowej z taką samą nazwą, jak istniejąca. Nie jest to dobrym rozwiązaniem, ponieważ konsola administracyjna Websphere gubi się, odczytując właściwości zasobu, w którym istnieje kilka wpisów definiujących ten sam element.

Przykład nieprawidłowego modyfikowania zasobów (dodawane są nowe wpisy o identycznych nazwach):

1
2
3
4
5
6
7
1.  newURLPropertyValue = [
2.      ['URL', 'oracleRACXARecoveryDelay'],
3.      ['value', 'jdbc:oracle:thin:@localhost:1521:XE']
4.  ]
5.  dataSourceId = AdminConfig.getid("/DataSource:TestDataSource/");
6.  propertySetId = AdminConfig.showAttribute(dataSourceId,"propertySet")
7.  AdminConfig.create('J2EEResourceProperty', propertySetId , newURLPropertyValue )

Poniższy przykład pokazuje, jak prawidłowo modyfikować wartość właściwości URL

1
2
3
1.  urlPropertyStr = "/DataSource:TestDataSource/J2EEResourcePropertySet:/J2EEResourceProperty:URL/"
2.  urlPropertyId = AdminConfig.getid(urlPropertyStr);
3.  AdminConfig.modify('J2EEResourceProperty', urlPropertyId, newURLPropertyValue)

Czy pomogło ?

Daniel Ramotowski

PS

Mam nadzieję, że nie zaszkodziło. 🙂

DR

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *