package org.apache.activemq.book.ch8.jms.web.controller;
import org.apache.activemq.book.ch8.jms.domain.JmsMessage;
import org.apache.activemq.book.ch8.jms.service.JmsMessageSenderService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.support.SessionStatus;
/**
* @author bsnyder
*
*/
@Controller
@RequestMapping("/send.html")
public class JmsMessageSenderController {
@Autowired
private JmsMessageSenderService messageSenderService;
@RequestMapping(method = RequestMethod.GET)
public String setupForm(ModelMap model) {
model.addAttribute("jmsMessageBean", new JmsMessage());
model.remove("successfulSend");
return "send";
}
@RequestMapping(method = RequestMethod.POST)
public String onSubmit(
@ModelAttribute("jmsMessageBean") JmsMessage jmsMessageBean,
BindingResult result,
SessionStatus status,
ModelMap model)
throws Exception {
messageSenderService.sendMessage(jmsMessageBean);
model.addAttribute("successfulSend", "The message was sent successfully");
model.addAttribute("jmsMessageBean", new JmsMessage());
status.setComplete();
return "send";
}
public void setMessageSender(JmsMessageSenderService messageSender) {
this.messageSenderService = messageSender;
}
}