Looking up data sources with resource references for relational access

Using a resource reference to access your data source or connection factory is required when running WebSphere Application Server. Reasons for this requirement include the following:

  • If a data source is looked up directly, the connection gets all default properties for the missing resource reference. For example, the sharing-scope is a shareable connection resulting in the possibility that the physical connection is the same each time the connection is requested from the data source. This situation can cause a multitude of problems if you expect unshareable connections.

  • It relieves the programmer from having to know the name of the actual data source at the target application server.

  • We can set the default isolation level for the data source through resource references. With no resource reference you get the default for the JDBC driver you use.

Use a resource reference (resource-ref) for looking up a data source through the standard Java Naming and Directory Interface (JNDI) naming interface. The JNDI name defined in the resource reference is a logical name of the data source. Have your application use this JNDI name to look up a data source instead of using the JNDI name that is defined on the data source.

Later, one can substitute the real name, either by using an assembly tool or during installation of the application EAR file onto the server.

For example, assume that you use a data source jdbc/Section as illustrated in the following code:

javax.sql.DataSource specificDataSource  = 
   (javax.sql.DataSource) (new InitialContext()).lookup("java:comp/env/jdbc/Section"); 
   

In the assembly tool, specify the name (jdbc/Section) as the resource reference. If you know the name of the data source, you specify it in the resource references Bindings page.

 

See also


Isolation level and resource reference

 

See Also


Data sources

 

Related Tasks


Accessing data from application clients
Configuring data access for the Application Client
Creating or changing a resource reference
Assembling data access applications
Accessing data using J2EE Connector Architecture connectors
Migrating a V4.0 data access application to v6
Creating and configuring a JDBC provider and data source