Customer Portal

GraphExecutor class?

Comments 2

  • Avatar
    hwhwhw
    0
    Comment actions Permalink
    It changed greatly between the various versions,
    I had to track its various versions,
    it has been carrying out the internal structure of the optimization and therefore not compatible between different versions.
  • Avatar
    mzatopek
    0
    Comment actions Permalink
    Yes, the graph launching procedure was essentially reimplemented due clover server needs (check it out at http://www.cloveretl.org/clover-server/). Unfortunately public change log doesn't usually contain implementation updates. Please, revise your code according our runGraph main class.

    I have prepared small extract from the runGraph launcher:

    //clover engine initialization
    EngineInitializer.initEngine(pluginsRootDirectory, configFileName, logHost);
    //build graph from xml
    TransformationGraph graph = TransformationGraphXMLReaderWriter.loadGraph(in, runtimeContext.getAdditionalProperties());
    //prepare default runtime context
    GraphRuntimeContext runtimeContext = new GraphRuntimeContext();
    //initialize graph
    EngineInitializer.initGraph(graph, runtimeContext);
    //prepare simple thread manager
    IThreadManager threadManager = new SimpleThreadManager();
    //prepare watchdog for running graph
    WatchDog watchDog = new WatchDog(graph, runtimeContext);
    //launch graph
    Future<Result> futureResult = threadManager.executeWatchDog(watchDog);
    //wait for result
    Result result = futureResult.get();
    //release all graph resources
    graph.free();

Please sign in to leave a comment.