/* * Created on Mar 8, 2007 */ package cyrille.jms.sibus; import java.util.Properties; import javax.jms.Connection; import javax.jms.ConnectionFactory; import javax.jms.Message; import javax.jms.MessageListener; import javax.jms.Queue; import javax.jms.Session; import javax.jms.Topic; import javax.naming.Context; import javax.naming.InitialContext; import junit.framework.TestCase; public class WebsphereMessagingEngineTest extends TestCase { protected Queue queue; protected Topic topic; protected ConnectionFactory connectionFactory; @Override protected void setUp() throws Exception { super.setUp(); // System.setProperty("com.ibm.ws.sib.client.traceSetting", // "SIBTrm=all:SIBCommunications=all"); Properties env = new Properties(); env.put(Context.PROVIDER_URL, "iiop://localhost:2809"); env.put(Context.INITIAL_CONTEXT_FACTORY, "com.ibm.websphere.naming.WsnInitialContextFactory"); env.put("java.naming.corba.orb", org.omg.CORBA.ORB.init((String[]) null, null)); InitialContext ctx = new InitialContext(env); this.connectionFactory = (ConnectionFactory) ctx.lookup("jms/my-connection-factory"); this.queue = (Queue) ctx.lookup("jms/my-queue"); this.topic = (Topic) ctx.lookup("jms/my-topic"); } public void testSendAndReceive() throws Exception { Connection connection = this.connectionFactory.createConnection(); connection.start(); { Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); session.createConsumer(this.queue).setMessageListener(new MessageListener() { public void onMessage(Message message) { System.err.println("Receive queue message " + message); } }); session.createConsumer(this.topic).setMessageListener(new MessageListener() { public void onMessage(Message message) { System.err.println("Receive topic message " + message); } }); } { Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); session.createProducer(this.queue).send(session.createTextMessage("hello queue")); session.createProducer(this.topic).send(session.createTextMessage("hello topic")); session.close(); } Thread.sleep(3 * 1000); System.out.println("Send completed"); } public void testReceive() throws Exception { Connection connection = this.connectionFactory.createConnection(); connection.start(); { Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); session.createConsumer(this.queue).setMessageListener(new MessageListener() { public void onMessage(Message message) { System.err.println("Receive queue message " + message); } }); } { Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); session.createConsumer(this.topic).setMessageListener(new MessageListener() { public void onMessage(Message message) { System.err.println("Receive topic message " + message); } }); } Thread.sleep(10 * 1000); System.out.println("Receive completed"); } }