[wildfly-dev] using <xa-datasource> and <data-source> with same driver and other related questions
John Mazzitelli
mazz at redhat.com
Fri May 5 18:50:35 EDT 2017
Ramesh,
When you say "this attribute also defines which one to use..." what is "this attribute" referring to?
Are you referring to the "driver-xa-datasource-class-name" attribute or "xa-datasource-class" attribute (which is the one that Brian thinks is really not used)??
Note that I"m not referring to the XML elements (of which there is the one "xa-datasource-class") - I'm referring to the DMR model attributes.
BTW: the XML element name vs. the DMR attribute name results in utter confusion :) Why is the XML element called "xa-datasource-class" - but that doesn't set the value of DMR attribute "xa-datasource-class" (which is the same name)? Instead it affects the DMR attribute "driver-xa-datasource-class-name".
--John Mazz
----- Original Message -----
> 2)if there more than one Driver or Data Source class in the defined module,
> this attribute also defines which one to use to create the connection
>
> ----- Original Message -----
> > Quick and dirty answers..
> >
> > 1) Yes.
> >
> > 2) I believe the xa-datasource-class management attribute on the driver
> > resources is cruft. The code related to drivers does not use it beyond
> > storing a value in the model.
> >
> > 3) I *think* that relates to the method java.sql.Driver.jdbcCompliant(),
> > whose javadoc says:
> >
> > "Reports whether this driver is a genuine JDBC Compliant™ driver. A driver
> > may only report true here if it passes the JDBC compliance tests; otherwise
> > it is required to return false.
> > JDBC compliance requires full support for the JDBC API and full support for
> > SQL 92 Entry Level. It is expected that JDBC compliant drivers will be
> > available for all the major commercial databases.
> >
> > This method is not intended to encourage the development of non-JDBC
> > compliant drivers, but is a recognition of the fact that some vendors are
> > interested in using the JDBC API and framework for lightweight databases
> > that do not support full database functionality, or for special databases
> > such as document information retrieval where a SQL implementation may not
> > be
> > feasible."
> >
> > > On May 5, 2017, at 12:52 PM, John Mazzitelli <mazz at redhat.com> wrote:
> > >
> > > I have a stupid question and two not-so-stupid questions.
> > >
> > > 1. I think I know the answer but I really just need confirmation.
> > >
> > > Suppose I have this defined in standalone.xml:
> > >
> > > <driver name="h2" module="com.h2database.h2">
> > > <xa-datasource-class>org.h2.jdbcx.JdbcDataSource</xa-datasource-class>
> > > <driver>
> > >
> > > Notice it defines the XA datasource class.
> > >
> > > I can share this with both a non-XA <data-source> and a XA
> > > <xa-data-source>, correct? So this is OK:
> > >
> > > <datasource jndi-name="java:/foo">
> > > <driver>h2</driver>
> > > <datasource>
> > >
> > > <xa-datasource jndi-name="java:/bar">
> > > <driver>h2</driver>
> > > <xa-datasource>
> > >
> > > That's the stupid question.
> > >
> > > 2. Here a second question - what is the purpose of both
> > > "driver-xa-datasource-class-name" and "xa-datasource-class". The weird
> > > thing is the XML in standalone.xml uses "xa-datasource-class" but that
> > > seems to be the value of the attribute "driver-xa-datasource-class-name"
> > > -
> > > what is this xa-datasource-class ATTRIBUTE?
> > >
> > > The docs are not clear here:
> > > https://wildscribe.github.io/Wildfly/10.0.0.Final/subsystem/datasources/jdbc-driver/index.html
> > >
> > > where it says:
> > >
> > > * driver-xa-datasource-class-name The fully qualified class name of the
> > > javax.sql.XADataSource implementation module-slot The slot of the
> > > module
> > > from which the driver was loaded, if it was loaded from the module path
> > > profile Domain Profile in which driver is defined. Null in case of
> > > standalone server
> > > * xa-datasource-class XA datasource class
> > >
> > > 3. Third question - what is this "jdbc-compliant" attribute used for? The
> > > docs don't indicate what it would actually be used for:
> > >
> > > * jdbc-compliant - Whether or not the driver is JDBC compliant
> > >
> > > If I am defining a JDBC driver, wouldn't you think it is JDBC compliant?
> > > :-)
> > >
> > > Thanks.
> > > _______________________________________________
> > > wildfly-dev mailing list
> > > wildfly-dev at lists.jboss.org
> > > https://lists.jboss.org/mailman/listinfo/wildfly-dev
> >
> > --
> > Brian Stansberry
> > Manager, Senior Principal Software Engineer
> > JBoss by Red Hat
> >
> >
> >
> >
> > _______________________________________________
> > wildfly-dev mailing list
> > wildfly-dev at lists.jboss.org
> > https://lists.jboss.org/mailman/listinfo/wildfly-dev
>
More information about the wildfly-dev
mailing list