IndexProducer.java |
1 /** 2 * Copyright (c) 2000-2007 Liferay, Inc. All rights reserved. 3 * 4 * Permission is hereby granted, free of charge, to any person obtaining a copy 5 * of this software and associated documentation files (the "Software"), to deal 6 * in the Software without restriction, including without limitation the rights 7 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 * copies of the Software, and to permit persons to whom the Software is 9 * furnished to do so, subject to the following conditions: 10 * 11 * The above copyright notice and this permission notice shall be included in 12 * all copies or substantial portions of the Software. 13 * 14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 20 * SOFTWARE. 21 */ 22 23 package com.liferay.portlet.messageboards.service.jms; 24 25 import com.liferay.portal.SystemException; 26 import com.liferay.util.JMSUtil; 27 28 import java.io.Serializable; 29 30 import javax.jms.JMSException; 31 import javax.jms.ObjectMessage; 32 import javax.jms.Queue; 33 import javax.jms.QueueConnection; 34 import javax.jms.QueueConnectionFactory; 35 import javax.jms.QueueSender; 36 import javax.jms.QueueSession; 37 38 /** 39 * <a href="IndexProducer.java.html"><b><i>View Source</i></b></a> 40 * 41 * @author Brian Wing Shun Chan 42 * 43 */ 44 public class IndexProducer { 45 46 static { 47 IndexConsumer consumer = new IndexConsumer(); 48 49 consumer.consume(); 50 } 51 52 public static void produce(Serializable obj) throws SystemException { 53 QueueConnection con = null; 54 QueueSession session = null; 55 QueueSender sender = null; 56 57 try { 58 QueueConnectionFactory qcf = IndexQCFUtil.getQCF(); 59 Queue queue = IndexQueueUtil.getQueue(); 60 61 con = qcf.createQueueConnection(); 62 session = con.createQueueSession( 63 false, QueueSession.AUTO_ACKNOWLEDGE); 64 sender = session.createSender(queue); 65 66 ObjectMessage objMsg = session.createObjectMessage(); 67 68 objMsg.setObject(obj); 69 70 sender.send(objMsg); 71 } 72 catch (JMSException jmse) { 73 throw new SystemException(jmse); 74 } 75 finally { 76 JMSUtil.cleanUp(con, session, sender); 77 } 78 } 79 80 }