Modify nested attributes with wsadmin


 

+

Search Tips   |   Advanced Search

 

We can modify nested attributes for a configuration object using scripting and wsadmin.

The attributes for a WAS configuration object are often deeply nested. For example, a JDBCProvider object has an attribute factory, which is a list of the J2EEResourceFactory type objects.

These objects can be DataSource objects that contain a connectionPool attribute with a ConnectionPool type that contains a variety of primitive attributes.

Jython...

### Obtain the configuration ID of the object...
t1=AdminConfig.getid('/DataSource:TechSamp/')

### Modify one of the object parents and specify the location of the
### nested attribute within the parent...
AdminConfig.modify(t1, [["connectionPool", [["reapTime", 2003]]]])

### Using Jython string:
### AdminConfig.modify(t1, '[[connectionPool [[reapTime 2003]]]]')

AdminConfig.save()

### Use the reset command of the AdminConfig object to undo changes
### that you made to the workspace since the last save.

Jacl...


### Obtain the configuration ID of the object...
set t1 [$AdminConfig getid /DataSource:TechSamp/]

### Modify one of the object parents and specify the location of the
### nested attribute within the parent...
$AdminConfig modify $t1 {{connectionPool {{reapTime 2003}}}}

$AdminConfig save

 

Example

An alternative way to modify nested attributes is to modify the nested attribute directly.

Jacl...

set techsamp [$AdminConfig getid /DataSource:TechSamp/]
set pool [$AdminConfig showAttribute $techsamp connectionPool]
$AdminConfig modify $pool {{reapTime 2003}}

Using Jython list:

techsamp=AdminConfig.getid('/DataSource:TechSamp/')
pool=AdminConfig.showAttribute(techsamp,'connectionPool')
AdminConfig.modify(pool,[['reapTime',2003]])

Using Jython string:

techsamp=AdminConfig.getid('/DataSource:TechSamp/')
pool=AdminConfig.showAttribute(techsamp,'connectionPool')
AdminConfig.modify(pool,'[[reapTime 2003]]')

In this example, the first command gets the configuration id of the DataSource, and the second command gets the connectionPool attribute. The third command sets the reapTime attribute on the ConnectionPool object directly.