Skip to main content
Woohoo! Qlik Community has won “Best in Class Community” in the 2024 Khoros Kudos awards!
Announcements
Join us at Qlik Connect for 3 magical days of learning, networking,and inspiration! REGISTER TODAY and save!
cancel
Showing results for 
Search instead for 
Did you mean: 
Jacco_De_Zwart
Creator
Creator

Get a warning tRest component, Studio R2024-07

Hi all,

I have a job that incldes a tRest component which calls a web-service.

All is configured well, but when running the job I get the following warning :

jul. 30, 2024 10:07:31 A.M. org.glassfish.jersey.client.innate.inject.NonInjectionManager <init>
WARNING: Falling back to injection-less client.

The call to the webservice succeeds, data is retreivable, but where comes this warning from ? I reinstalled Talend Studio, upgaded to R2024-07, installed the additional libraries when I open the job for the first time.

What can be wrong ??

 

 

Labels (2)
1 Solution

Accepted Solutions
jlolling
Creator III
Creator III

You can ignore this message. This message tells us the client cannot use byte code injection but Talend do not use this method. It is actually an error of the component itself because of a missing jar.

If you can, ignore this!

View solution in original post

15 Replies
azT
Contributor
Contributor

Getting same error. Lot of my jobs are failing with this error - Lesson learned. Never update Talend

 

jlolling
Creator III
Creator III

You can ignore this message. This message tells us the client cannot use byte code injection but Talend do not use this method. It is actually an error of the component itself because of a missing jar.

If you can, ignore this!

jlolling
Creator III
Creator III

Thats for sure not the right lesson learned. If you do not update frequently you will run into some other trouble. Yes this component is a bad configured because a dependency is not taken which would prevent this error message. This error message does not affect our jobs or services because the client complaints it cannot use byte code injection but Talend does not use this feature at all.

Jacco_De_Zwart
Creator
Creator
Author

Thanks Jan,

I will ignore the message since everything works fine. As for the 'missing' jar, is it an option to add the jar in someway ?

 

 

jlolling
Creator III
Creator III

Yes, download this jar: https://repo1.maven.org/maven2/org/glassfish/jersey/inject/jersey-hk2/3.1.7/jersey-hk2-3.1.7.jar

and added it per tLibraryLoad to your job. This should solve the error message.

JDUbanco
Contributor II
Contributor II

Hello there, I encountered the same error and tried to add the jar by tLibraryLoad.

The configuration : 

JDUbanco_0-1724774655345.png

 

I get an error : 

 

Exception in thread "main" java.lang.NoClassDefFoundError: org/glassfish/hk2/api/ServiceLocatorFactory

at org.glassfish.jersey.inject.hk2.AbstractHk2InjectionManager.<clinit>(AbstractHk2InjectionManager.java:51)

at org.glassfish.jersey.inject.hk2.Hk2InjectionManagerFactory$Hk2InjectionManagerStrategy$1.createInjectionManager(Hk2InjectionManagerFactory.java:55)

at org.glassfish.jersey.inject.hk2.Hk2InjectionManagerFactory.create(Hk2InjectionManagerFactory.java:73)

at org.glassfish.jersey.internal.inject.InjectionManagerFactory.create(InjectionManagerFactory.java:32)

at org.glassfish.jersey.internal.inject.Injections.createInjectionManager(Injections.java:56)

at org.glassfish.jersey.client.ClientConfig$State.findInjectionManager(ClientConfig.java:477)

at org.glassfish.jersey.client.ClientConfig$State.initRuntime(ClientConfig.java:414)

at org.glassfish.jersey.internal.util.collection.Values$LazyValueImpl.get(Values.java:317)

at org.glassfish.jersey.client.ClientConfig.getRuntime(ClientConfig.java:829)

at org.glassfish.jersey.client.ClientRequest.getClientRuntime(ClientRequest.java:183)

at org.glassfish.jersey.client.JerseyWebTarget.onBuilder(JerseyWebTarget.java:371)

at org.glassfish.jersey.client.JerseyWebTarget.request(JerseyWebTarget.java:199)

at org.glassfish.jersey.client.JerseyWebTarget.request(JerseyWebTarget.java:38)

Caused by: java.lang.ClassNotFoundException: org.glassfish.hk2.api.ServiceLocatorFactory

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

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

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

Tim_Ouimet
Contributor III
Contributor III

Had the same issue - the component tRest seems to work just fine.  With loading the tLibrary for jersey-hk... it fails catastrophically. 

Startek, Inc
Xiaodi_Shi
Support
Support

Hello,

tREST is a DI component not an ESB component, which is based on jersey libraries.
tRESTClient is an ESB component, is based on CXF framework, and support more ESB features e.g SAM/SL/Authentication, moreover, the Job with tRESTClient is able to be built as OSGi bundle which can be deployed into Talend Runtime.

It is better to use tRESTClient if you want to deploy and manage it using Runtime (SSL config for service/client can be defined inside org.apache.cxf.http.conduits-common.cfg)

Best regards

Sabrina

Jacco_De_Zwart
Creator
Creator
Author

Hey,

 

I also tried to inport the libary, but then it asks which class I want to import. Got no idea, so I stopped. Since the compontent works fine, besides the error, I left it like it is.

But in order to get an error-free flow, I start using other components like tHTTP, tHTTPClient

It does nearly the same thing.

 

Jacco