Рубрики
Без рубрики

Незаконно вводить тело сообщения в синглтон в общедоступную организацию.codehaus.джексон, джаксрс. Поставщик Jacksonjson

– Незаконно вводить тело сообщения в синглтон в общедоступную организацию.codehaus.джексон, джаксрс. Поставщик Jacksonjson

Проблема

Использование Джексона в качестве поставщика JSON в RESTEasy .

	
		org.jboss.resteasy
		resteasy-jaxrs
		2.2.1.GA
	

	
		org.jboss.resteasy
		resteasy-jackson-provider
		2.2.1.GA
	

С включенным автоматическим сканированием RESTEasy.

	
		resteasy.scan
		true
	

При запуске он обнаруживает следующие ошибки и не смог запустить ни одну из служб RESTEasy.

SEVERE: Exception sending context initialized event to listener instance of class 
	org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap
java.lang.RuntimeException: Unable to instantiate MessageBodyReader
	at org.jboss.resteasy.spi.ResteasyDeployment.registerProvider(ResteasyDeployment.java:505)
	at org.jboss.resteasy.spi.ResteasyDeployment.registration(ResteasyDeployment.java:305)
	at org.jboss.resteasy.spi.ResteasyDeployment.start(ResteasyDeployment.java:225)
	//...
Caused by: java.lang.RuntimeException: 
        Illegal to inject a message body into a singleton into public
	org.codehaus.jackson.jaxrs.JacksonJsonProvider(
	org.codehaus.jackson.map.ObjectMapper,org.codehaus.jackson.jaxrs.Annotations[])
	... 20 more

Решение

Существует проблема с интеграцией RESTEasy с Jackson, если включен режим ” автоматическое сканирование “. Надеюсь, это будет исправлено в более позднем выпуске.

Чтобы исправить это, отключите функцию автоматического сканирования и зарегистрируйте свою службу RESTEasy вручную в web.xml .

	
	
		resteasy.resources
		com.mkyong.JacksonRestServiceHere
	

Оригинал: “https://mkyong.com/webservices/jax-rs/illegal-to-inject-a-message-body-into-a-singleton-into-public-org-codehaus-jackson-jaxrs-jacksonjsonprovider/”