Аннотация Lombok не работает с WebsocketJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Аннотация Lombok не работает с Websocket

Сообщение Anonymous »

Я работаю над приложением чата, используя Springboot (WebSocket) в серверной части.
Я посмотрел видео на YouTube о том, как его создать, и это тот же код, который показал YouTuber. Однако когда я запускаю приложение, возникает ошибка из-за Lombok. Это было удивительно, поскольку я использовал Lombok в других проектах, и он работает нормально.
Класс WebSocketEventListner:

Код: Выделить всё

@Component
@RequiredArgsConstructor
@Slf4j
public class WebSocketEventListener {

private final SimpMessageSendingOperations messagingTemplate;

@EventListener
public void handleWebSocketConnectListener(SessionDisconnectEvent event) {

StompHeaderAccessor headerAccessor = StompHeaderAccessor.wrap(event.getMessage());
String username = (String) headerAccessor.getSessionAttributes().get("username");

if (username != null) {
log.info("User disconnected: {}", username);
var chatMessage = ChatMessage.builder()
.type(MessageType.LEAVE)
.sender(username)
.build();
messagingTemplate.convertAndSend("/topic/public", chatMessage);
}

}

}
Класс WebSocketConfig:

Код: Выделить всё

@Configuration
@EnableWebSocketMessageBroker
public class WebSocketConfig implements WebSocketMessageBrokerConfigurer {

@Override
public void configureMessageBroker(MessageBrokerRegistry registry) {

registry.setApplicationDestinationPrefixes("/app");
registry.enableSimpleBroker("/topic");

}

@Override
public void registerStompEndpoints(StompEndpointRegistry registry) {
registry.addEndpoint("/ws").setAllowedOrigins("*").withSockJS();

}
}
Класс ChatMessage:

Код: Выделить всё

@Getter
@Setter
@Builder
public class ChatMessage {
private String content;
private String sender;
private MessageType type;
}
Класс ChatController:

Код: Выделить всё

@Controller
public class ChatController {

@MessageMapping("/chat.sendMessage")
@SendTo("/topic/public")
public ChatMessage sendMessage(@Payload ChatMessage chatMessage) {
return chatMessage;
}

@MessageMapping("/chat.addUser")
@SendTo("/topic/public")
public ChatMessage addUser(@Payload ChatMessage chatMessage, SimpMessageHeaderAccessor headerAccessor) {
headerAccessor.getSessionAttributes().put("username", chatMessage.getSender());
return chatMessage;
}

}
файл pom.xml:

Код: Выделить всё

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0

org.springframework.boot
spring-boot-starter-parent
3.4.0
  

com.prodigy
server
0.0.1-SNAPSHOT
server
server














17



org.springframework.boot
spring-boot-starter-web


org.springframework.boot
spring-boot-starter-websocket



org.projectlombok
lombok
true


org.springframework.boot
spring-boot-starter-test
test






org.apache.maven.plugins
maven-compiler-plugin



org.projectlombok
lombok





org.springframework.boot
spring-boot-maven-plugin



org.projectlombok
lombok








Я пробовал разные версии Lombok, и ничего не помогло.
Я пересобрал проект с другой версией Java, но ничего не получилось.
Я включил обработку аннотаций в IntelliJ .


Подробнее здесь: https://stackoverflow.com/questions/792 ... -websocket
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»