Customer Portal

Engine is not initializing correctly in Java servlet

Comments 2

  • Avatar
    mvarecha
    0
    Comment actions Permalink
    Hi,

    the exception "javax.servlet.ServletException: Servlet execution threw an exception" doesn't say anything about root exception.
    There must be root (nested) exception stack trace somewhere in tomcat logs.
    Unless you have empty catch block like this somewhere ...
    try {
    ...
    } catch (Exception e) {
    throw new ServletException();
    }

    Can you upload whole servlet code?
    Are the clover engine libraries in your web-app classpath?

    Regards,
    Martin
  • Avatar
    roman2
    0
    Comment actions Permalink
    Hi,

    Please see servlet code:

    import java.io.*;
    import java.util.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    import org.jetel.graph.*;
    import org.jetel.graph.runtime.*;
    import edu.umd.cs.findbugs.annotations.*;


    public class runMyGrf extends HttpServlet
    {

    public void service(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException
    {

    try
    {
    // engine initialization - should be called only once
    EngineInitializer.initEngine("D:/CloverETL/cloverETL.rel-2-8-1/cloverETL/plugins", null, null);
    }
    catch(Exception e5)
    {
    System.out.println("ERROR!!!!="+e5.toString());
    }

    String graphPath = "D:/CloverETL_workspace/Clover_Eval/graph/Test2.grf";

    try
    {
    InputStream is = new BufferedInputStream(new FileInputStream(graphPath));
    TransformationGraph graph = null;


    // engine customization
    GraphRuntimeContext runtimeContext = new GraphRuntimeContext();

    // graph loading
    graph = TransformationGraphXMLReaderWriter.loadGraph(is,runtimeContext.getAdditionalProperties());

    // engine initialization
    EngineInitializer.initGraph(graph, runtimeContext);

    // graph running
    IThreadManager threadManager = new SimpleThreadManager();
    WatchDog watchDog = new WatchDog(graph, runtimeContext);
    threadManager.executeWatchDog(watchDog);

    }
    catch(Exception e3)
    {
    throw new ServletException();
    }

    response.setContentType("text/html");
    PrintWriter out = response.getWriter();

    out.println("<html>");
    out.println("<head>");

    out.println("<title>Test</title>");
    out.println("</head>");
    out.println("<body bgcolor=\"white\">");

    out.println("TEST");

    out.println("</body>");
    out.println("</html>");

    }

    }


    Tomcat shows this info in logs:

    Nov 2, 2009 5:02:57 PM org.apache.catalina.core.StandardWrapperValve invoke
    SEVERE: Servlet.service() for servlet runMyGrf threw exception
    javax.servlet.ServletException: Servlet execution threw an exception
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:313)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    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.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
    at java.lang.Thread.run(Thread.java:619)


    I also checked classpath - it contains "D:\CloverETL\cloverETL.rel-2-8-1\cloverETL\lib;" - link to the engine's jar files.

Please sign in to leave a comment.