Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

convert exception for all of three serizlizer of JACKSON with mysql and axonserver se #87

Open
sleevefone opened this issue Oct 11, 2021 · 1 comment

Comments

@sleevefone
Copy link

1: config:

spring.flyway.enabled=false
spring.datasource.url=jdbc:mysql://localhost:3306/booking
spring.datasource.username=root
spring.datasource.password=12345678
spring.datasource.driverClassName=com.mysql.cj.jdbc.Driver
spring.jpa.hibernate.ddl-auto=update
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL8Dialect
axon.serializer.general=JACKSON
axon.serializer.events=JACKSON
axon.serializer.messages=JACKSON

2: register account
3: curl -X GET -H "Accept:/" -H "Content-Type:application/x-www-form-urlencoded" "http://localhost:8080/accounts"
4: exception:

java.lang.IllegalArgumentException: Retrieved response [class java.util.ArrayList] is not convertible to a List of the expected response type [class io.axoniq.demo.hotel.booking.query.api.AccountResponseData]
at org.axonframework.messaging.responsetypes.MultipleInstancesResponseType.convert(MultipleInstancesResponseType.java:113) ~[axon-messaging-4.5.4.jar:4.5.4]
Suppressed: reactor.core.publisher.FluxOnAssembly$OnAssemblyException:
Assembly trace from producer [reactor.core.publisher.FluxFilterFuseable] :
reactor.core.publisher.Flux.filter(Flux.java:5063)
org.axonframework.extensions.reactor.queryhandling.gateway.DefaultReactorQueryGateway.getPayload(DefaultReactorQueryGateway.java:206)
Error has been observed at the following site(s):
|_ Flux.filter ⇢ at org.axonframework.extensions.reactor.queryhandling.gateway.DefaultReactorQueryGateway.getPayload(DefaultReactorQueryGateway.java:206)
|_ Flux.map ⇢ at org.axonframework.extensions.reactor.queryhandling.gateway.DefaultReactorQueryGateway.getPayload(DefaultReactorQueryGateway.java:207)
|_ Flux.transform ⇢ at org.axonframework.extensions.reactor.queryhandling.gateway.DefaultReactorQueryGateway.query(DefaultReactorQueryGateway.java:91)
|_ Flux.next ⇢ at org.axonframework.extensions.reactor.queryhandling.gateway.DefaultReactorQueryGateway.query(DefaultReactorQueryGateway.java:92)
|_ checkpoint ⇢ checkBugWithCheckPoint2
|_ Mono.map ⇢ at org.springframework.http.codec.json.AbstractJackson2Encoder.encode(AbstractJackson2Encoder.java:150)
|_ Mono.flux ⇢ at org.springframework.http.codec.json.AbstractJackson2Encoder.encode(AbstractJackson2Encoder.java:151)
|_ Flux.singleOrEmpty ⇢ at org.springframework.http.codec.EncoderHttpMessageWriter.write(EncoderHttpMessageWriter.java:129)
|_ Mono.switchIfEmpty ⇢ at org.springframework.http.codec.EncoderHttpMessageWriter.write(EncoderHttpMessageWriter.java:130)
|_ Mono.flatMap ⇢ at org.springframework.http.codec.EncoderHttpMessageWriter.write(EncoderHttpMessageWriter.java:134)
|_ checkpoint ⇢ Handler io.axoniq.demo.hotel.booking.query.web.rest.AccountQueryController#all() [DispatcherHandler]
|_ Mono.flatMap ⇢ at org.springframework.web.reactive.DispatcherHandler.lambda$handleResult$5(DispatcherHandler.java:182)
|_ Mono.onErrorResume ⇢ at org.springframework.web.reactive.DispatcherHandler.handleResult(DispatcherHandler.java:181)
|_ checkpoint ⇢ springfox.boot.starter.autoconfigure.SwaggerUiWebFluxConfiguration$CustomWebFilter [DefaultWebFilterChain]
|_ checkpoint ⇢ org.springframework.web.cors.reactive.CorsWebFilter [DefaultWebFilterChain]
|_ checkpoint ⇢ org.springframework.boot.actuate.metrics.web.reactive.server.MetricsWebFilter [DefaultWebFilterChain]
|_ checkpoint ⇢ io.opentracing.contrib.spring.web.webfilter.TracingWebFilter [DefaultWebFilterChain]
|_ Mono.error ⇢ at org.springframework.web.server.handler.ExceptionHandlingWebHandler$CheckpointInsertingHandler.handle(ExceptionHandlingWebHandler.java:98)
|_ checkpoint ⇢ HTTP GET "/accounts" [ExceptionHandlingWebHandler]
Stack trace:
...

located: org.axonframework.messaging.responsetypes.MultipleInstancesResponseType#convert response

because the parameter "response" is "ArrayList" , not expectedReponseType "io.axoniq.demo.hotel.booking.query.api.AccountResponseData"

@sleevefone
Copy link
Author

changing config
"""
axon.serializer.general=JACKSON
axon.serializer.events=JACKSON
axon.serializer.messages=JACKSON
"""
to
"""
axon.serializer.events=JACKSON
"""
is successful

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant