Skip to main content
Announcements
Introducing Qlik Answers: A plug-and-play, Generative AI powered RAG solution. READ ALL ABOUT IT!
cancel
Showing results for 
Search instead for 
Did you mean: 
snakazawa1673836864
Contributor
Contributor

Execution of custom component in TOS8.0.1

I am creating my own DB access component sound using ComponentKit. The component-runtime-manager version is 1.52.1.​

I was able to run it with TalendStudio8.0.1 (paid version), but with TOS8.0.1 I get an error when running it.

 

The init method of the Input component has been successfully executed and the DB can be accessed, but an error has occurred around row generation.

 

Also, component-runtime-manager-1.37.0.jar is displayed in the warning message. This version seems to be compatible with Studio7, and in the paid version 8.0.1, it is 1.48.1 in the initial state and 1.52.1 is entered after custom component installation.

When using a component created with ComponentKit in TOS8, do I need to make settings that are different from the product version?

 

Below is the error message when running in TOS. "db columns: [pk, c1]" is the content obtained by accessing the DB in the init method. You have access.

 

[statistics] connecting to socket on port 3632

[statistics] connected

WARNING: An illegal reflective access operation has occurred

WARNING: Illegal reflective access by org.talend.sdk.component.runtime.manager.asm.Unsafes (file:/Applications/TOSDI-8.0.1/studio/configuration/.m2/repository/org/talend/sdk/component/component-runtime-manager/1.37.0/component-runtime-manager-1.37.0.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int)

WARNING: Please consider reporting this to the maintainers of org.talend.sdk.component.runtime.manager.asm.Unsafes

WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations

WARNING: All illegal access operations will be denied in a future release

CompanyInputSource# init# int

 url:localhost:12345 user:admin pass:null query:select * from tb1

outgoingSchema: [newColumn, newColumn1]

db colums: [pk, c1]

Exception in thread "main" java.lang.NoClassDefFoundError: routines/system/Dynamic

at java.base/java.lang.Class.getDeclaredMethods0(Native Method)

at java.base/java.lang.Class.privateGetDeclaredMethods(Class.java:3244)

at java.base/java.lang.Class.getDeclaredMethod(Class.java:2551)

at org.talend.sdk.component.runtime.record.RecordConverters$MappingMeta.newInstance(RecordConverters.java:479)

at org.talend.sdk.component.runtime.record.RecordConverters.toType(RecordConverters.java:268)

at local_project.tsurugi1_0_1.tsurugi1.CompanyFamilyCompanyInput_1Process(tsurugi1.java:763)

at local_project.tsurugi1_0_1.tsurugi1.runJobInTOS(tsurugi1.java:1230)

at local_project.tsurugi1_0_1.tsurugi1.main(tsurugi1.java:1068)

Caused by: java.lang.ClassNotFoundException: routines.system.Dynamic

at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:602)

at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)

at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)

... 8 more

[statistics] disconnected

CompanyInputSource# init# int# release

2 Replies
JGibson1
Contributor
Contributor

I'm having the same issue. The custom component I have built has a default version for the component framework of 10.57.0. I manually edit the pom.xml for my job it seems to work but it gets overwritten again and I can't get the value to "stick".

 

Hieu_Trung
Contributor
Contributor

what did you change to pom.xml?