Parse and IO error, Unknown Connection:JDBC Class:JDBC Error

Hii,

My graph will Read the CSV file data from email and inserts into the Oracle Database, which is working fine when i used Clover ETL Tool. The Same graph i want to call from my java program which is giving me the errors below. Please help me with the issue.

Java Code:

import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.util.concurrent.Future;
import org.jetel.graph.Result;
import org.jetel.graph.TransformationGraph;
import org.jetel.graph.TransformationGraphXMLReaderWriter;
import org.jetel.graph.runtime.EngineInitializer;
import org.jetel.graph.runtime.GraphRuntimeContext;
import org.jetel.graph.runtime.IThreadManager;
import org.jetel.graph.runtime.SimpleThreadManager;
import org.jetel.graph.runtime.WatchDog;

public class GraphRun {

public static void graphInit() throws Exception
{
EngineInitializer.initEngine(“C:\\CloverETL\\plugins”, null , null);
EngineInitializer.forceActivateAllPlugins();

String graphPath = “C:\\CloverETL\\workspace\\SAM-INF\\graph\\EmailInterface.grf”;
java.io.InputStream is = new BufferedInputStream(new FileInputStream(graphPath));

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

// create new instance of transformation graph class
TransformationGraph graph = null;

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

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

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

// threadManager.executeWatchDog(watchDog);
Future futureResult = threadManager.executeWatchDog(watchDog);

//wait for end of graph
Result result = futureResult.get();

if (result != Result.FINISHED_OK) {
System.out.println(“Something was wrong.”);
System.out.println(watchDog.getErrorMessage());
watchDog.getCauseException().printStackTrace();
} else {
System.out.println(“Everthing was OK.”);
}

}

public static void main(String args) throws Exception {
System.out.println(“Process started”);
graphInit();

}
}

Errors after Executing the above Code:

Process started
INFO [main] - *** CloverETL framework/transformation graph, (c) 2002-2011 Javlin a.s, released under GNU Lesser General Public License ***
INFO [main] - Running with CloverETL library version 3.1.0 build#17 compiled 16/06/2011 16:06:35
INFO [main] - Running on 2 CPU(s), OS Windows XP, architecture x86, Java version 1.6.0_20, max available memory for JVM 253440 KB
INFO [main] - Loading default properties from: defaultProperties
ERROR [main] - Parse error occure in plugin manifest reading - file:/C:/CloverETL/plugins/com.cloveretl.gui.cobol_3.1.0/plugin.xml. (Plugin ‘id’ attribute is not set.)
ERROR [main] - Parse error occure in plugin manifest reading - file:/C:/CloverETL/plugins/com.cloveretl.gui.commercial_3.1.0/plugin.xml. (Plugin ‘id’ attribute is not set.)
ERROR [main] - Parse error occure in plugin manifest reading - file:/C:/CloverETL/plugins/com.cloveretl.gui.docs_3.1.0/plugin.xml. (Plugin ‘id’ attribute is not set.)
ERROR [main] - Parse error occure in plugin manifest reading - file:/C:/CloverETL/plugins/com.cloveretl.gui.examples_3.1.0/plugin.xml. (Plugin ‘id’ attribute is not set.)
ERROR [main] - Parse error occure in plugin manifest reading - file:/C:/CloverETL/plugins/com.cloveretl.gui.lotusdomino_3.1.0/plugin.xml. (Plugin ‘id’ attribute is not set.)
ERROR [main] - Parse error occure in plugin manifest reading - file:/C:/CloverETL/plugins/com.cloveretl.gui.product_3.1.0/plugin.xml. (Plugin ‘id’ attribute is not set.)
ERROR [main] - Parse error occure in plugin manifest reading - file:/C:/CloverETL/plugins/com.cloveretl.gui.server_3.1.0/plugin.xml. (Plugin ‘id’ attribute is not set.)
ERROR [main] - Parse error occure in plugin manifest reading - file:/C:/CloverETL/plugins/com.cloveretl.gui.xmleditor_3.1.0/plugin.xml. (Plugin ‘id’ attribute is not set.)
ERROR [main] - Parse error occure in plugin manifest reading - file:/C:/CloverETL/plugins/com.cloveretl.gui_3.1.0/plugin.xml. (Plugin ‘id’ attribute is not set.)
ERROR [main] - IO error occure in plugin manifest reading - file:/C:/CloverETL/plugins/org.apache.ant_1.7.1.v20100518-1145/plugin.xml. (C:\CloverETL\plugins\org.apache.ant_1.7.1.v20100518-1145\plugin.xml (The system cannot find the file specified))
ERROR [main] - IO error occure in plugin manifest reading - file:/C:/CloverETL/plugins/org.eclipse.core.runtime.compatibility.registry_3.3.0.v20100520/plugin.xml. (C:\CloverETL\plugins\org.eclipse.core.runtime.compatibility.registry_3.3.0.v20100520\plugin.xml (The system cannot find the file specified))
ERROR [main] - Parse error occure in plugin manifest reading - file:/C:/CloverETL/plugins/org.eclipse.epp.package.java_1.3.1.20100913-1228/plugin.xml. (Plugin ‘id’ attribute is not set.)
ERROR [main] - IO error occure in plugin manifest reading - file:/C:/CloverETL/plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.1.R36x_v20100810/plugin.xml. (C:\CloverETL\plugins\org.eclipse.equinox.launcher.win32.win32.x86_1.1.1.R36x_v20100810\plugin.xml (The system cannot find the file specified))
ERROR [main] - Parse error occure in plugin manifest reading - file:/C:/CloverETL/plugins/org.eclipse.jdt.debug_3.6.1.v20100715_r361/plugin.xml. (Plugin ‘id’ attribute is not set.)
ERROR [main] - Parse error occure in plugin manifest reading - file:/C:/CloverETL/plugins/org.eclipse.platform_3.6.1.v201009090800/plugin.xml. (Plugin ‘id’ attribute is not set.)
ERROR [main] - Parse error occure in plugin manifest reading - file:/C:/CloverETL/plugins/org.eclipse.ui.intro.universal_3.2.402.r36_v20100702/plugin.xml. (Plugin ‘id’ attribute is not set.)
ERROR [main] - IO error occure in plugin manifest reading - file:/C:/CloverETL/plugins/org.eclipse.ui.workbench.compatibility_3.2.100.I20100511-0800/plugin.xml. (C:\CloverETL\plugins\org.eclipse.ui.workbench.compatibility_3.2.100.I20100511-0800\plugin.xml (The system cannot find the file specified))
ERROR [main] - IO error occure in plugin manifest reading - file:/C:/CloverETL/plugins/org.junit4_4.8.1.v20100525/plugin.xml. (C:\CloverETL\plugins\org.junit4_4.8.1.v20100525\plugin.xml (The system cannot find the file specified))
ERROR [main] - IO error occure in plugin manifest reading - file:/C:/CloverETL/plugins/org.junit_3.8.2.v3_8_2_v20100427-1100/plugin.xml. (C:\CloverETL\plugins\org.junit_3.8.2.v3_8_2_v20100427-1100\plugin.xml (The system cannot find the file specified))
ERROR [main] - IO error occure in plugin manifest reading - file:/C:/CloverETL/plugins/org.junit_4.8.1.v4_8_1_v20100427-1100/plugin.xml. (C:\CloverETL\plugins\org.junit_4.8.1.v4_8_1_v20100427-1100\plugin.xml (The system cannot find the file specified))
ERROR [main] - Unknown connection: JDBC class: JDBC
Exception in thread “main” java.lang.RuntimeException: Unknown connection: JDBC class: JDBC
at org.jetel.database.ConnectionFactory.getConnectionClass(ConnectionFactory.java:105)
at org.jetel.database.ConnectionFactory.createConnection(ConnectionFactory.java:116)
at org.jetel.graph.TransformationGraphXMLReaderWriter.instantiateDBConnections(TransformationGraphXMLReaderWriter.java:666)
at org.jetel.graph.TransformationGraphXMLReaderWriter.read(TransformationGraphXMLReaderWriter.java:358)
at org.jetel.graph.TransformationGraphXMLReaderWriter.read(TransformationGraphXMLReaderWriter.java:296)
at org.jetel.graph.TransformationGraphXMLReaderWriter.loadGraph(TransformationGraphXMLReaderWriter.java:225)
at GraphRun.graphInit(GraphRun.java:34)
at GraphRun.main(GraphRun.java:61)

Hello,
you have wrong path to CloverETL Engine plugins. It should be C:/CloverETL/plugins/com.cloveretl.gui_3.1.0**/lib/plugins** instead of C:/CloverETL/plugins/com.cloveretl.gui_3.1.0. The last path is the path to CloverETL Designer plugins, but you need a path to CloverETL Engine plugins.

Thank you Agata for your reply, Now JDBC error got fixed, but am getting the following errors :

ERROR [main] - Unknown component: EMAIL_READER class: EMAIL_READER
java.lang.ClassNotFoundException: EMAIL_READER
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at org.jetel.component.ComponentFactory.getComponentClass(ComponentFactory.java:97)
at org.jetel.component.ComponentFactory.createComponent(ComponentFactory.java:126)
at org.jetel.graph.TransformationGraphXMLReaderWriter.instantiateNodes(TransformationGraphXMLReaderWriter.java:498)
at org.jetel.graph.TransformationGraphXMLReaderWriter.instantiatePhases(TransformationGraphXMLReaderWriter.java:461)
at org.jetel.graph.TransformationGraphXMLReaderWriter.read(TransformationGraphXMLReaderWriter.java:376)
at org.jetel.graph.TransformationGraphXMLReaderWriter.read(TransformationGraphXMLReaderWriter.java:296)
at org.jetel.graph.TransformationGraphXMLReaderWriter.loadGraph(TransformationGraphXMLReaderWriter.java:225)
at GraphRun.graphInit(GraphRun.java:34)
at GraphRun.main(GraphRun.java:61)
Exception in thread “main” java.lang.RuntimeException: Unknown component: EMAIL_READER class: EMAIL_READER
at org.jetel.component.ComponentFactory.getComponentClass(ComponentFactory.java:108)
at org.jetel.component.ComponentFactory.createComponent(ComponentFactory.java:126)
at org.jetel.graph.TransformationGraphXMLReaderWriter.instantiateNodes(TransformationGraphXMLReaderWriter.java:498)
at org.jetel.graph.TransformationGraphXMLReaderWriter.instantiatePhases(TransformationGraphXMLReaderWriter.java:461)
at org.jetel.graph.TransformationGraphXMLReaderWriter.read(TransformationGraphXMLReaderWriter.java:376)
at org.jetel.graph.TransformationGraphXMLReaderWriter.read(TransformationGraphXMLReaderWriter.java:296)
at org.jetel.graph.TransformationGraphXMLReaderWriter.loadGraph(TransformationGraphXMLReaderWriter.java:225)
at GraphRun.graphInit(GraphRun.java:34)
at GraphRun.main(GraphRun.java:61)
Caused by: java.lang.ClassNotFoundException: EMAIL_READER
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at org.jetel.component.ComponentFactory.getComponentClass(ComponentFactory.java:97)
… 8 more

Hello,
EmailReader componet is located in com.cloveretl.gui.commercial plugin, so your plugin’s path should look as follows:

C:/CloverETL/plugins/com.cloveretl.gui_3.1.0/lib/plugins;C:/CloverETL/plugins/com.cloveretl.gui.commercial_3.1.0/lib/plugins

Thank you very much Agata for your replies. But, presently i am struck at the following error : Fatal error watchdog execution

Process started
INFO [main] - *** CloverETL framework/transformation graph, (c) 2002-2011 Javlin a.s, released under GNU Lesser General Public License ***
INFO [main] - Running with CloverETL library version 3.1.0 build#17 compiled 16/06/2011 16:06:35
INFO [main] - Running on 2 CPU(s), OS Windows XP, architecture x86, Java version 1.6.0_20, max available memory for JVM 253440 KB
INFO [main] - Loading default properties from: defaultProperties
DEBUG [main] - Plugin org.jetel.bulkloader loaded.
id - org.jetel.bulkloader
version - 3.1.0
provider-name -
component { className = org.jetel.component.OracleDataWriter; type = ORACLE_DATA_WRITER; }
component { className = org.jetel.component.DB2DataWriter; type = DB2_DATA_WRITER; }
component { className = org.jetel.component.InformixDataWriter; type = INFORMIX_DATA_WRITER; }
component { className = org.jetel.component.MsSqlDataWriter; type = MS_SQL_DATA_WRITER; }
component { className = org.jetel.component.MysqlDataWriter; type = MYSQL_DATA_WRITER; }
component { className = org.jetel.component.PostgreSqlDataWriter; type = POSTGRESQL_DATA_WRITER; }
component { className = org.jetel.component.InfobrightDataWriter; type = INFOBRIGHT_DATA_WRITER; }

DEBUG [main] - Plugin org.jetel.component loaded.
id - org.jetel.component
version - 3.1.0
provider-name - null
component { className = org.jetel.component.DataReader; type = DATA_READER; }
component { className = org.jetel.component.DataWriter; type = DATA_WRITER; }
component { className = org.jetel.component.DelimitedDataReader; type = DELIMITED_DATA_READER; }
component { className = org.jetel.component.DelimitedDataWriter; type = DELIMITED_DATA_WRITER; }
component { className = org.jetel.component.SimpleCopy; type = SIMPLE_COPY; }
component { className = org.jetel.component.Concatenate; type = CONCATENATE; }
component { className = org.jetel.component.SimpleGather; type = SIMPLE_GATHER; }
component { className = org.jetel.component.Reformat; type = REFORMAT; }
component { className = org.jetel.component.DBInputTable; type = DB_INPUT_TABLE; }
component { className = org.jetel.component.Sort; type = SORT; }
component { className = org.jetel.component.DBOutputTable; type = DB_OUTPUT_TABLE; }
component { className = org.jetel.component.FixLenDataWriter; type = FIXLEN_DATA_WRITER; }
component { className = org.jetel.component.Dedup; type = DEDUP; }
component { className = org.jetel.component.FixLenDataReader; type = FIXLEN_DATA_READER; }
component { className = org.jetel.component.Merge; type = MERGE; }
component { className = org.jetel.component.MergeJoin; type = MERGE_JOIN; }
component { className = org.jetel.component.MergeJoin; type = EXT_MERGE_JOIN; }
component { className = org.jetel.component.MergeJoin; type = SORTED_JOIN; }
component { className = org.jetel.component.Trash; type = TRASH; }
component { className = org.jetel.component.DBExecute; type = DB_EXECUTE; }
component { className = org.jetel.component.HashJoin; type = HASH_JOIN; }
component { className = org.jetel.component.HashJoin; type = EXT_HASH_JOIN; }
component { className = org.jetel.component.CheckForeignKey; type = CHECK_FOREIGN_KEY; }
component { className = org.jetel.component.DBFDataReader; type = DBF_DATA_READER; }
component { className = org.jetel.component.ExtFilter; type = EXT_FILTER; }
component { className = org.jetel.component.ExtSort; type = EXT_SORT; }
component { className = org.jetel.component.SortWithinGroups; type = SORT_WITHIN_GROUPS; }
component { className = org.jetel.component.Partition; type = PARTITION; }
component { className = org.jetel.component.DataIntersection; type = DATA_INTERSECTION; }
component { className = org.jetel.component.Aggregate; type = AGGREGATE; }
component { className = org.jetel.component.SystemExecute; type = SYS_EXECUTE; }
component { className = org.jetel.component.RunGraph; type = RUN_GRAPH; }
component { className = org.jetel.component.HttpConnector; type = HTTP_CONNECTOR; }
component { className = org.jetel.component.KeyGenerator; type = KEY_GEN; }
component { className = org.jetel.component.AproxMergeJoin; type = APROX_MERGE_JOIN; }
component { className = org.jetel.component.DBJoin; type = DBJOIN; }
component { className = org.jetel.component.XLSReader; type = XLS_READER; }
component { className = org.jetel.component.XLSWriter; type = XLS_WRITER; }
component { className = org.jetel.component.CloverDataWriter; type = CLOVER_WRITER; }
component { className = org.jetel.component.CloverDataReader; type = CLOVER_READER; }
component { className = org.jetel.component.StructureWriter; type = STRUCTURE_WRITER; }
component { className = org.jetel.component.Normalizer; type = NORMALIZER; }
component { className = org.jetel.component.Denormalizer; type = DENORMALIZER; }
component { className = org.jetel.component.Rollup; type = ROLLUP; }
component { className = org.jetel.component.JmsReader; type = JMS_READER; }
component { className = org.jetel.component.JmsWriter; type = JMS_WRITER; }
component { className = org.jetel.component.LookupJoin; type = LOOKUP_JOIN; }
component { className = org.jetel.component.LookupTableReaderWriter; type = LOOKUP_TABLE_READER_WRITER; }
component { className = org.jetel.component.DataGenerator; type = DATA_GENERATOR; }
component { className = org.jetel.component.SequenceChecker; type = SEQUENCE_CHECKER; }
component { className = org.jetel.component.TextTableWriter; type = TEXT_TABLE_WRITER; }
component { className = org.jetel.component.XmlXPathReader; type = XML_XPATH_READER; }
component { className = org.jetel.component.XMLExtract; type = XML_EXTRACT; }
component { className = org.jetel.component.SpeedLimiter; type = SPEED_LIMITER; }
component { className = org.jetel.component.JavaExecute; type = JAVA_EXECUTE; }
component { className = org.jetel.component.XmlWriter; type = XML_WRITER; }
component { className = org.jetel.component.ExtXmlWriter; type = EXT_XML_WRITER; }
component { className = org.jetel.component.XSLDataTransformer; type = XSL_TRANSFORMER; }

DEBUG [main] - Plugin org.jetel.connection loaded.
id - org.jetel.connection
version - 3.1.0
provider-name - null
connection { className = org.jetel.connection.jdbc.DBConnection; type = JDBC; }
connection { className = org.jetel.connection.jms.JmsConnection; type = JMS; }

DEBUG [main] - Plugin org.jetel.ctlfunction loaded.
id - org.jetel.ctlfunction
version - 3.1.0
provider-name - null
ctlfunction { libraryName = math; className = org.jetel.ctl.extensions.MathLib; }
ctlfunction { libraryName = date; className = org.jetel.ctl.extensions.DateLib; }
ctlfunction { libraryName = string; className = org.jetel.ctl.extensions.StringLib; }
ctlfunction { libraryName = convert; className = org.jetel.ctl.extensions.ConvertLib; }
ctlfunction { libraryName = container; className = org.jetel.ctl.extensions.ContainerLib; }
ctlfunction { libraryName = random; className = org.jetel.ctl.extensions.RandomLib; }
ctlfunction { libraryName = util; className = org.jetel.ctl.extensions.UtilLib; }

DEBUG [main] - Plugin org.jetel.engine loaded.
id - org.jetel.engine
version - 3.1.0
provider-name - null
dictionaryType { className = org.jetel.graph.dictionary.StringDictionaryType; type = string; }
dictionaryType { className = org.jetel.graph.dictionary.ObjectDictionaryType; type = object; }
dictionaryType { className = org.jetel.graph.dictionary.ReadableChannelDictionaryType; type = readable.channel; }
dictionaryType { className = org.jetel.graph.dictionary.WritableChannelDictionaryType; type = writable.channel; }
dictionaryType { className = org.jetel.graph.dictionary.IntegerDictionaryType; type = integer; }
dictionaryType { className = org.jetel.graph.dictionary.LongDictionaryType; type = long; }
dictionaryType { className = org.jetel.graph.dictionary.DecimalDictionaryType; type = decimal; }
dictionaryType { className = org.jetel.graph.dictionary.NumberDictionaryType; type = number; }
dictionaryType { className = org.jetel.graph.dictionary.DateDictionaryType; type = date; }
dictionaryType { className = org.jetel.graph.dictionary.BooleanDictionaryType; type = boolean; }
dictionaryType { className = org.jetel.graph.dictionary.ByteDictionaryType; type = byte; }
tlCompiler { className = org.jetel.ctl.TLCompiler; type = simple.compiler; }
ctlfunction { libraryName = integral; className = org.jetel.ctl.extensions.IntegralLib; }

DEBUG [main] - Plugin org.jetel.jdbc loaded.
id - org.jetel.jdbc
version - 3.1.0
provider-name - null
jdbcSpecific { name = Generic; class = org.jetel.connection.jdbc.specific.impl.DefaultJdbcSpecific; database = GENERIC; }
jdbcSpecific { name = DB2; class = org.jetel.connection.jdbc.specific.impl.DB2Specific; database = DB2; }
jdbcSpecific { name = Derby; class = org.jetel.connection.jdbc.specific.impl.DerbySpecific; database = DERBY; }
jdbcSpecific { name = Firebird; class = org.jetel.connection.jdbc.specific.impl.FirebirdSpecific; database = FIREBIRD; }
jdbcSpecific { name = Informix; class = org.jetel.connection.jdbc.specific.impl.InformixSpecific; database = INFORMIX; }
jdbcSpecific { name = MS SQL Server 2008; class = org.jetel.connection.jdbc.specific.impl.MSSQLSpecific; database = MSSQL; }
jdbcSpecific { name = MS SQL Server 2000-2005; class = org.jetel.connection.jdbc.specific.impl.MSSQLSpecific2005; database = MSSQL2005; }
jdbcSpecific { name = MySQL; class = org.jetel.connection.jdbc.specific.impl.MySQLSpecific; database = MYSQL; }
jdbcSpecific { name = Oracle; class = org.jetel.connection.jdbc.specific.impl.OracleSpecific; database = ORACLE; }
jdbcSpecific { name = Pervasive; class = org.jetel.connection.jdbc.specific.impl.PervasiveSpecific; database = PERVASIVE; }
jdbcSpecific { name = PostgreSQL; class = org.jetel.connection.jdbc.specific.impl.PostgreSpecific; database = POSTGRE; }
jdbcSpecific { name = Sybase; class = org.jetel.connection.jdbc.specific.impl.SybaseSpecific; database = SYBASE; }
jdbcSpecific { name = SQLite; class = org.jetel.connection.jdbc.specific.impl.SQLiteSpecific; database = SQLITE; }
jdbcDriver { driverLibrary = lib/mysql/mysql-connector-java-5.1.15-bin.jar; jdbcSpecific = MYSQL; name = MySQL; dbDriver = org.gjt.mm.mysql.Driver; jdbc.zeroDateTimeBehavior = convertToNull; urlHint = jdbc:mysql://hostname:3306/database; database = MYSQL; }
jdbcDriver { driverLibrary = lib/oracle/ojdbc6.jar; jdbcSpecific = ORACLE; name = Oracle; dbDriver = oracle.jdbc.OracleDriver; urlHint = jdbc:oracle:thin:@hostname:1521:database; database = ORACLE; }
jdbcDriver { driverLibrary = lib/postgre/postgresql-8.3-603.jdbc3.jar; jdbcSpecific = POSTGRE; name = PostgreSQL; dbDriver = org.postgresql.Driver; urlHint = jdbc:postgresql://hostname/database; database = POSTGRE; }
jdbcDriver { driverLibrary = lib/jtds/jtds-1.2.4.jar; jdbcSpecific = MSSQL; name = Microsoft SQL Server; dbDriver = net.sourceforge.jtds.jdbc.Driver; urlHint = jdbc:jtds:sqlserver://hostname:1433/database; database = MSSQL; }
jdbcDriver { driverLibrary = lib/jtds/jtds-1.2.4.jar; jdbcSpecific = SYBASE; name = Sybase; dbDriver = net.sourceforge.jtds.jdbc.Driver; urlHint = jdbc:jtds:sybase://hostname:7100/database; database = SYBASE; }
jdbcDriver { driverLibrary = lib/sqlite/sqlite-jdbc-3.6.20.1.jar; jdbcSpecific = SQLITE; name = SQLite; dbDriver = org.sqlite.JDBC; urlHint = jdbc:sqlite:C:/database; database = SQLITE; }
jdbcDriver { driverLibrary = lib/derby/derbyclient.jar; jdbcSpecific = DERBY; name = Derby; dbDriver = org.apache.derby.jdbc.ClientDriver; urlHint = jdbc:derby://hostname:1527/derby.db; database = DERBY; }
jdbcDriver { driverLibrary = lib/firebird/jaybird-full-2.1.6.jar; jdbcSpecific = FIREBIRD; name = Firebird; dbDriver = org.firebirdsql.jdbc.FBDriver; urlHint = jdbc:firebirdsql:localhost/3050:/firebird/test.gdb; database = FIREBIRD; }

DEBUG [main] - Plugin org.jetel.lookup loaded.
id - org.jetel.lookup
version - 3.1.0
provider-name - null
lookup { className = org.jetel.lookup.SimpleLookupTable; type = simpleLookup; }
lookup { className = org.jetel.lookup.DBLookupTable; type = dbLookup; }
lookup { className = org.jetel.lookup.RangeLookupTable; type = rangeLookup; }

DEBUG [main] - Plugin org.jetel.sequence loaded.
id - org.jetel.sequence
version - 3.1.0
provider-name - null
sequence { className = org.jetel.sequence.SimpleSequence; type = SIMPLE_SEQUENCE; }
sequence { className = org.jetel.sequence.PrimitiveSequence; type = PRIMITIVE_SEQUENCE; }

DEBUG [main] - Plugin org.jetel.thirdparty loaded.
id - org.jetel.thirdparty
version - 3.1.0
provider-name - null
component { className = org.jetel.component.Filter; type = FILTER; }
component { className = com.linagora.component.LdapReader; type = LDAP_READER; }
component { className = com.linagora.component.LdapWriter; type = LDAP_WRITER; }

DEBUG [main] - Plugin org.jetel.tlfunction loaded.
id - org.jetel.tlfunction
version - 3.1.0
provider-name - null
tlfunction { libraryName = math; className = org.jetel.interpreter.extensions.MathLib; function = sqrt,log,log10,exp,round,pow,pi,e,random,random_gaussian,random_boolean,random_int,random_long,abs,bit_and,bit_or,bit_xor,bit_set,bit_invert,bit_is_set,bit_lshift,bit_rshift; }
tlfunction { libraryName = date; className = org.jetel.interpreter.extensions.DateLib; function = today,dateadd,datediff,trunc,trunc_date,random_date; }
tlfunction { libraryName = string; className = org.jetel.interpreter.extensions.StringLib; function = concat,uppercase,lowercase,substring,left,right,trim,length,replace,split,char_at,is_blank,is_ascii,is_number,is_integer,is_long,is_date,remove_diacritic,remove_blank_space,get_alphanumeric_chars,translate,join,index_of,count_char,chop,remove_nonprintable,remove_nonascii,find,cut,random_string; }
tlfunction { libraryName = convert; className = org.jetel.interpreter.extensions.ConvertLib; function = num2str,date2str,str2date,date2num,str2num,try_convert,base64byte,byte2base64,bits2str,str2bits,hex2byte,byte2hex,num2num,num2bool,bool2num,str2bool,long2date,date2long,to_string,md5,sha,long2pacdecimal,pacdecimal2long,get_field_name,get_field_type; }
tlfunction { libraryName = container; className = org.jetel.interpreter.extensions.ContainerLib; function = remove_all,push,pop,poll,remove,insert,sort,copy,reverse,dict_put_str,dict_get_str; }

DEBUG [main] - Plugin com.opensys.cloveretl.compiler loaded.
id - com.opensys.cloveretl.compiler
version - ${version.full}
provider-name - null
tlCompiler { priority = 1; className = com.opensys.cloveretl.ctl.BytecodeCompiler; type = bytecode.compiler; }

DEBUG [main] - Plugin com.opensys.clover.commercial loaded.
id - com.opensys.clover.commercial
version - ${version.full}
provider-name - null
component { className = com.opensys.cloveretl.component.EmailFilter; type = EMAIL_FILTER; }
component { className = com.opensys.cloveretl.component.EmailSender; type = EMAIL_SENDER; }
component { className = com.opensys.cloveretl.component.EmailReader; type = EMAIL_READER; }
component { className = com.opensys.cloveretl.component.FastSort; type = FAST_SORT; }
component { className = com.opensys.cloveretl.component.MetaPivot; type = META_PIVOT; }
component { className = com.opensys.cloveretl.component.MultiLevelReader; type = MULTI_LEVEL_READER; }
component { className = com.opensys.cloveretl.component.RelationalJoin; type = RELATIONAL_JOIN; }
component { className = com.opensys.cloveretl.component.ParallelReader; type = PARALLEL_READER; }
component { className = com.opensys.cloveretl.component.ClusterPartitioner; type = CLUSTER_PARTITIONER; }
component { className = com.opensys.cloveretl.component.ClusterGather; type = CLUSTER_GATHER; }
component { className = com.opensys.cloveretl.component.WebServiceClient; type = WEB_SERVICE_CLIENT; }
component { className = com.opensys.cloveretl.component.complexdatareader.ComplexDataReader; type = COMPLEX_DATA_READER; }
component { className = com.opensys.cloveretl.component.DataSampler; type = DATA_SAMPLER; }
component { className = com.opensys.cloveretl.component.Pivot; type = PIVOT; }

DEBUG [main] - Plugin com.opensys.cloveretl.ctlfunction loaded.
id - com.opensys.cloveretl.ctlfunction
version - ${version.full}
provider-name - null
ctlfunction { libraryName = string; className = com.opensys.cloveretl.ctl.extensions.StringLib; }

DEBUG [main] - Plugin com.opensys.clover.commercial.lookup loaded.
id - com.opensys.clover.commercial.lookup
version - ${version.full}
provider-name - null
lookup { className = com.opensys.cloveretl.lookup.PersistentLookupTable; type = persistentLookup; }
lookup { className = com.opensys.cloveretl.lookup.AspellLookupTable; type = aspellLookup; }

DEBUG [main] - Plugin com.opensys.cloveretl.tlfunction loaded.
id - com.opensys.cloveretl.tlfunction
version - ${version.full}
provider-name - null
tlfunction { libraryName = string; className = com.opensys.cloveretl.interpreter.extensions.StringLib; function = soundex,edit_distance,metaphone,NYSIIS; }

DEBUG [main] - create PluginClassLoader:[file:/C:/CloverETL/plugins/com.cloveretl.gui.commercial_3.1.0/lib/plugins/org.jetel.ctlfunction.commercial/cloveretl.ctlfunction.commercial.jar]
DEBUG [main] - create PluginClassLoader:
DEBUG [main] - create PluginClassLoader:[file:/C:/CloverETL/plugins/com.cloveretl.gui_3.1.0/lib/plugins/org.jetel.ctlfunction/cloveretl.ctlfunction.jar, file:/C:/CloverETL/plugins/com.cloveretl.gui_3.1.0/lib/plugins/org.jetel.ctlfunction/lib/json.jar]
DEBUG [main] - create PluginClassLoader:[file:/C:/CloverETL/plugins/com.cloveretl.gui_3.1.0/lib/plugins/org.jetel.connection/cloveretl.connection.jar]
DEBUG [main] - create PluginClassLoader:[file:/C:/CloverETL/plugins/com.cloveretl.gui_3.1.0/lib/plugins/org.jetel.component/cloveretl.component.jar, file:/C:/CloverETL/plugins/com.cloveretl.gui_3.1.0/lib/plugins/org.jetel.component/lib/commons-httpclient-3.1.jar, file:/C:/CloverETL/plugins/com.cloveretl.gui_3.1.0/lib/plugins/org.jetel.component/lib/saxon8.jar, file:/C:/CloverETL/plugins/com.cloveretl.gui_3.1.0/lib/plugins/org.jetel.component/lib/je-4.1.7.jar]
DEBUG [main] - create PluginClassLoader:[file:/C:/CloverETL/plugins/com.cloveretl.gui.commercial_3.1.0/lib/plugins/org.jetel.component.commercial/cloveretl.component.commercial.jar, file:/C:/CloverETL/plugins/com.cloveretl.gui.commercial_3.1.0/lib/plugins/org.jetel.component.commercial/lib/mail-1.4.2.jar, file:/C:/CloverETL/plugins/com.cloveretl.gui.commercial_3.1.0/lib/plugins/org.jetel.component.commercial/lib/activation.jar, file:/C:/CloverETL/plugins/com.cloveretl.gui.commercial_3.1.0/lib/plugins/org.jetel.component.commercial/lib/axiom-api-1.2.8.jar, file:/C:/CloverETL/plugins/com.cloveretl.gui.commercial_3.1.0/lib/plugins/org.jetel.component.commercial/lib/axiom-dom-1.2.8.jar, file:/C:/CloverETL/plugins/com.cloveretl.gui.commercial_3.1.0/lib/plugins/org.jetel.component.commercial/lib/axiom-impl-1.2.8.jar, file:/C:/CloverETL/plugins/com.cloveretl.gui.commercial_3.1.0/lib/plugins/org.jetel.component.commercial/lib/axis2-adb-1.5.jar, file:/C:/CloverETL/plugins/com.cloveretl.gui.commercial_3.1.0/lib/plugins/org.jetel.component.commercial/lib/axis2-jaxws-1.5.jar, file:/C:/CloverETL/plugins/com.cloveretl.gui.commercial_3.1.0/lib/plugins/org.jetel.component.commercial/lib/axis2-kernel-1.5.jar, file:/C:/CloverETL/plugins/com.cloveretl.gui.commercial_3.1.0/lib/plugins/org.jetel.component.commercial/lib/axis2-transport-http-1.5.jar, file:/C:/CloverETL/plugins/com.cloveretl.gui.commercial_3.1.0/lib/plugins/org.jetel.component.commercial/lib/axis2-transport-local-1.5.jar, file:/C:/CloverETL/plugins/com.cloveretl.gui.commercial_3.1.0/lib/plugins/org.jetel.component.commercial/lib/commons-fileupload-1.2.1.jar, file:/C:/CloverETL/plugins/com.cloveretl.gui.commercial_3.1.0/lib/plugins/org.jetel.component.commercial/lib/commons-httpclient-3.1.jar, file:/C:/CloverETL/plugins/com.cloveretl.gui.commercial_3.1.0/lib/plugins/org.jetel.component.commercial/lib/commons-io-1.4.jar, file:/C:/CloverETL/plugins/com.cloveretl.gui.commercial_3.1.0/lib/plugins/org.jetel.component.commercial/lib/dnsjava-2.0.6.jar, file:/C:/CloverETL/plugins/com.cloveretl.gui.commercial_3.1.0/lib/plugins/org.jetel.component.commercial/lib/dom4j-1.6.1.jar, file:/C:/CloverETL/plugins/com.cloveretl.gui.commercial_3.1.0/lib/plugins/org.jetel.component.commercial/lib/httpcore-4.0.jar, file:/C:/CloverETL/plugins/com.cloveretl.gui.commercial_3.1.0/lib/plugins/org.jetel.component.commercial/lib/jsr181-api.jar, file:/C:/CloverETL/plugins/com.cloveretl.gui.commercial_3.1.0/lib/plugins/org.jetel.component.commercial/lib/neethi-2.0.4.jar, file:/C:/CloverETL/plugins/com.cloveretl.gui.commercial_3.1.0/lib/plugins/org.jetel.component.commercial/lib/stax-1.2.0.jar, file:/C:/CloverETL/plugins/com.cloveretl.gui.commercial_3.1.0/lib/plugins/org.jetel.component.commercial/lib/woden-api-1.0M8.jar, file:/C:/CloverETL/plugins/com.cloveretl.gui.commercial_3.1.0/lib/plugins/org.jetel.component.commercial/lib/wsdl4j-1.6.2.jar, file:/C:/CloverETL/plugins/com.cloveretl.gui.commercial_3.1.0/lib/plugins/org.jetel.component.commercial/lib/XmlSchema-1.4.3.jar]
INFO [main] - Checking graph configuration…
DEBUG [main] - This parser can’t be used because ‘verbose’ feature
DEBUG [main] - Speed null for parser org.jetel.data.parser.SimpleDataParser and configuration ParserConfiguration [charset=UTF-16, verbose=true, metadata=DataRecordMetadata[fields = [Field[S|0|DUNNS]], fieldNamesMap = {DUNNS=0}, fieldTypes = {0=S}, name = inf_ability_one, recType = D, localeStr = null, skipSourceRows = -1, recordProperties = {previewAttachmentCharset=ISO-8859-1}, DELIMITED_RECORD = D, FIXEDLEN_RECORD = F], treatMultipleDelimitersAsOne=false, quotedStrings=false, skipLeadingBlanks=null, skipTrailingBlanks=null, trim=null]
DEBUG [main] - Speed 10 for parser org.jetel.data.parser.DataParser and configuration ParserConfiguration [charset=UTF-16, verbose=true, metadata=DataRecordMetadata[fields = [Field[S|0|DUNNS]], fieldNamesMap = {DUNNS=0}, fieldTypes = {0=S}, name = inf_ability_one, recType = D, localeStr = null, skipSourceRows = -1, recordProperties = {previewAttachmentCharset=ISO-8859-1}, DELIMITED_RECORD = D, FIXEDLEN_RECORD = F], treatMultipleDelimitersAsOne=false, quotedStrings=false, skipLeadingBlanks=null, skipTrailingBlanks=null, trim=null]
DEBUG [main] - Speed 8 for parser org.jetel.data.parser.CharByteDataParser and configuration ParserConfiguration [charset=UTF-16, verbose=true, metadata=DataRecordMetadata[fields = [Field[S|0|DUNNS]], fieldNamesMap = {DUNNS=0}, fieldTypes = {0=S}, name = inf_ability_one, recType = D, localeStr = null, skipSourceRows = -1, recordProperties = {previewAttachmentCharset=ISO-8859-1}, DELIMITED_RECORD = D, FIXEDLEN_RECORD = F], treatMultipleDelimitersAsOne=false, quotedStrings=false, skipLeadingBlanks=null, skipTrailingBlanks=null, trim=null]
DEBUG [main] - Component DATA_READER0 uses parser org.jetel.data.parser.DataParser
DEBUG [main] - create PluginClassLoader:[file:/C:/CloverETL/plugins/com.cloveretl.gui_3.1.0/lib/plugins/org.jetel.jdbc/cloveretl.jdbc.jar]
DEBUG [main] - CheckConfig warning: Unsupported feature
java.sql.SQLException: Unsupported feature
at oracle.jdbc.driver.OracleParameterMetaData.getParameterType(OracleParameterMetaData.java:166)
at org.jetel.connection.jdbc.CopySQLData.validateJetel2sqlMap(CopySQLData.java:515)
at org.jetel.connection.jdbc.SQLCloverStatement.checkConfig(SQLCloverStatement.java:326)
at org.jetel.component.DBOutputTable.checkConfig(DBOutputTable.java:1349)
at org.jetel.graph.Phase.checkConfig(Phase.java:347)
at org.jetel.graph.TransformationGraph.checkConfig(TransformationGraph.java:1100)
at org.jetel.graph.runtime.EngineInitializer.initGraph(EngineInitializer.java:185)
at GraphRun.graphInit(GraphRun.java:39)
at GraphRun.main(GraphRun.java:51)
DEBUG [main] - create PluginClassLoader:[file:/C:/CloverETL/plugins/com.cloveretl.gui.commercial_3.1.0/lib/plugins/org.jetel.compiler.commercial/cloveretl.compiler.commercial.jar]
DEBUG [main] - Component ‘EXT_FILTER0’ runs in INTERPRETED mode
INFO [main] - Graph configuration is valid.
INFO [main] - Graph initialization (EmailINF)
INFO [main] - Initializing connection:
INFO [main] - DBConnection driver[org.jetel.connection.jdbc.driver.JdbcDriver@1372656]:jndi[null]:url[jdbc:oracle:thin:@202.65.147.216:1521:xe]:user[sammgr] … OK
INFO [main] - [Clover] Initializing phase: 0
DEBUG [main] - initializing edges:
DEBUG [main] - all edges initialized successfully…
DEBUG [main] - initializing nodes:
DEBUG [main] - This parser can’t be used because ‘verbose’ feature
DEBUG [main] - Speed null for parser org.jetel.data.parser.SimpleDataParser and configuration ParserConfiguration [charset=UTF-16, verbose=true, metadata=DataRecordMetadata[fields = [Field[S|0|DUNNS]], fieldNamesMap = {DUNNS=0}, fieldTypes = {0=S}, name = inf_ability_one, recType = D, localeStr = null, skipSourceRows = -1, recordProperties = {previewAttachmentCharset=ISO-8859-1}, DELIMITED_RECORD = D, FIXEDLEN_RECORD = F], treatMultipleDelimitersAsOne=false, quotedStrings=false, skipLeadingBlanks=null, skipTrailingBlanks=null, trim=null]
DEBUG [main] - Speed 10 for parser org.jetel.data.parser.DataParser and configuration ParserConfiguration [charset=UTF-16, verbose=true, metadata=DataRecordMetadata[fields = [Field[S|0|DUNNS]], fieldNamesMap = {DUNNS=0}, fieldTypes = {0=S}, name = inf_ability_one, recType = D, localeStr = null, skipSourceRows = -1, recordProperties = {previewAttachmentCharset=ISO-8859-1}, DELIMITED_RECORD = D, FIXEDLEN_RECORD = F], treatMultipleDelimitersAsOne=false, quotedStrings=false, skipLeadingBlanks=null, skipTrailingBlanks=null, trim=null]
DEBUG [main] - Speed 8 for parser org.jetel.data.parser.CharByteDataParser and configuration ParserConfiguration [charset=UTF-16, verbose=true, metadata=DataRecordMetadata[fields = [Field[S|0|DUNNS]], fieldNamesMap = {DUNNS=0}, fieldTypes = {0=S}, name = inf_ability_one, recType = D, localeStr = null, skipSourceRows = -1, recordProperties = {previewAttachmentCharset=ISO-8859-1}, DELIMITED_RECORD = D, FIXEDLEN_RECORD = F], treatMultipleDelimitersAsOne=false, quotedStrings=false, skipLeadingBlanks=null, skipTrailingBlanks=null, trim=null]
DEBUG [main] - Component DATA_READER0 uses parser org.jetel.data.parser.DataParser
DEBUG [main] - DATA_READER0 …OK
DEBUG [main] - DB_OUTPUT_TABLE0 …OK
DEBUG [main] - EMAIL_READER0 …OK
DEBUG [main] - Component ‘EXT_FILTER0’ runs in INTERPRETED mode
DEBUG [main] - EXT_FILTER0 …OK
INFO [main] - [Clover] phase: 0 initialized successfully.
Completed Process
DEBUG [WatchDog] - Graph properties: {CONN_DIR=${PROJECT}/conn, SEQ_DIR=${PROJECT}/seq, DATAOUT_DIR=${PROJECT}/data-out, GRAPH_DIR=${PROJECT}/graph, PROJECT=., TRANS_DIR=${PROJECT}/trans, DATATMP_DIR=${PROJECT}/data-tmp, META_DIR=${PROJECT}/meta, DATAIN_DIR=${PROJECT}/data-in, LOOKUP_DIR=${PROJECT}/lookup}
ERROR [WatchDog] - Fatal error watchdog execution
java.lang.NullPointerException
at org.jetel.graph.runtime.TrackingLogger.(TrackingLogger.java:69)
at org.jetel.graph.runtime.TrackingLogger.track(TrackingLogger.java:63)
at org.jetel.graph.runtime.WatchDog.call(WatchDog.java:190)
at org.jetel.graph.runtime.WatchDog.call(WatchDog.java:64)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

Hello,
you missed to initialize the watch dog:

        threadManager.initWatchDog(watchDog);


So your code should look as follows:

.
.
.
WatchDog watchDog = new WatchDog(graph, runtimeContext);
 threadManager.initWatchDog(watchDog);
// threadManager.executeWatchDog(watchDog);
Future<Result> futureResult = threadManager.executeWatchDog(watchDog);
.
.
.

Thank You so much Avata, it worked fine for me. And i think the " Embedding clover " example XML graph code needs to be updated.