Home > Enterprise >  How does JDBC DataSource works?
How does JDBC DataSource works?

Time:12-17

I wondered how works method getConnection() at DataSource? I assume that DataSource calling DriverManager.getConnection every time when we call DataSource.getConnection with our properties that we setting in DataSource. Is that true?

CodePudding user response:

The answers to your question can be deduced from the DataSource javadoc.

"The DataSource interface is implemented by a driver vendor. There are three types of implementations:

  • Basic implementation -- produces a standard Connection object
  • Connection pooling implementation -- produces a Connection object that will automatically participate in connection pooling. This implementation works with a middle-tier connection pooling manager.
  • Distributed transaction implementation -- produces a Connection object that may be used for distributed transactions and almost always participates in connection pooling. This implementation works with a middle-tier transaction manager and almost always with a connection pooling manager."

Thus:

I wondered how works method getConnection() at DataSource?

It is vendor specific, and depends on the type of implementation that the vendor provides.

I assume that DataSource calling DriverManager.getConnection every time when we call DataSource.getConnection with our properties that we setting in DataSource. Is that true?

Not necessarily. For example, DataSource.getConnection() could return the same Connection object each time it is called.

If you want to know how a specific DataSource works, you would need to look at the vendor documentation ... or alternatively its source code.

  • Related