Uploaded image for project: 'Qpid'
  1. Qpid
  2. QPID-7278

[Java Broker] broker crashes when creating a JDBC VirtualHost with invalid JDBC Url

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • qpid-java-6.1
    • Broker-J
    • None

    Description

      trying to create a JDBC VirtualHost with an invalid JDBC Url like "jdbc://foo:bar" causes the broker to shutdown due to an uncaught StoreException:

      org.apache.qpid.server.store.StoreException: Failed to create message store tables
              at org.apache.qpid.server.store.AbstractJDBCMessageStore.createOrOpenMessageStoreDatabase(AbstractJDBCMessageStore.java:311) ~[classes/:na]
              at org.apache.qpid.server.store.jdbc.GenericAbstractJDBCMessageStore.openMessageStore(GenericAbstractJDBCMessageStore.java:48) ~[classes/:na]
              at org.apache.qpid.server.virtualhost.AbstractVirtualHost.onActivate(AbstractVirtualHost.java:1877) ~[classes/:na]
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_91]
              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_91]
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_91]
              at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_91]
              at org.apache.qpid.server.model.AbstractConfiguredObject.attainState(AbstractConfiguredObject.java:1309) ~[classes/:na]
              at org.apache.qpid.server.model.AbstractConfiguredObject.attainState(AbstractConfiguredObject.java:1288) ~[classes/:na]
              at org.apache.qpid.server.model.AbstractConfiguredObject$8.onSuccess(AbstractConfiguredObject.java:909) ~[classes/:na]
              at org.apache.qpid.server.model.AbstractConfiguredObject$8.onSuccess(AbstractConfiguredObject.java:903) ~[classes/:na]
              at com.google.common.util.concurrent.Futures$6.run(Futures.java:1319) ~[guava-18.0.jar:na]
              at com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:457) ~[guava-18.0.jar:na]
              at com.google.common.util.concurrent.ExecutionList.executeListener(ExecutionList.java:156) ~[guava-18.0.jar:na]
              at com.google.common.util.concurrent.ExecutionList.add(ExecutionList.java:101) ~[guava-18.0.jar:na]
              at com.google.common.util.concurrent.AbstractFuture.addListener(AbstractFuture.java:170) ~[guava-18.0.jar:na]
              at com.google.common.util.concurrent.Futures.addCallback(Futures.java:1322) ~[guava-18.0.jar:na]
              at com.google.common.util.concurrent.Futures.addCallback(Futures.java:1258) ~[guava-18.0.jar:na]
              at org.apache.qpid.server.model.AbstractConfiguredObject.doAttainState(AbstractConfiguredObject.java:902) ~[classes/:na]
              at org.apache.qpid.server.model.AbstractConfiguredObject.access$300(AbstractConfiguredObject.java:81) ~[classes/:na]
              at org.apache.qpid.server.model.AbstractConfiguredObject$1.execute(AbstractConfiguredObject.java:514) ~[classes/:na]
              at org.apache.qpid.server.model.AbstractConfiguredObject$1.execute(AbstractConfiguredObject.java:501) ~[classes/:na]
              at org.apache.qpid.server.model.AbstractConfiguredObject$2.execute(AbstractConfiguredObject.java:562) ~[classes/:na]
              at org.apache.qpid.server.model.AbstractConfiguredObject$2.execute(AbstractConfiguredObject.java:555) ~[classes/:na]
              at org.apache.qpid.server.configuration.updater.TaskExecutorImpl$TaskLoggingWrapper.execute(TaskExecutorImpl.java:270) ~[classes/:na]
              at org.apache.qpid.server.configuration.updater.TaskExecutorImpl$CallableWrapper$1.run(TaskExecutorImpl.java:342) ~[classes/:na]
              at java.security.AccessController.doPrivileged(Native Method) ~[na:1.8.0_91]
              at javax.security.auth.Subject.doAs(Subject.java:360) ~[na:1.8.0_91]
              at org.apache.qpid.server.configuration.updater.TaskExecutorImpl$CallableWrapper.call(TaskExecutorImpl.java:335) ~[classes/:na]
              at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[na:1.8.0_91]
              at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) ~[na:1.8.0_91]
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) ~[na:1.8.0_91]
              at java.lang.Thread.run(Thread.java:745) [na:1.8.0_91]
      Caused by: java.sql.SQLException: No suitable driver found for jdbc://dfsdfdf:sadfsdf
              at java.sql.DriverManager.getConnection(DriverManager.java:689) ~[na:1.8.0_91]
              at java.sql.DriverManager.getConnection(DriverManager.java:247) ~[na:1.8.0_91]
              at org.apache.qpid.server.store.jdbc.DefaultConnectionProvider.getConnection(DefaultConnectionProvider.java:49) ~[classes/:na]
              at org.apache.qpid.server.store.jdbc.GenericJDBCMessageStore.getConnection(GenericJDBCMessageStore.java:121) ~[classes/:na]
              at org.apache.qpid.server.store.AbstractJDBCMessageStore.newConnection(AbstractJDBCMessageStore.java:544) ~[classes/:na]
              at org.apache.qpid.server.store.AbstractJDBCMessageStore.newAutoCommitConnection(AbstractJDBCMessageStore.java:517) ~[classes/:na]
              at org.apache.qpid.server.store.AbstractJDBCMessageStore.createOrOpenMessageStoreDatabase(AbstractJDBCMessageStore.java:300) ~[classes/:na]
              ... 32 common frames omitted
      

      Attachments

        Activity

          People

            Unassigned Unassigned
            lorenz.quack Lorenz Quack
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: