5 Replies Latest reply on Mar 21, 2016 5:47 AM by ericpool

    Wildfly 9.0.1: JDBC driver not recognized in domain mode

    klchan.kalam

      After deploy postgre drive in domain mode, it's not listed in data source drive screen. Is there something else need to be done after deployment?

      Same jar, same procedure result ok in standalone mode.

       

      Regards

      KL

        • 1. Re: Wildfly 9.0.1: JDBC driver not recognized in domain mode
          jamezp

          How did you deploy it? Did you roll it out the servers that need it?

           

          --

          James R. Perkins

          • 2. Re: Wildfly 9.0.1: JDBC driver not recognized in domain mode
            klchan.kalam

            Yes I did, it's enabled in 'main-server-group'.

            I use mostly the default settings except i turn the default server 2 off.

            deploy.png

            And in driver page I don't see the deployed driver, in all profiles.

            driver.png

             

            Same procedure in standalone mode is ok though, any thing i might have missed?

            • 3. Re: Wildfly 9.0.1: JDBC driver not recognized in domain mode
              jamezp

              I'm not sure what the issue is there, but I see the same thing. If I had to make a guess it's the operation that lists the available drivers isn't on the /profile=full/subsystem=datasources resource.

               

              That said I did uncover another issue while looking at this, [WFLY-5426] Data sources other than h2 cannot be added to domain servers - JBoss Issue Tracker. So just as a heads up you might want to watch this issue.

               

              --

              James R. Perkins

              • 4. Re: Wildfly 9.0.1: JDBC driver not recognized in domain mode
                harald.pehl

                The list of installed drivers depends on the operation mode (standalone vs. domain). The management console comes with different strategies for reading the installed drivers. I'll give a brief description of each strategy and whether it is used in standalone / domain mode:

                 

                StandaloneDriverStrategy

                This strategy is used in standalone mode and relies on the :installed-drivers-list operation on the resource /subsystem=datasources. This operation lists drivers installed as modules and deployments.

                 

                DomainDriverStrategy

                We used to use this strategy for domain mode. It scans the complete domain for running server instances. Then it executes the :installed-drivers-list operation on them. However this strategy has some severe drawbacks:

                • It does not scale for big domains with tens of hosts and hundreds of servers.
                • It relies on running servers in order to detect the drivers installed as deployments.
                • It doesn't work reliably across different profiles and server groups (see HAL-483 for more details)

                Therefore we decided to use another strategy for domain mode.

                 

                ModulesDriverStrategy

                This strategy is currently used for domain mode. It reads the drivers using the operation {selected.profile}/subsystem=datasources:read-children-resources(child-type=jdbc-driver). Those resources are the JDBC drivers installed as modules. Using modules is the recommended way how to install JDBC drivers in domain mode. It scales for big domains and does not rely on running servers.

                • 5. Re: Wildfly 9.0.1: JDBC driver not recognized in domain mode
                  ericpool

                  the posgres jdbc driver are not sql92 compliant and so method isCompliant return false. That's why Wildfly didn't recognize it as JDBC driver.

                   

                  This is valid for jboss, wildfly 8,9 and 10