websockets spring: enviando uma mensagem para um usuário offline - mensagens não enfileiradas no intermediário de mensagens

Eu tenho um webapp com spring e websockets usando um intermediário de mensagens (activemq).

aqui está minha classe de configuração:

@Configuration
@EnableWebSocketMessageBroker
@EnableScheduling
public class WebSocketConfig extends AbstractWebSocketMessageBrokerConfigurer {

@Override
public void configureMessageBroker(MessageBrokerRegistry config) {
    config.enableStompBrokerRelay("/topic","/queue/");
    config.setApplicationDestinationPrefixes("/app");
 }

@Override
public void registerStompEndpoints(StompEndpointRegistry registry) {
    registry.addEndpoint("/hello").withSockJS();
 }

}

Eu tenho uma tarefa agendada que constantemente envia mensagens para o nome de usuário "StanTheMan":

@Scheduled(fixedDelay = 1000)
public void sendGreetings() {
   HelloMessage hello = new HelloMessage();
   hello.setContent("timeStamp:" + System.currentTimeMillis());
   String queueMapping = "/queue/greetings";    
   template.convertAndSendToUser(
                     "DannyD",
                     queueMapping,
                     hello);

}

Atualmente, se o usuário NÃO estiver conectado através de um soquete da web ao servidor - todas as mensagens para ele serãonão estando na fila para ele, eles simplesmentedescartado. sempre que ele se conecta - novas mensagensestão sendo enfileirado para ele. É possível "converterAndSendToUser" uma mensagem para um usuário offline de alguma forma? eu gostaria de colocar na fila as mensagens com um tempo expirado para que os usuários offline sejam empurrados posteriormente quando estiverem se conectando novamente e o tempo expirado não tiver terminado.

como posso conseguir isso? Obviamente, usando um corretor de mensagens reais (activemq) deveria ajudar a conseguir isso, mas como?

Obrigado!

questionAnswers(2)

yourAnswerToTheQuestion