2 Replies Latest reply: Dec 30, 2011 9:12 AM by Savas Ali Tokmen RSS

Specifying the driver class in JBoss DataSource deployment

Savas Ali Tokmen Newbie

Dear all

 

I am very confused for the deployment of datasources on JBoss 7.

 

From JBoss 3.x until JBoss 6.1.x, datasource deployment used to be done by:

 

  1. Installing the appropriate JAR
  2. Declaring the datasource with a DS XML file:

<?xml version="1.0" encoding="UTF-8"?>

<datasources>

  <local-tx-datasource>

    <jndi-name>...</jndi-name>

    <connection-url>...</connection-url>

    <driver-class>...</driver-class>

    <user-name>...</user-name>

    <password>...</password>

  </local-tx-datasource>

</datasources>

 

With JBoss 7, this has drastically changed:

 

  • Installing the JAR is, for most JDBC drivers, putting it in the deploy directory -which is perfectly fine
  • The declaration of the datasource needs to be in the standalone.xml file, i.e. the file where the whole server's configuration is. This I believe is not convenient at all, as people can accidentally break things while modifying the file. It also makes things much more difficult if we want to use a JBoss server shared between different applications.
  • The driver-class attribute does not exist anymore; we now rather need to define a module name... which is confusing as only JBoss 7 has such a requirement: no previous versions of JBoss, neither any other server I know of (Tomcat, GlassFish, WebLogic, JOnAS, ...) have such a terminology nor requirement. The biggest difficulty I've encountered with all administrators is the answer to the question: "but how do I guess the module name"? It would be great if we could only have the driver-class attribute back again.

 

So, I have one question: is the DS XML file that we have been using for years, with the very convenient driver-class attribute, going to be re-implemented at some point?

 

Thank you