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
Autor: Daniel Ramotowski
