--- miscJava/Test3/src/dk/thoerup/messagedriven/ProducerServlet.java 2011/04/06 21:41:41 1271 +++ miscJava/Test3/src/dk/thoerup/messagedriven/ProducerServlet.java 2011/04/07 17:31:04 1274 @@ -2,13 +2,13 @@ import java.io.IOException; +import javax.annotation.Resource; import javax.jms.Connection; import javax.jms.ConnectionFactory; import javax.jms.MessageProducer; import javax.jms.Queue; import javax.jms.Session; import javax.jms.TextMessage; -import javax.naming.InitialContext; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; @@ -20,32 +20,39 @@ public class ProducerServlet extends HttpServlet { private static final long serialVersionUID = 1L; - /** - * @see HttpServlet#HttpServlet() - */ - public ProducerServlet() { - super(); - // TODO Auto-generated constructor stub - } - /* why doesn't these work ?? + // resource mapped vars may of course not be static ! @Resource(mappedName = "jms/helloFactory") - private static ConnectionFactory connectionFactory; + private ConnectionFactory connectionFactory; @Resource(mappedName = "jms/hello") - private static Queue queue; - */ + private Queue queue; + + @Override + public void init() throws ServletException { + /* + try { + InitialContext ic = new InitialContext(); + if (connectionFactory == null) { + connectionFactory = (ConnectionFactory)ic.lookup("jms/helloFactory"); + System.out.println("@Resource failed for connection factory"); + } + if (queue == null) { + queue = (Queue)ic.lookup("jms/hello"); + System.out.println("@Resource failed for queue"); + } + } catch(NamingException ne) { + throw new ServletException(ne); + }*/ + } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { try { - InitialContext ic = new InitialContext(); - ConnectionFactory cf = (ConnectionFactory)ic.lookup("jms/helloFactory"); - Connection connection = cf.createConnection(); - Queue queue = (Queue)ic.lookup("jms/hello"); + + Connection connection = connectionFactory.createConnection(); - //Connection connection = connectionFactory.createConnection(); Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); MessageProducer producer = session.createProducer(queue); @@ -55,7 +62,7 @@ producer.send(message); response.getWriter().print("Message sent" ); } catch (Exception e) { - response.getWriter().print("Error:" + e.getMessage() ); + throw new ServletException(e); } }