|
Problem |
Unable to save global security settings when using LTPA
Custom Registry implementation. Get error "Illegal use of 1PC resource in
transaction".
The message seems to imply 2PC support would be needed to make this work,
however, custom registry code is not explicitly using any transactions and
shouldn't need 2PC support (2 phase commit support). Relational database
is being used for the registry and Websphere connection pool to get
connections. |
|
Cause |
The issue isn't with using a relational database as the
custom registry, but rather with accessing it through a datasource.
Because WebSphere Application Server uses DB2(TM) as its repository,
there is already a transaction started with the database at the time the
code tries to initialize/access the custom registry. The datasource
attempts to start a new transaction which causes the error.
|
|
Solution |
The workaround to use relational databases for custom
registries is to use direct JDBC(TM) calls in the code and not a data
source. This still allows for the updates to the custom registry to be
made with the transaction.
In future releases of Websphere Application Server, this will no longer
be an issue when the Application Server repository moves to xml, rather
than being stored in a relational database.
The workaround is to be used until that time.
APAR PQ55941 documents this restriction. View this apar at:
http://www-1.ibm.com/support/docview.wss?rs=180&context=SSEQTP&q=PQ55941&uid=swg186256c3e005f1adc86256c5d003b2852
|
|
|
|
Historical Number |
PQ55941 |
|
|
|
|
|