Здравствуйте, пишу небольшое приложение со spring webSockets.
отправляю запрос с клиента.
1.
2.
3.
function sendTestFolder() {
stompClient.send("/app/logFolder", {}, 'LOGSVIEWER');
}
Принимаю (Если параметр изменить просто на String, то все парсится отлично)
1.
2.
3.
4.
5.
6.
@MessageMapping("/logFolder")
@SendTo("/topic/logging")
public List<Log> logFolder(Folder folder) throws Exception {
log.info("Folder: " + folder.getValue());
return logsViewerService.getLogsFromFolder(folder.getValue());
}
Получаю
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
2015-02-28 10:40:06,443 [ERROR][InboundChannel-2][mpAnnotationMethodMessageHandler] - Unhandled exception
org.springframework.messaging.converter.MessageConversionException: Could not read JSON: Unrecognized token 'LOGSVIEWER': was expecting ('true', 'false' or 'null')
at [Source: [B@7890a966; line: 1, column: 21]; nested exception is com.fasterxml.jackson.core.JsonParseException: Unrecognized token 'LOGSVIEWER': was expecting ('true', 'false' or 'null')
at [Source: [B@7890a966; line: 1, column: 21]
at org.springframework.messaging.converter.MappingJackson2MessageConverter.convertFromInternal(MappingJackson2MessageConverter.java:186) ~[spring-messaging-4.1.3.RELEASE.jar:4.1.3.RELEASE]
at org.springframework.messaging.converter.AbstractMessageConverter.fromMessage(AbstractMessageConverter.java:182) ~[spring-messaging-4.1.3.RELEASE.jar:4.1.3.RELEASE]
at org.springframework.messaging.converter.CompositeMessageConverter.fromMessage(CompositeMessageConverter.java:55) ~[spring-messaging-4.1.3.RELEASE.jar:4.1.3.RELEASE]
at org.springframework.messaging.handler.annotation.support.PayloadArgumentResolver.resolveArgument(PayloadArgumentResolver.java:98) ~[spring-messaging-4.1.3.RELEASE.jar:4.1.3.RELEASE]
at org.springframework.messaging.handler.invocation.HandlerMethodArgumentResolverComposite.resolveArgument(HandlerMethodArgumentResolverComposite.java:77) ~[spring-messaging-4.1.3.RELEASE.jar:4.1.3.RELEASE]
at org.springframework.messaging.handler.invocation.InvocableHandlerMethod.getMethodArgumentValues(InvocableHandlerMethod.java:127) ~[spring-messaging-4.1.3.RELEASE.jar:4.1.3.RELEASE]
at org.springframework.messaging.handler.invocation.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:100) ~[spring-messaging-4.1.3.RELEASE.jar:4.1.3.RELEASE]
at org.springframework.messaging.handler.invocation.AbstractMethodMessageHandler.handleMatch(AbstractMethodMessageHandler.java:452) [spring-messaging-4.1.3.RELEASE.jar:4.1.3.RELEASE]
at org.springframework.messaging.simp.annotation.support.SimpAnnotationMethodMessageHandler.handleMatch(SimpAnnotationMethodMessageHandler.java:448) [spring-messaging-4.1.3.RELEASE.jar:4.1.3.RELEASE]
at org.springframework.messaging.simp.annotation.support.SimpAnnotationMethodMessageHandler.handleMatch(SimpAnnotationMethodMessageHandler.java:83) [spring-messaging-4.1.3.RELEASE.jar:4.1.3.RELEASE]
at org.springframework.messaging.handler.invocation.AbstractMethodMessageHandler.handleMessageInternal(AbstractMethodMessageHandler.java:413) [spring-messaging-4.1.3.RELEASE.jar:4.1.3.RELEASE]
at org.springframework.messaging.handler.invocation.AbstractMethodMessageHandler.handleMessage(AbstractMethodMessageHandler.java:351) [spring-messaging-4.1.3.RELEASE.jar:4.1.3.RELEASE]
at org.springframework.messaging.support.ExecutorSubscribableChannel$SendTask.run(ExecutorSubscribableChannel.java:135) [spring-messaging-4.1.3.RELEASE.jar:4.1.3.RELEASE]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [na:1.7.0_72]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [na:1.7.0_72]
at java.lang.Thread.run(Thread.java:745) [na:1.7.0_72]
Caused by: com.fasterxml.jackson.core.JsonParseException: Unrecognized token 'LOGSVIEWER': was expecting ('true', 'false' or 'null')
at [Source: [B@7890a966; line: 1, column: 21]
at com.fasterxml.jackson.core.JsonParser._constructError(JsonParser.java:1419) ~[jackson-core-2.4.4.jar:2.4.4]
at com.fasterxml.jackson.core.base.ParserMinimalBase._reportError(ParserMinimalBase.java:508) ~[jackson-core-2.4.4.jar:2.4.4]
at com.fasterxml.jackson.core.json.UTF8StreamJsonParser._reportInvalidToken(UTF8StreamJsonParser.java:3201) ~[jackson-core-2.4.4.jar:2.4.4]
at com.fasterxml.jackson.core.json.UTF8StreamJsonParser._handleUnexpectedValue(UTF8StreamJsonParser.java:2360) ~[jackson-core-2.4.4.jar:2.4.4]
at com.fasterxml.jackson.core.json.UTF8StreamJsonParser._nextTokenNotInObject(UTF8StreamJsonParser.java:794) ~[jackson-core-2.4.4.jar:2.4.4]
at com.fasterxml.jackson.core.json.UTF8StreamJsonParser.nextToken(UTF8StreamJsonParser.java:690) ~[jackson-core-2.4.4.jar:2.4.4]
at com.fasterxml.jackson.databind.ObjectMapper._initForReading(ObjectMapper.java:3105) ~[jackson-databind-2.4.4.jar:2.4.4]
at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:3051) ~[jackson-databind-2.4.4.jar:2.4.4]
at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:2262) ~[jackson-databind-2.4.4.jar:2.4.4]
at org.springframework.messaging.converter.MappingJackson2MessageConverter.convertFromInternal(MappingJackson2MessageConverter.java:179) ~[spring-messaging-4.1.3.RELEASE.jar:4.1.3.RELEASE]
... 15 common frames omitted
enum
1.
2.
3.
4.
5.
6.
7.
@RequiredArgsConstructor
public enum Folder {
NGINX("NGINX"), LOGSVIEWER("LOGSVIEWER"), TEST("D:\\MyTemp\\logs");
@Getter
private final String value;
};
Спасибо за подсказки.