java.lang.LinkageError: Talend job execution error in ESB runtime

Overview

Get errors as the below while executing job in ESB runtime:

 

Caused by: java.lang.Error: java.lang.LinkageError: loader constraint violation: when resolving method "javax.xml.validation.Validator.setErrorHandler(Lorg/xml/sax/ErrorHandler;)V" the class loader (instance of org/eclipse/osgi/internal/baseadaptor/DefaultClassLoader) of the current class, esb_import/createcustomerjob_0_1/CreateCustomerJob, and the class loader (instance of <bootloader>) for resolved class, javax/xml/validation/Validator, have different Class objects for the type org/xml/sax/ErrorHandler used in the signature

 

Environment

The job run in studio sucessfully but failed in ESB Runtime

Symptoms/Description

If you get the error 'java.lang.Error: java.lang.LinkageError' while executing the job in ESB runtime,  but the job run in studio sucessfully.

Resolution

You need to figure out the violation jar which contains javax/xml/validation/Validator in the output .kar file,  then remove the jar file from the bundle's MANIFEST.MF file Bundle-ClassPath:

Icon

Be carefull about 70 bytes limit while modify MANIFEST.MF Bundle-ClassPath

The osgi classloading alogrithom, please refer to http://fusesource.com/docs/esb/4.4.1/esb_dependencies/BCL-Algorithm.html

Version History
Revision #:
1 of 1
Last update:
‎05-11-2017 08:46 PM
Updated by:
 
Labels (1)
Contributors