Limitation: Custom Registry Cannot Be Accessed Through Datasource
 Technote (FAQ)
 
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
 
 


Document Information


Product categories: Software > Application Servers > Distributed Application & Web Servers > WebSphere Application Server > Security
Operating system(s): HP-UX
Software version: 4.0.1
Software edition:
Reference #: 1049859
IBM Group: Software Group
Modified date: Aug 28, 2004