Skip to main content

This content has been archived and is no longer being updated. Links may not function; however, this content may be relevant to outdated versions of the product.

Support Article

Shareable resource reference warning in log files

SA-10329

Summary



User has deployed NBAM v7.12 application in Weblogic and observed following warning messages in the log files. 

Error Messages



<Warning: Caller application prbeans.jar defines a shareable resource reference eis/PRAdapterConnectionFactory to outbound connection pool eis/PRAdapterCF, but the pool does not support share by its design either because its transaction support level is NOTransaction or the ManagedConnectionFactory class has the @Unshareable annotation. Will treat as unshareable.>

Steps to Reproduce



Not Applicable

Root Cause



The root cause of this problem is known issue in Oracle Weblogic, kindly refer Oracle forums to know more.

Resolution



Update the scope for "eis/PRAdapterConnectionFactory" to Unshareable for BMT and CMT in ejb-jar.xml to resolve the issue.

About PRAdapterConnectionFactory:

“eis/PRAdapterConnectionFactory” is a resource reference name for the Connection Factory for the PRPC embedded Resource Adapter which is used in the e-tier deployment to manage agents and listeners.

About Unshareable and shareable connections:

The application server supports both unshareable and shareable connections. An unshareable connection is not shared with other components in the application. The component using this connection has full control of this connection.

Access to a resource marked as unshareable means that there is a one-to-one relationship between the connection handle a component is using and the physical connection with which the handle is associated. This access implies that every call to the getConnection method returns a connection handle solely for the requesting user. Typically, you must choose unshareable if you might do things to the connection that could result in unexpected behavior occurring in another application that is sharing the connection (for example, unexpectedly changing the isolation level).

Marking a resource as shareable allows for greater scalability. Instead of retrieving a new physical connection from the connection pool for every getConnection() invocation, the physical connection (that is, managed connection) is shared through multiple connection handles, as long as each getConnection request has the same connection properties. However, sharing a connection means that each user must not do anything to the connection that could change its behavior and disrupt a sharing partner (for example, changing the isolation level). The user also cannot code an application that assumes sharing to take place because it is up to the run time to decide whether or not to share a particular connection.

Published June 12, 2015 - Updated October 8, 2020

Was this useful?

0% found this useful

Have a question? Get answers now.

Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.

Did you find this content helpful?

Want to help us improve this content?

We'd prefer it if you saw us at our best.

Pega Community has detected you are using a browser which may prevent you from experiencing the site as intended. To improve your experience, please update your browser.

Close Deprecation Notice
Contact us