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