Spring アプリケーションを Pivotal Web Services にアップロードすると、次の 2 つのエラーが発生します。
ERR Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate
[org.springframework.http.converter.json.MappingJackson2HttpMessageConverter]: Factory
method 'jacksonHttpMessageConverter' threw exception; nested exception is
org.springframework.beans.factory.BeanCreationException: Error creating bean with name
'objectMapper' defined in class path resource
[io/app/config/AppRestMvcConfiguration.class]: Bean instantiation via factory method
failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to
instantiate [com.fasterxml.jackson.databind.ObjectMapper]: Factory method 'objectMapper'
threw exception; nested exception is java.lang.NullPointerException
と
Failed to instantiate [org.springframework.http.converter.json.MappingJackson2HttpMessageCo
nverter]: Factory method 'halJacksonHttpMessageConverter' threw exception; nested
exception is org.springframework.beans.factory.BeanCreationException: Error creating bean
with name 'halObjectMapper' defined in class path resource [io/papped/config/PappedRestMvcC
onfiguration.class]: Bean instantiation via factory method failed; nested exception is
org.springframework.beans.BeanInstantiationException: Failed to instantiate
[com.fasterxml.jackson.databind.ObjectMapper]: Factory method 'halObjectMapper' threw
exception; nested exception is java.lang.NullPointerException
したがって、基本的に、構成クラスで objectMapper と halObjectMapper を初期化できません (これらはSpringBootRepositoryRestMvcConfiguration
クラスで事前定義されています)。これらのエラーは、アプリを自分のコンピューターでローカルに実行すると発生しません。
構成クラスを削除しようとしましたが、それでもエラーが発生します。次のコードを使用して、objectMapper/halObjectMapper を手動でインスタンス化しようとしました。
private final static ObjectMapper mapper = new ObjectMapper();
@Bean
@Primary
public com.fasterxml.jackson.databind.ObjectMapper objectMapper() {
return mapper;
}
@Bean
@Primary
public ObjectMapper halObjectMapper() {
return mapper;
}
これにより、重要な Web サービスで実行されますが、MongoRepository にアクセスしようとするとスタック オーバーフロー エラーが発生します (モデルに循環参照はありません)。
これはどのように解決できますか?