I want to plugin a custom/thirdparty DataSource
XADataSource
This is fine, JBoss JCA will drive the
XADataSource
using the standard api.
You deploy is using an xa-datasource
DataSource
with internal pool
This is a non XA datasource that does its own pooling.
If you do this, you are outside JCA. The internal pool of the DataSource will not
understand the transactions or security configuration. Nor will any other component that expects the connection to be controlled by JCA which does the JTA (transaction manager) integration.
These
DataSource
s are intended for use outside a J2EE environment.
JBoss uses standard JDBC drivers and adds the behaviour to turn them into full
DataSource
s with the full J2EE contract.
Additional note
This difference is also observed in the JCA spec where a
ManagedConnectionFactory
has two methods.
createConnectionFactory()
- with an internal connection manager - intended for use outside J2EE
createConnectionFactory(ConnectionManager)
- for use with the J2EE application server's connection manager and pool
Comments