-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Closed as not planned
Labels
status: invalidAn issue that we don't feel is validAn issue that we don't feel is valid
Description
Everything works well when i run the application normally but im receiving error when running the application in native.
The project is simple contains just one DummyModel
public class DummyModel {
private String name;
public DummyModel() {}
public DummyModel(String name) {this.name = name;}
public String getName() {return name;}
public void setName(String name) {this.name = name;}
}
Template Configuration
@Configuration
public class RedisConfiguration {
@Bean
public ReactiveRedisTemplate<String, DummyModel> template(ReactiveRedisConnectionFactory factory) {
StringRedisSerializer keySerializer = new StringRedisSerializer();
Jackson2JsonRedisSerializer<DummyModel> valueSerializer = new Jackson2JsonRedisSerializer<>( DummyModel.class);
RedisSerializationContext.RedisSerializationContextBuilder<String, DummyModel> builder = RedisSerializationContext.newSerializationContext(keySerializer);
RedisSerializationContext<String, DummyModel> context = builder.value(valueSerializer).build();
return new ReactiveRedisTemplate<>(factory, context);
}
}
And the Repository:
@Component
public class DummyRedisRepository {
@Autowired
ReactiveRedisTemplate<String, DummyModel> template;
public Mono<DummyModel> save(DummyModel dummyModel) {
return template.opsForValue().set(dummyModel.getName(), dummyModel)
.filter(aBoolean -> aBoolean)
.map(aBoolean -> dummyModel);
}}
Whenever i try to save an object i get the following serialisation problem:
reactor.core.Exceptions$ErrorCallbackNotImplemented: org.springframework.data.redis.serializer.SerializationException: Could not write JSON: No serializer found for class com.example.demo.data.model.DummyModel and no properties discovered to create BeanSerializer (to avoid exception, disable SerializationFeature.FAIL_ON_EMPTY_BEANS). This appears to be a native image, in which case you may need to configure reflection for the class that is to be serialized
Caused by: org.springframework.data.redis.serializer.SerializationException: Could not write JSON: No serializer found for class com.example.demo.data.model.DummyModel and no properties discovered to create BeanSerializer (to avoid exception, disable SerializationFeature.FAIL_ON_EMPTY_BEANS). This appears to be a native image, in which case you may need to configure reflection for the class that is to be serialized
at org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer.serialize(Jackson2JsonRedisSerializer.java:151) ~[na:na]
at org.springframework.data.redis.serializer.DefaultRedisElementWriter.write(DefaultRedisElementWriter.java:41) ~[na:na]
at org.springframework.data.redis.serializer.RedisSerializationContext$SerializationPair.write(RedisSerializationContext.java:287) ~[demo:3.0.5-SNAPSHOT]
at org.springframework.data.redis.core.DefaultReactiveValueOperations.rawValue(DefaultReactiveValueOperations.java:317) ~[na:na]
at org.springframework.data.redis.core.DefaultReactiveValueOperations.lambda$set$0(DefaultReactiveValueOperations.java:63) ~[na:na]
at org.springframework.data.redis.core.DefaultReactiveValueOperations.lambda$createMono$34(DefaultReactiveValueOperations.java:309) ~[na:na]
at org.springframework.data.redis.core.ReactiveRedisTemplate.lambda$doInConnection$1(ReactiveRedisTemplate.java:244) ~[demo:3.0.5-SNAPSHOT]
at reactor.core.publisher.FluxUsingWhen.deriveFluxFromResource(FluxUsingWhen.java:120) ~[demo:3.5.5]
at reactor.core.publisher.FluxUsingWhen.subscribe(FluxUsingWhen.java:86) ~[demo:3.5.5]
at reactor.core.publisher.Mono.subscribe(Mono.java:4485) ~[demo:3.5.5]
at reactor.core.publisher.Mono.subscribeWith(Mono.java:4551) ~[demo:3.5.5]
at reactor.core.publisher.Mono.subscribe(Mono.java:4452) ~[demo:3.5.5]
at reactor.core.publisher.Mono.subscribe(Mono.java:4388) ~[demo:3.5.5]
at reactor.core.publisher.Mono.subscribe(Mono.java:4335) ~[demo:3.5.5]
at com.example.demo.DemoApplication.run(DemoApplication.java:28) ~[demo:na]
at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:769) ~[demo:3.0.6-SNAPSHOT]
at org.springframework.boot.SpringApplication.callRunners(SpringApplication.java:753) ~[demo:3.0.6-SNAPSHOT]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:317) ~[demo:3.0.6-SNAPSHOT]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1304) ~[demo:3.0.6-SNAPSHOT]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1293) ~[demo:3.0.6-SNAPSHOT]
at com.example.demo.DemoApplication.main(DemoApplication.java:22) ~[demo:na]
Caused by: com.fasterxml.jackson.databind.exc.InvalidDefinitionException: No serializer found for class com.example.demo.data.model.DummyModel and no properties discovered to create BeanSerializer (to avoid exception, disable SerializationFeature.FAIL_ON_EMPTY_BEANS). This appears to be a native image, in which case you may need to configure reflection for the class that is to be serialized
at com.fasterxml.jackson.databind.SerializerProvider.reportBadDefinition(SerializerProvider.java:1306) ~[demo:2.14.2]
at com.fasterxml.jackson.databind.DatabindContext.reportBadDefinition(DatabindContext.java:408) ~[demo:2.14.2]
at com.fasterxml.jackson.databind.ser.impl.UnknownSerializer.failForEmpty(UnknownSerializer.java:49) ~[na:na]
at com.fasterxml.jackson.databind.ser.impl.UnknownSerializer.serialize(UnknownSerializer.java:30) ~[na:na]
at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider._serialize(DefaultSerializerProvider.java:480) ~[demo:2.14.2]
at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue(DefaultSerializerProvider.java:319) ~[demo:2.14.2]
at com.fasterxml.jackson.databind.ObjectMapper._writeValueAndClose(ObjectMapper.java:4624) ~[demo:2.14.2]
at com.fasterxml.jackson.databind.ObjectMapper.writeValueAsBytes(ObjectMapper.java:3892) ~[demo:2.14.2]
at org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer.serialize(Jackson2JsonRedisSerializer.java:149) ~[na:na]
... 20 common frames omitted
```
`
Metadata
Metadata
Assignees
Labels
status: invalidAn issue that we don't feel is validAn issue that we don't feel is valid