Operating Systems: i5/OS
Personalize the table of contents and search results
The benefits of using resource references
WebSphere Application Server requires your code to reference application
server resources (such as data sources or J2C connection factories) through
logical names, rather than access the resources directly in the Java Naming
and Directory Interface (JNDI) name space. These logical names are called resource
references.
Application Server requires use of resource references for the following
reasons:
- If application code looks up a data source directly in the JNDI naming
space, every connection that is maintained by that data source inherits the
properties that are defined in the application. Consequently, you create the
potential for numerous exceptions if you configure the data source to maintain
shared connections among multiple applications. For example, an application
that requires a different connection configuration might attempt to access
that particular data source, resulting in application failure.
- It relieves the programmer from having to know the name of the actual
data source or connection factory at the target application server.
- You can set the default isolation level for a data source through resource
references. With no resource reference you get the default for the JDBC driver
you use.
Example of using a resource reference
The following code invokes a data source by creating a place holder for
it through the lookup method. Using the logical name jdbc/Section,
the code stores the place holder in the JNDI subcontext java:comp/env/;
hence jdbc/Section becomes a resource reference. (The subcontext java:comp/env/ is
the name space that WebSphere Application Server provides exclusively for
object references within application code.)
javax.sql.DataSource specificDataSource =
(javax.sql.DataSource) (new InitialContext()).lookup("java:comp/env/jdbc/Section");
//The method InitialContext()).lookup creates the logical name, or resource reference, jdbc/Section.
Generally,
an actual data source is configured later as an administrative task.
The logical name jdbc/Section is officially declared as a resource
reference in the application deployment descriptor. You can then associate
the resource reference with the JNDI name of the actual data source in several
ways:
- If you know the data source JNDI name at the point of application assembly,
specify the name on the resource references Bindings page.
- Specify the data source JNDI name during application deployment.
- Map the resource reference to the data source JNDI name when you configure
the application after deployment.
This act of association is called binding the resource reference
to the data source.
See the article Application bindings for information
on all types of required resource bindings.
Sub-topics
Requirements for setting isolation level
Related concepts
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 applications to use data sources of the current J2EE Connector
Architecture (JCA)
Configuring a JDBC provider and data source
Related Reference
Lookup names support in deployment descriptors and thin clients