<prompt> Tekeleza programu rahisi ya gumzo kwa kutumia Java na WebSockets. Programu inapaswa kuruhusu watumiaji wengi kujiunga na chumba cha gumzo, kutuma ujumbe na kuona ujumbe kutoka kwa watumiaji wengine kwa wakati halisi. Zaidi ya hayo, tekeleza uthibitishaji wa mtumiaji kwa kutumia tokeni za JWT na uhifadhi kitambulisho cha mtumiaji katika hifadhidata ya MariaDB.PLINFORMAT  <response>: javaagiza org.springframework.context.annotation.Configuration;agiza org.springframework.messaging.simp.config.MessageBrokerRegistry;agiza org.springframework.web.socket.config.annotation.AbstractWebSocketMessageBrokerConfigurer;agiza org.springframework.web.socket.config.annotation.EnableWebSocketMessageBroker;agiza org.springframework.web.socket.config.annotation.StompEndpointRegistry;UsanidiWezeshaWebSocketMessageBrokerdarasa la umma la WebSocketConfig huongeza AbstractWebSocketMessageBrokerConfigurer Batilisha usanidi utupu wa ummausanidi wa Usajili wa MessageBroker config.enableSimpleBrokermada; config.setApplicationDestinationPrefixesapp; Batilisha rejista ya utupu ya ummaStompEndpointsStompEndpointRegistry Registry registry.addEndpointchat.withSockJS; Madarasa ya JwtAuthenticationFilter na JwtTokenUtil yanapaswa kutekelezwa hapaagiza org.springframework.messaging.handler.annotation.MessageMapping;agiza org.springframework.messaging.handler.annotation.SendTo;agiza org.springframework.messaging.simp.SimpMessageHeaderAccessor;import org.springframework.stereotype.Controller;agiza org.springframework.web.bind.annotation.Payload;MdhibitiChatController ya darasa la umma MessageMappingchat.sendMessage TumaKwamadaumma gumzo la gumzo la ummaPayload ChatMessage chatMessage rudisha chatMessage; MessageMappingchat.addUser TumaKwamadaumma ChatMessage ya umma addUserPayload ChatMessage chatMessage, SimpMessageHeaderAccessor headerAccessor headerAccessor.getSessionAttributes.wekajina la mtumiaji, chatMessage.getSender; rudisha chatMessage; 