Yes, I still see it listed. Can I just disable Johnzon so I can get my Arq tests back and working again? It would be the easiest solution at this point, I hope..
On Thu, Nov 17, 2016 at 1:56 PM, Romain Manni-Bucau <rmannibu...@gmail.com> wrote: > Do you see it listed in the providers i startup logs? it should be sorted > and johnzon is after user providers if they have the same media type. > > All the dicussion we had was for server providers, for client ones you need > to register it on the client. > > > Romain Manni-Bucau > @rmannibucau <https://twitter.com/rmannibucau> | Blog > <https://blog-rmannibucau.rhcloud.com> | Old Blog > <http://rmannibucau.wordpress.com> | Github <https://github.com/rmannibucau> | > LinkedIn <https://www.linkedin.com/in/rmannibucau> | JavaEE Factory > <https://javaeefactory-rmannibucau.rhcloud.com> > > 2016-11-17 19:39 GMT+01:00 jieryn <jie...@gmail.com>: > >> Ok, I see what you mean, but Johnzon is still getting invoked even >> after I subclassed the JacksonJsonProvider and coded the >> @Produces/@Consumes with specific media types. >> >> public abstract class MyJacksonProviderApplication extends Application { >> @Override >> public Set<Object> getSingletons() { >> return Collections >> .singleton((Object) new MyJacksonJsonProvider(new ObjectMapper())); >> } >> } >> >> @Provider >> @Produces({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML }) >> @Consumes({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML }) >> public class MyJacksonJsonProvider extends JacksonJsonProvider >> { >> public MyJacksonJsonProvider() { >> super(); >> } >> >> public MyJacksonJsonProvider(final Annotations... annotationsToUse) { >> super(annotationsToUse); >> } >> >> public MyJacksonJsonProvider(final ObjectMapper mapper) { >> super(mapper); >> } >> >> public MyJacksonJsonProvider(final ObjectMapper mapper, >> final Annotations[] annotationsToUse) { >> super(mapper, annotationsToUse); >> } >> } >> >> still Johnzon is getting invoked here: >> >> testGet1(MyResourceTest) Time elapsed: 0.498 sec <<< ERROR! >> javax.ws.rs.client.ResponseProcessingException: Problem with reading >> the data, class My, ContentType: application/json. >> at MyResourceTest.testGet1(MyResourceTest.java) >> Caused by: org.apache.johnzon.mapper.MapperException: Unable to parse >> 0 to class java.util.Date >> >> Even with src/main/webapp/WEB-INF/openejb-jar.xml in the Arquillian web >> archive: >> >> <openejb-jar xmlns="http://www.openejb.org/openejb-jar/1.1"> >> <pojo-deployment class-name="jaxrs-application"> >> <properties> >> cxf.jaxrs.providers = com.acme.project.api.MyJacksonJsonProvider >> </properties> >> </pojo-deployment> >> </openejb-jar> >> >> >> Is there some way I can just disable Johnzon? >> >> >> On Thu, Nov 17, 2016 at 12:43 PM, Romain Manni-Bucau >> <rmannibu...@gmail.com> wrote: >> > then add it too ;) >> > >> > point is to not use the default jackson one which is */* >> > >> > */* = lower priority ever >> > >> > >> > Romain Manni-Bucau >> > @rmannibucau <https://twitter.com/rmannibucau> | Blog >> > <https://blog-rmannibucau.rhcloud.com> | Old Blog >> > <http://rmannibucau.wordpress.com> | Github <https://github.com/ >> rmannibucau> | >> > LinkedIn <https://www.linkedin.com/in/rmannibucau> | JavaEE Factory >> > <https://javaeefactory-rmannibucau.rhcloud.com> >> > >> > 2016-11-17 18:43 GMT+01:00 jieryn <jie...@gmail.com>: >> > >> >> I have to support application/xml too though. >> >> >> >> On Thu, Nov 17, 2016 at 12:39 PM, Romain Manni-Bucau >> >> <rmannibu...@gmail.com> wrote: >> >> > replace jackson provider by: >> >> > >> >> > @Provider >> >> > @Consumes("application/json") >> >> > @Provides("application/json") >> >> > public class MyProvider extends JacksonXXXProvider {} >> >> > >> >> > And register this provider instead of jackson one >> >> > >> >> > >> >> > >> >> > Romain Manni-Bucau >> >> > @rmannibucau <https://twitter.com/rmannibucau> | Blog >> >> > <https://blog-rmannibucau.rhcloud.com> | Old Blog >> >> > <http://rmannibucau.wordpress.com> | Github <https://github.com/ >> >> rmannibucau> | >> >> > LinkedIn <https://www.linkedin.com/in/rmannibucau> | JavaEE Factory >> >> > <https://javaeefactory-rmannibucau.rhcloud.com> >> >> > >> >> > 2016-11-17 18:37 GMT+01:00 jieryn <jie...@gmail.com>: >> >> > >> >> >> I think I am doing that, sorry I didn't include it.. >> >> >> >> >> >> import javax.xml.bind.annotation.*; >> >> >> import javax.ejb.*; >> >> >> import javax.ws.rs.*; >> >> >> import javax.ws.rs.core.*; >> >> >> >> >> >> @XmlAccessorType(XmlAccessType.FIELD) >> >> >> @XmlRootElement >> >> >> public class My >> >> >> { >> >> >> private String message; >> >> >> public final String getMessage() { >> >> >> return message; >> >> >> } >> >> >> public final void setMessage(final String message) { >> >> >> this.message = message; >> >> >> } >> >> >> } >> >> >> >> >> >> @Path("my") >> >> >> @Produces({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML }) >> >> >> @Singleton >> >> >> public class MyResource >> >> >> { >> >> >> @GET >> >> >> public My get() { >> >> >> return new My("thing-1"); >> >> >> } >> >> >> } >> >> >> >> >> >> >> >> >> ...can I just disable Johnzon with some configuration file under >> >> >> src/main/tomee/conf/? or src/main/webapp/WEB-INF/? >> >> >> >> >> >> >> >> >> On Thu, Nov 17, 2016 at 12:28 PM, Romain Manni-Bucau >> >> >> <rmannibu...@gmail.com> wrote: >> >> >> > 2016-11-17 18:12 GMT+01:00 jieryn <jie...@gmail.com>: >> >> >> > >> >> >> >> Yah, I am hard forcing the JacksonJsonProvider: >> >> >> >> >> >> >> >> import java.util.*; >> >> >> >> import javax.ws.rs.ApplicationPath; >> >> >> >> import javax.ws.rs.core.Application; >> >> >> >> import com.fasterxml.jackson.databind.ObjectMapper; >> >> >> >> import com.fasterxml.jackson.jaxrs.json.JacksonJsonProvider; >> >> >> >> >> >> >> >> public abstract class JacksonProviderApplication extends >> Application >> >> { >> >> >> >> public Set<Object> getSingletons() { >> >> >> >> return Collections.singleton((Object) new >> JacksonJsonProvider(new >> >> >> >> ObjectMapper())); >> >> >> >> } >> >> >> >> } >> >> >> >> >> >> >> >> @ApplicationPath("api") >> >> >> >> public class API extends JacksonProviderApplication { >> >> >> >> public Set<Class<?>> getClasses() { >> >> >> >> return Collections.unmodifiableSet(new >> HashSet<Class<?>>(Arrays. >> >> >> >> asList( >> >> >> >> com.acme.project.api.MyResource.class))); >> >> >> >> } >> >> >> >> } >> >> >> >> >> >> >> >> >> >> >> >> But in the stack trace in original, Johnzon is the one doing the >> >> >> >> serializing..why?? I accept Jackson may have some bugs that >> Johnson >> >> >> >> fixes, but right now I just need to get Jackson back in place so >> all >> >> >> >> of our web/js stuff continues to work right. Any ideas? >> >> >> >> >> >> >> >> >> >> >> > Read again my answer, I'm not telling you to not use jackson but >> how >> >> to >> >> >> > make it work. Enforce for the jackson provider the >> consumers/produces >> >> >> > annotations to be application/json to let jackson have the same >> >> priority >> >> >> as >> >> >> > johnzon and be used instead otherwise johnzon being more specific >> is >> >> >> > prioritized over jackson. >> >> >> > >> >> >> > >> >> >> >> >> >> >> >> On Fri, Nov 11, 2016 at 4:03 PM, Romain Manni-Bucau >> >> >> >> <rmannibu...@gmail.com> wrote: >> >> >> >> > Hi >> >> >> >> > >> >> >> >> > Jackson is buggy in its consumes/produces type. Wrap the >> provider >> >> >> forcing >> >> >> >> > it to application/json lr other but not wildcard >> >> >> >> > >> >> >> >> > Le 11 nov. 2016 21:50, "jieryn" <jie...@gmail.com> a écrit : >> >> >> >> > >> >> >> >> >> Hi, I'm hitting another migration issue. With 1.7, we see these >> >> >> >> providers: >> >> >> >> >> >> >> >> >> >> INFO: Using providers: >> >> >> >> >> Nov 11, 2016 3:43:19 PM >> >> >> >> >> org.apache.openejb.server.cxf.rs.CxfRsHttpListener >> >> configureFactory >> >> >> >> >> INFO: com.fasterxml.jackson.jaxrs. >> json.JacksonJsonProvider@ >> >> >> >> 3703a400 >> >> >> >> >> Nov 11, 2016 3:43:19 PM >> >> >> >> >> org.apache.openejb.server.cxf.rs.CxfRsHttpListener >> >> configureFactory >> >> >> >> >> INFO: com.fasterxml.jackson.jaxrs. >> json.JacksonJsonProvider@ >> >> >> >> 735167e1 >> >> >> >> >> Nov 11, 2016 3:43:19 PM >> >> >> >> >> org.apache.openejb.server.cxf.rs.CxfRsHttpListener >> >> configureFactory >> >> >> >> >> INFO: org.apache.openejb.server.cxf. >> >> >> rs.EJBAccessExceptionMapper@ >> >> >> >> >> 22105c76 >> >> >> >> >> Nov 11, 2016 3:43:19 PM org.apache.cxf.jaxrs.utils. >> ResourceUtils >> >> >> >> >> checkMethodDispatcher >> >> >> >> >> WARNING: No resource methods have been found for resource class >> >> >> >> >> com.fasterxml.jackson.jaxrs.json.JacksonJsonProvider >> >> >> >> >> Nov 11, 2016 3:43:19 PM >> >> >> >> >> org.apache.openejb.server.cxf.rs.CxfRsHttpListener >> logEndpoints >> >> >> >> >> >> >> >> >> >> With 7.0.1, we see these: >> >> >> >> >> >> >> >> >> >> INFO: Using readers: >> >> >> >> >> Nov 11, 2016 3:45:53 PM >> >> >> >> >> org.apache.openejb.server.cxf.rs.CxfRsHttpListener >> >> deployApplication >> >> >> >> >> INFO: org.apache.cxf.jaxrs.provider. >> >> >> PrimitiveTextProvider@629fe84 >> >> >> >> >> Nov 11, 2016 3:45:53 PM >> >> >> >> >> org.apache.openejb.server.cxf.rs.CxfRsHttpListener >> >> deployApplication >> >> >> >> >> INFO: org.apache.cxf.jaxrs.provider. >> >> >> FormEncodingProvider@147c4523 >> >> >> >> >> Nov 11, 2016 3:45:53 PM >> >> >> >> >> org.apache.openejb.server.cxf.rs.CxfRsHttpListener >> >> deployApplication >> >> >> >> >> INFO: org.apache.cxf.jaxrs.provider. >> >> MultipartProvider@551725e4 >> >> >> >> >> Nov 11, 2016 3:45:53 PM >> >> >> >> >> org.apache.openejb.server.cxf.rs.CxfRsHttpListener >> >> deployApplication >> >> >> >> >> INFO: org.apache.cxf.jaxrs.provider. >> SourceProvider@760d6350 >> >> >> >> >> Nov 11, 2016 3:45:53 PM >> >> >> >> >> org.apache.openejb.server.cxf.rs.CxfRsHttpListener >> >> deployApplication >> >> >> >> >> INFO: org.apache.cxf.jaxrs.provider. >> >> >> JAXBElementProvider@5cb6b81b >> >> >> >> >> Nov 11, 2016 3:45:53 PM >> >> >> >> >> org.apache.openejb.server.cxf.rs.CxfRsHttpListener >> >> deployApplication >> >> >> >> >> INFO: org.apache.openejb.server.cxf.rs.CxfRSService$ >> >> >> >> >> TomEEJsonpProvider@ab2e887 >> >> >> >> >> Nov 11, 2016 3:45:53 PM >> >> >> >> >> org.apache.openejb.server.cxf.rs.CxfRsHttpListener >> >> deployApplication >> >> >> >> >> INFO: org.apache.cxf.jaxrs.provider. >> >> StringTextProvider@4daead88 >> >> >> >> >> Nov 11, 2016 3:45:53 PM >> >> >> >> >> org.apache.openejb.server.cxf.rs.CxfRsHttpListener >> >> deployApplication >> >> >> >> >> INFO: com.fasterxml.jackson.jaxrs. >> json.JacksonJsonProvider@ >> >> >> >> 6b04689e >> >> >> >> >> Nov 11, 2016 3:45:53 PM >> >> >> >> >> org.apache.openejb.server.cxf.rs.CxfRsHttpListener >> >> deployApplication >> >> >> >> >> INFO: org.apache.cxf.jaxrs.provider. >> >> BinaryDataProvider@43aa767 >> >> >> >> >> Nov 11, 2016 3:45:53 PM >> >> >> >> >> org.apache.openejb.server.cxf.rs.CxfRsHttpListener >> >> deployApplication >> >> >> >> >> INFO: org.apache.cxf.jaxrs.provider. >> >> DataSourceProvider@5b3c11ce >> >> >> >> >> Nov 11, 2016 3:45:53 PM >> >> >> >> >> org.apache.openejb.server.cxf.rs.CxfRsHttpListener >> >> deployApplication >> >> >> >> >> INFO: Using writers: >> >> >> >> >> Nov 11, 2016 3:45:53 PM >> >> >> >> >> org.apache.openejb.server.cxf.rs.CxfRsHttpListener >> >> deployApplication >> >> >> >> >> INFO: org.apache.cxf.jaxrs.provider. >> >> StringTextProvider@4daead88 >> >> >> >> >> Nov 11, 2016 3:45:53 PM >> >> >> >> >> org.apache.openejb.server.cxf.rs.CxfRsHttpListener >> >> deployApplication >> >> >> >> >> INFO: org.apache.cxf.jaxrs.provider. >> >> >> PrimitiveTextProvider@629fe84 >> >> >> >> >> Nov 11, 2016 3:45:53 PM >> >> >> >> >> org.apache.openejb.server.cxf.rs.CxfRsHttpListener >> >> deployApplication >> >> >> >> >> INFO: org.apache.cxf.jaxrs.provider. >> >> >> FormEncodingProvider@147c4523 >> >> >> >> >> Nov 11, 2016 3:45:53 PM >> >> >> >> >> org.apache.openejb.server.cxf.rs.CxfRsHttpListener >> >> deployApplication >> >> >> >> >> INFO: org.apache.cxf.jaxrs.provider. >> >> MultipartProvider@551725e4 >> >> >> >> >> Nov 11, 2016 3:45:53 PM >> >> >> >> >> org.apache.openejb.server.cxf.rs.CxfRsHttpListener >> >> deployApplication >> >> >> >> >> INFO: org.apache.cxf.jaxrs.provider. >> SourceProvider@760d6350 >> >> >> >> >> Nov 11, 2016 3:45:53 PM >> >> >> >> >> org.apache.openejb.server.cxf.rs.CxfRsHttpListener >> >> deployApplication >> >> >> >> >> INFO: org.apache.cxf.jaxrs.provider. >> >> >> JAXBElementProvider@5cb6b81b >> >> >> >> >> Nov 11, 2016 3:45:53 PM >> >> >> >> >> org.apache.openejb.server.cxf.rs.CxfRsHttpListener >> >> deployApplication >> >> >> >> >> INFO: org.apache.openejb.server.cxf.rs.CxfRSService$ >> >> >> >> >> TomEEJsonpProvider@ab2e887 >> >> >> >> >> Nov 11, 2016 3:45:53 PM >> >> >> >> >> org.apache.openejb.server.cxf.rs.CxfRsHttpListener >> >> deployApplication >> >> >> >> >> INFO: com.fasterxml.jackson.jaxrs. >> json.JacksonJsonProvider@ >> >> >> >> 6b04689e >> >> >> >> >> Nov 11, 2016 3:45:53 PM >> >> >> >> >> org.apache.openejb.server.cxf.rs.CxfRsHttpListener >> >> deployApplication >> >> >> >> >> INFO: org.apache.cxf.jaxrs.provider. >> >> BinaryDataProvider@43aa767 >> >> >> >> >> Nov 11, 2016 3:45:53 PM >> >> >> >> >> org.apache.openejb.server.cxf.rs.CxfRsHttpListener >> >> deployApplication >> >> >> >> >> INFO: org.apache.cxf.jaxrs.provider. >> >> DataSourceProvider@5b3c11ce >> >> >> >> >> Nov 11, 2016 3:45:53 PM >> >> >> >> >> org.apache.openejb.server.cxf.rs.CxfRsHttpListener >> >> deployApplication >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> This is causing problems for all of our arquillian tests: >> >> >> >> >> >> >> >> >> >> Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: >> >> 6.804 >> >> >> >> >> sec <<< FAILURE! - in com.acme.project.api.MyObjResourceITest >> >> >> >> >> testGETMyObj1(com.acme.project.api.MyObjResourceITest) Time >> >> >> elapsed: >> >> >> >> >> 0.427 sec <<< ERROR! >> >> >> >> >> javax.ws.rs.client.ResponseProcessingException: Problem with >> >> reading >> >> >> >> >> the data, class com.acme.project.domain.jaxb.MyObj, >> ContentType: >> >> >> >> >> application/json. >> >> >> >> >> at com.acme.project.api.MyObjResourceITest. >> testGETMyObj1( >> >> >> >> >> MyObjResourceITest.java) >> >> >> >> >> Caused by: org.apache.johnzon.mapper.MapperException: Unable >> to >> >> >> parse >> >> >> >> >> 1478897152352 to class java.util.Date >> >> >> >> >> at com.acme.project.api.MyObjResourceITest. >> testGETMyObj1( >> >> >> >> >> MyObjResourceITest.java) >> >> >> >> >> Caused by: org.apache.johnzon.mapper.MapperException: Unable >> to >> >> >> parse >> >> >> >> >> 1478897152352 to class java.util.Date >> >> >> >> >> at com.acme.project.api.MyObjResourceITest. >> testGETMyObj1( >> >> >> >> >> MyObjResourceITest.java) >> >> >> >> >> >> >> >> >> >> Johnzon looks cool, and we will consider it for the future, but >> >> right >> >> >> >> >> now, just need to get back to the old behavior with Jackson >> doing >> >> all >> >> >> >> >> of our transcoding. How can I get back to that behavior? We >> >> already >> >> >> >> >> have src/main/webapp/WEB-INF/openejb-jar.xml: >> >> >> >> >> >> >> >> >> >> <openejb-jar xmlns="http://www.openejb.org/openejb-jar/1.1"> >> >> >> >> >> <pojo-deployment class-name="com.acme.project.api.API"> >> >> >> >> >> <properties> >> >> >> >> >> cxf.jaxrs.skip-provider-scanning = true >> >> >> >> >> cxf.jaxrs.providers = com.fasterxml.jackson.jaxrs. >> >> >> >> >> json.JacksonJsonProvider >> >> >> >> >> </properties> >> >> >> >> >> </pojo-deployment> >> >> >> >> >> >> >> >> >> >> Thanks! >> >> >> >> >> >> >> >> >> >> >> >> >> >> >>