Deployment options and threading and connection modesA database can be available to multiple connections in several
situations.Deployment modesthreading/connection modes
andMulti-threaded applicationsMultiple connectionsfrom single application running
in embedded modefrom multiple applications connecting
to server
Multiple applications access a single database (possible only when is running inside a server
framework).
A single application has more than one Connection to the same database.
The way you deploy affects
the ways applications can use multi-threading and connections, as shown in .
Threading and Connection ModesConnection modeEmbeddedServer
Multi-Threaded
From an application, using
a singleConnection to a database
and issuing requests against that connection in multiple threads.
Supply a single Connection object to separate threads. ensures that only one
operation is applied at a time for consistency. Server frameworks automatically
manage multi-threaded operations..Server frameworks can automatically multi-thread operations.
Remote client applications can multi-thread if desired.
Multi-Connection
From an application, using
multiple connections to a database
and issuing requests against those connections on multiple threads.
Create individual connections within a single application
and use the appropriate connection for each JDBC request. The connections
can all be to the same database, or can be to different databases in the same system.Remote client applications can establish the multiple connections
desired.
Multi-User
Multiple applications (or JVMs)
accessing the same database.
Each user application has its own connection or connections to the database.
Not possible. Only one application can access a database
at a time, and only one application can access a specific system at a time.
When using a pre-1.4 JVM, might
not prevent multiple applications from concurrently accessing the same system, but do not allow
this because such access can corrupt the databases involved.Only one server should access a database at a time. Multiple
remote client applications can access the same server, and thus can access
the same database at the same time through that server.