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

**URL:** <https://forum.cloverdx.com/t/parse-and-io-error-unknown-connection-jdbc-class-jdbc-error/926>\
**Category:** CloverDX Platform\
**Created:** [September 8, 2011, 12:00am UTC](https://forum.cloverdx.com/t/parse-and-io-error-unknown-connection-jdbc-class-jdbc-error/926 "2011-09-08T00:00:00Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![sgaddam](https://avatars.discourse-cdn.com/v4/letter/s/5f9b8f/32.png) [@sgaddam](https://forum.cloverdx.com/u/sgaddam)\
**Post date:** [September 8, 2011, 12:00am UTC](https://forum.cloverdx.com/t/parse-and-io-error-unknown-connection-jdbc-class-jdbc-error/926/1 "2011-09-08T00:00:00Z")

</div>

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)

---

<div class="post-metadata">

**Author:** ![avackova](https://avatars.discourse-cdn.com/v4/letter/a/65b543/32.png) [@avackova](https://forum.cloverdx.com/u/avackova)\
**Post date:** [September 9, 2011, 7:24am UTC](https://forum.cloverdx.com/t/parse-and-io-error-unknown-connection-jdbc-class-jdbc-error/926/2 "2011-09-09T07:24:18Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![sgaddam](https://avatars.discourse-cdn.com/v4/letter/s/5f9b8f/32.png) [@sgaddam](https://forum.cloverdx.com/u/sgaddam)\
**Post date:** [September 9, 2011, 8:01am UTC](https://forum.cloverdx.com/t/parse-and-io-error-unknown-connection-jdbc-class-jdbc-error/926/3 "2011-09-09T08:01:37Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![avackova](https://avatars.discourse-cdn.com/v4/letter/a/65b543/32.png) [@avackova](https://forum.cloverdx.com/u/avackova)\
**Post date:** [September 9, 2011, 8:13am UTC](https://forum.cloverdx.com/t/parse-and-io-error-unknown-connection-jdbc-class-jdbc-error/926/4 "2011-09-09T08:13:04Z")

</div>

Hello,  
_EmailReader_ componet is located in _com.cloveretl.gui.commercial_ plugin, so your plugin’s path should look as follows:

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

```

---

<div class="post-metadata">

**Author:** ![sgaddam](https://avatars.discourse-cdn.com/v4/letter/s/5f9b8f/32.png) [@sgaddam](https://forum.cloverdx.com/u/sgaddam)\
**Post date:** [September 9, 2011, 2:04pm UTC](https://forum.cloverdx.com/t/parse-and-io-error-unknown-connection-jdbc-class-jdbc-error/926/5 "2011-09-09T14:04:42Z")

</div>

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)

---

<div class="post-metadata">

**Author:** ![avackova](https://avatars.discourse-cdn.com/v4/letter/a/65b543/32.png) [@avackova](https://forum.cloverdx.com/u/avackova)\
**Post date:** [September 12, 2011, 7:40am UTC](https://forum.cloverdx.com/t/parse-and-io-error-unknown-connection-jdbc-class-jdbc-error/926/6 "2011-09-12T07:40:30Z")

</div>

Hello,  
you missed to initialize the watch dog:

```auto
        threadManager.initWatchDog(watchDog);

```

So your code should look as follows:

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

```

---

<div class="post-metadata">

**Author:** ![sgaddam](https://avatars.discourse-cdn.com/v4/letter/s/5f9b8f/32.png) [@sgaddam](https://forum.cloverdx.com/u/sgaddam)\
**Post date:** [September 12, 2011, 8:13am UTC](https://forum.cloverdx.com/t/parse-and-io-error-unknown-connection-jdbc-class-jdbc-error/926/7 "2011-09-12T08:13:57Z")

</div>

Thank You so much Avata, it worked fine for me. And i think the " [Embedding clover](http://wiki.cloveretl.org/doku.php?id=embedding%5Fclover) " example XML graph code needs to be updated.
