Jiri Ondrusek created CAMEL-15819:
-------------------------------------

             Summary: Camel-jsonb: Artifact  'johnzon-jsonb' is required with 
default settings.
                 Key: CAMEL-15819
                 URL: https://issues.apache.org/jira/browse/CAMEL-15819
             Project: Camel
          Issue Type: Improvement
    Affects Versions: 3.7.0
            Reporter: Jiri Ondrusek
            Assignee: Jiri Ondrusek


I've created simple reproducer, using spring-boot starter: 
[https://github.com/JiriOndrusek/camel-jsonb-reproducer]

 

There is only 1 route, which marshals pojo and logs it. Reproducer is working.

 

If you remove dependency to 'johnzon-jsonb' 
([https://github.com/JiriOndrusek/camel-jsonb-reproducer/blob/main/pom.xml#L101]),
 it start failing with:

 

Caused by: java.lang.ClassNotFoundException: 
org.apache.johnzon.jsonb.JohnzonProvider
 at 
java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
 ~[na:na]
 at 
java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
 ~[na:na]
 at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521) ~[na:na]
 at javax.json.bind.spi.JsonbProvider.doLoadProvider(JsonbProvider.java:79) 
~[geronimo-jsonb_1.0_spec-1.0.jar:1.0]
 ... 54 common frames omitted>

 

Problem is caused by the fact, that spi uses jonzon as default provider (see 
[https://github.com/apache/geronimo-specs/blob/trunk/geronimo-jsonb_1.0_spec/src/main/java/javax/json/bind/spi/JsonbProvider.java#L30])

 

Solution could be for example adding jonzon into camel-jsonb or add to 
documentation, that provider implementation has to be provided.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to