Hi Chaithanya, Could you please provide more information, about the code which creates a connection to the Drill and submits the queries?
Also, please use dependency on *drill-jdbc-all*, it contains all classes and transitive dependencies required for the correct work of Drill JDBC client. >From the stack trace, looks like Drill Web-UI is trying to start, but it shouldn't be started for the case of the regular query submitting or connecting to the DrillBit. Drill has one naive assumption <https://github.com/apache/drill/blob/f7ed58fc97bbf0c684891e07bf5132e055efb1d9/exec/jdbc/src/main/java/org/apache/drill/jdbc/impl/DrillConnectionImpl.java#L118> that it is started correctly in embedded mode if *org.eclipse.jetty.server.Handler* class is present in the class pass. Looks like you have specified *jdbc:drill:zk=local* connection string in your application instead of the actual connection string to the started DrillBit and your application has the class which is used in this naive Drill check. Kind regards, Volodymyr Vysotskyi On Mon, Sep 2, 2019 at 4:50 PM chaithanya prakash <[email protected]> wrote: > Hi Team, > > I have been using the below drill-jdbc dependency in my spring boot java > web application project. Although the same is working fine in my Java > application but not in spring boot project. I'm getting the below exception > while running the query using jdbc. > > Could you please let me know how to fix this issue? and how to use drill in > web aplication ?. > > <!-- https://mvnrepository.com/artifact/org.apache.drill.exec/drill-jdbc > --> > <dependency> > <groupId>org.apache.drill.exec</groupId> > <artifactId>drill-jdbc</artifactId> > <version>1.16.0</version> > </dependency> > > There was an unexpected error (type=Internal Server Error, status=500). > org/glassfish/hk2/utilities/binding/AbstractBinder > java.lang.NoClassDefFoundError: > org/glassfish/hk2/utilities/binding/AbstractBinder at > java.lang.ClassLoader.defineClass1(Native Method) at > java.lang.ClassLoader.defineClass(ClassLoader.java:763) at > java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at > java.net.URLClassLoader.defineClass(URLClassLoader.java:467) at > java.net.URLClassLoader.access$100(URLClassLoader.java:73) at > java.net.URLClassLoader$1.run(URLClassLoader.java:368) at > java.net.URLClassLoader$1.run(URLClassLoader.java:362) at > java.security.AccessController.doPrivileged(Native Method) at > java.net.URLClassLoader.findClass(URLClassLoader.java:361) at > java.lang.ClassLoader.loadClass(ClassLoader.java:424) at > sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) at > java.lang.ClassLoader.loadClass(ClassLoader.java:357) at > > org.apache.drill.exec.server.rest.DrillRestServer.<init>(DrillRestServer.java:121) > at > > org.apache.drill.exec.server.rest.WebServer.createServletContextHandler(WebServer.java:180) > at org.apache.drill.exec.server.rest.WebServer.start(WebServer.java:141) at > org.apache.drill.exec.server.Drillbit.run(Drillbit.java:200) at > > org.apache.drill.jdbc.impl.DrillConnectionImpl.<init>(DrillConnectionImpl.java:134) > at > > org.apache.drill.jdbc.impl.DrillJdbc41Factory.newDrillConnection(DrillJdbc41Factory.java:72) > at > org.apache.drill.jdbc.impl.DrillFactory.newConnection(DrillFactory.java:68) > at > > org.apache.calcite.avatica.UnregisteredDriver.connect(UnregisteredDriver.java:138) > at org.apache.drill.jdbc.Driver.connect(Driver.java:72) > > Thanks, > Chaithanya. >
