The value of the res-sharing-scope element is Shareable or Unshareable. If the res-sharing-scope element is not specified, connections are assumed to be shareable. A resource manager connection factory reference is scoped to the enterprise bean whose declaration contains the resource-ref element.
If the resource manager is scoped to the bean in which it is declared, then how can it be shared?
Joined: May 30, 2006
J J Wright
Joined: Jul 02, 2008
A resource manager connection factory reference may be scoped to a component but multiple components can reference the same connection factory - i.e. you define a single datasource in your app server then reference it from multiple components.
When a connection is marked as sharable it can be reused by multiple components executing in the same transaction. For example EJB1 starts a transaction, obtains a JDBC connection, uses it, and then invokes a method on EJB2. EJB2 also uses a JBDC connection with same connection properties as the one used EJB1. If the connection is shareable EJB2 will reuse the same connection, as opposed to creating a new one.