Error with new CloverETL 2.0 release

Hi !

I’ve a problem with the new release of CloverETL 2.0. I created a custom plugin with a custom component wich looks like DATA_INTERSECTION component as it is written in the documentation.

I don’t understand the error message because I put in the “require” node of my plugin.xml as you can see below :

When I execute a graph it writes :

*** CloverETL framework/transformation graph runner ver 1.8, (c) 2002-06 D.Pavlis, released under GNU Lesser General Public License ***
Running with framework version: 2.0 build#0 compiled 25/09/2006 16:46:39

DEBUG [main] - Plugin com.infodb.component loaded.
id - com.infodb.component
version - 1.0.0
provider-name - null
point-id - component - {type=BUFFER_COMPARE, className=com.infodb.component.BufferCompare}

DEBUG [main] - Plugin org.jetel.component loaded.
id - org.jetel.component
version - 1.9.0
provider-name - null
point-id - component - {type=DATA_READER, className=org.jetel.component.DataReader}
point-id - component - {type=DATA_WRITER, className=org.jetel.component.DataWriter}
point-id - component - {type=DELIMITED_DATA_READER, className=org.jetel.component.DelimitedDataReader}
point-id - component - {type=DELIMITED_DATA_WRITER, className=org.jetel.component.DelimitedDataWriter}
point-id - component - {type=SIMPLE_COPY, className=org.jetel.component.SimpleCopy}
point-id - component - {type=CONCATENATE, className=org.jetel.component.Concatenate}
point-id - component - {type=SIMPLE_GATHER, className=org.jetel.component.SimpleGather}
point-id - component - {type=REFORMAT, className=org.jetel.component.Reformat}
point-id - component - {type=DB_INPUT_TABLE, className=org.jetel.component.DBInputTable}
point-id - component - {type=SORT, className=org.jetel.component.Sort}
point-id - component - {type=DB_OUTPUT_TABLE, className=org.jetel.component.DBOutputTable}
point-id - component - {type=FIXLEN_DATA_WRITER_NIO, className=org.jetel.component.FixLenDataWriterNIO}
point-id - component - {type=DEDUP, className=org.jetel.component.Dedup}
point-id - component - {type=FIXLEN_DATA_READER_NIO, className=org.jetel.component.FixLenDataReaderNIO}
point-id - component - {type=MERGE, className=org.jetel.component.Merge}
point-id - component - {type=MERGE_JOIN, className=org.jetel.component.MergeJoin}
point-id - component - {type=SORTED_JOIN, className=org.jetel.component.MergeJoin}
point-id - component - {type=TRASH, className=org.jetel.component.Trash}
point-id - component - {type=DB_EXECUTE, className=org.jetel.component.DBExecute}
point-id - component - {type=HASH_JOIN, className=org.jetel.component.HashJoin}
point-id - component - {type=CHECK_FOREIGN_KEY, className=org.jetel.component.CheckForeignKey}
point-id - component - {type=DBF_DATA_READER, className=org.jetel.component.DBFDataReader}
point-id - component - {type=EXT_FILTER, className=org.jetel.component.ExtFilter}
point-id - component - {type=EXT_SORT, className=org.jetel.component.ExtSort}
point-id - component - {type=PARTITION, className=org.jetel.component.Partition}
point-id - component - {type=DATA_INTERSECTION, className=org.jetel.component.DataIntersection}
point-id - component - {type=AGGREGATE, className=org.jetel.component.Aggregate}
point-id - component - {type=SYS_EXECUTE, className=org.jetel.component.SystemExecute}
point-id - component - {type=KEY_GEN, className=org.jetel.component.KeyGenerator}
point-id - component - {type=APROX_MERGE_JOIN, className=org.jetel.component.AproxMergeJoin}
point-id - component - {type=DBJOIN, className=org.jetel.component.DBJoin}

DEBUG [main] - Plugin org.jetel.connection loaded.
id - org.jetel.connection
version - 1.9.0
provider-name - null
point-id - connection - {className=org.jetel.connection.DBConnection, type=JDBC}

DEBUG [main] - Plugin org.jetel.lookup loaded.
id - org.jetel.lookup
version - 1.9.0
provider-name - null
point-id - lookup - {className=org.jetel.lookup.SimpleLookupTable, type=simpleLookup}
point-id - lookup - {className=org.jetel.lookup.DBLookupTable, type=dbLookup}

DEBUG [main] - Plugin org.jetel.sequence loaded.
id - org.jetel.sequence
version - 1.9.0
provider-name - null
point-id - sequence - {className=org.jetel.sequence.SimpleSequence, type=SIMPLE_SEQUENCE}

DEBUG [main] - Plugin org.jetel.thirdparty loaded.
id - org.jetel.thirdparty
version - 1.9.0
provider-name - null
point-id - component - {type=XML_EXTRACT, className=org.jetel.component.XMLExtract}
point-id - component - {type=FILTER, className=org.jetel.component.Filter}

Graph definition file: graphs/infocentre.grf
INFO [main] - Starting WatchDog thread …
INFO [WatchDog] - Thread started.
INFO [WatchDog] - Running on 1 CPU(s) max available memory for JVM 571 KB
INFO [WatchDog] - [Clover] Initializing phase: 0
DEBUG [WatchDog] - initializing edges:
DEBUG [WatchDog] - all edges initialized successfully…
DEBUG [WatchDog] - initializing nodes:
ERROR [WatchDog] - INFOCENTRE …FAILED !
Need DBConnection object !
at org.jetel.connection.SQLDataParser.open(SQLDataParser.java:219)
at org.jetel.component.DBInputTable.init(DBInputTable.java:151)
at org.jetel.graph.Phase.init(Phase.java:152)
at org.jetel.graph.WatchDog.runPhase(WatchDog.java:336)
at org.jetel.graph.WatchDog.run(WatchDog.java:110)
ERROR [WatchDog] - !!! Phase finished with error - stopping graph run !!!
INFO [main] - WatchDog thread finished - total execution time: 0 (sec)
ERROR [main] - !!! Graph execution finished with errors !!!

Thank you for your help !

That’s OK !

I’m sorry I didn’t see that in the documentation.
Now it works great and I have to say that this plugin system is a good idea.

Thanks.

Hello !

It looks like the engine is not instantiating DBConnection object. I suppose you have defined one but probably using the old (1.x) syntax.
With the 2.0 version, JDBC connection must be defined following way:

<Connection type=”JDBC” …/> instead of
<DBConnection …/>

This and other changes between 1.x and 2.x are described in document
“Necessary changes from CloverETL ver. 1.x to 2.x” which is located in docs/ subdir of CloverETL zip pacakge (both binary and source).

If this does not solve your problem, send us your graph definition file.

David.