Announcement Announcement Module
Collapse
No announcement yet.
Spring Batch Admin - Exception on Derby DB Page Title Module
Move Remove Collapse
X
Conversation Detail Module
Collapse
  • Filter
  • Time
  • Show
Clear All
new posts

  • Spring Batch Admin - Exception on Derby DB

    I configured Spring Batch Admin to work with Derby and I get an exception
    when pressing the Executions menu.

    Is this a bug?

    I get the following stack-trace.

    The query to be executed is the following

    SELECT * FROM ( SELECT E.JOB_EXECUTION_ID, E.START_TIME, E.END_TIME, E.STATUS, E.EXIT_CODE, E.EXIT_MESSAGE, E.CREATE_TIME, E.LAST_UPDATED, E.VERSION, I.JOB_INSTANCE_ID, I.JOB_NAME, ROW_NUMBER() OVER (ORDER BY E.JOB_EXECUTION_ID DESC) AS ROW_NUMBER FROM BATCH_JOB_EXECUTION E, BATCH_JOB_INSTANCE I WHERE E.JOB_INSTANCE_ID=I.JOB_INSTANCE_ID) WHERE ROW_NUMBER <= 20


    SEVERE: Servlet.service() for servlet Batch Servlet threw exception
    org.apache.derby.client.am.SqlException: Feature not implemented: WINDOW/ORDER BY.
    at org.apache.derby.client.am.Statement.completeSqlca (Unknown Source)
    at org.apache.derby.client.net.NetStatementReply.pars ePrepareError(Unknown Source)
    at org.apache.derby.client.net.NetStatementReply.pars ePRPSQLSTTreply(Unknown Source)
    at org.apache.derby.client.net.NetStatementReply.read PrepareDescribeOutput(Unknown Source)
    at org.apache.derby.client.net.StatementReply.readPre pareDescribeOutput(Unknown Source)
    at org.apache.derby.client.net.NetStatement.readPrepa reDescribeOutput_(Unknown Source)
    at org.apache.derby.client.am.Statement.readPrepareDe scribeOutput(Unknown Source)
    at org.apache.derby.client.am.Statement.flowExecute(U nknown Source)
    at org.apache.derby.client.am.Statement.executeQueryX (Unknown Source)
    at org.apache.derby.client.am.Statement.executeQuery( Unknown Source)
    at org.apache.commons.dbcp.DelegatingStatement.execut eQuery(DelegatingStatement.java:208)
    at org.springframework.jdbc.core.JdbcTemplate$1QueryS tatementCallback.doInStatement(JdbcTemplate.java:4 40)
    at org.springframework.jdbc.core.JdbcTemplate.execute (JdbcTemplate.java:395)
    at org.springframework.jdbc.core.JdbcTemplate.query(J dbcTemplate.java:455)
    at org.springframework.jdbc.core.JdbcTemplate.query(J dbcTemplate.java:463)
    at org.springframework.jdbc.core.simple.SimpleJdbcTem plate.query(SimpleJdbcTemplate.java:199)
    at org.springframework.batch.admin.service.JdbcSearch ableJobExecutionDao.getJobExecutions(JdbcSearchabl eJobExecutionDao.java:180)
    at org.springframework.batch.admin.service.SimpleJobS ervice.listJobExecutions(SimpleJobService.java:209 )
    at org.springframework.batch.admin.web.JobExecutionCo ntroller.list(JobExecutionController.java:143)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Nativ e Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknow n Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Un known Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.springframework.web.bind.annotation.support.Ha ndlerMethodInvoker.doInvokeMethod(HandlerMethodInv oker.java:731)
    at org.springframework.web.bind.annotation.support.Ha ndlerMethodInvoker.invokeHandlerMethod(HandlerMeth odInvoker.java:168)
    at org.springframework.web.servlet.mvc.annotation.Ann otationMethodHandlerAdapter.invokeHandlerMethod(An notationMethodHandlerAdapter.java:385)
    at org.springframework.web.servlet.mvc.annotation.Ann otationMethodHandlerAdapter.handle(AnnotationMetho dHandlerAdapter.java:373)
    at org.springframework.web.servlet.DispatcherServlet. doDispatch(DispatcherServlet.java:771)
    at org.springframework.web.servlet.DispatcherServlet. doService(DispatcherServlet.java:716)
    at org.springframework.web.servlet.FrameworkServlet.p rocessRequest(FrameworkServlet.java:647)
    at org.springframework.web.servlet.FrameworkServlet.d oGet(FrameworkServlet.java:552)
    at javax.servlet.http.HttpServlet.service(HttpServlet .java:690)
    at javax.servlet.http.HttpServlet.service(HttpServlet .java:803)
    at org.apache.catalina.core.ApplicationFilterChain.in ternalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.do Filter(ApplicationFilterChain.java:206)
    at org.springframework.web.filter.HiddenHttpMethodFil ter.doFilterInternal(HiddenHttpMethodFilter.java:7 1)
    at org.springframework.web.filter.OncePerRequestFilte r.doFilter(OncePerRequestFilter.java:76)
    at org.apache.catalina.core.ApplicationFilterChain.in ternalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.do Filter(ApplicationFilterChain.java:206)
    at org.springframework.web.filter.ShallowEtagHeaderFi lter.doFilterInternal(ShallowEtagHeaderFilter.java :57)
    at org.springframework.web.filter.OncePerRequestFilte r.doFilter(OncePerRequestFilter.java:76)
    at org.apache.catalina.core.ApplicationFilterChain.in ternalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.do Filter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invo ke(StandardWrapperValve.java:233)
    at org.apache.catalina.core.StandardContextValve.invo ke(StandardContextValve.java:175)
    at org.apache.catalina.core.StandardHostValve.invoke( StandardHostValve.java:128)
    at org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invok e(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.servic e(CoyoteAdapter.java:286)
    at org.apache.coyote.http11.Http11Processor.process(H ttp11Processor.java:844)
    at org.apache.coyote.http11.Http11Protocol$Http11Conn ectionHandler.process(Http11Protocol.java:583)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run( JIoEndpoint.java:447)
    at java.lang.Thread.run(Unknown Source)

  • #2
    I think the exception you get there might depend on the precise version of Derby. I suspect if you upgrade to the latest available release it will go away, but the results will be inaccurate (the ordering will not be correct). This is essentially a bug, or missing feature depending on how you look at it, in Derby. I know of no workaround, but happy to hear of options.

    Comment

    Working...
    X