User: peter
Date: 01/03/01 19:11:28
Added: src/main/org/jboss/test/cts/jms ContainerMBox.java
MsgSender.java
Log:
Added tests for section 9.3.2 covering container
class implementation obligations.
Revision Changes Path
1.1 jbosstest/src/main/org/jboss/test/cts/jms/ContainerMBox.java
Index: ContainerMBox.java
===================================================================
package org.jboss.test.cts.jms;
import java.io.*;
import java.util.*;
import java.util.Date;
import javax.naming.*;
import javax.jms.*;
public class ContainerMBox
implements MessageListener
{
public final static String JMS_FACTORY="QueueConnectionFactory";
public final static String QUEUE="queue/testQueue";
private QueueConnectionFactory qconFactory;
private QueueConnection qcon;
private QueueSession qsession;
private QueueReceiver qreceiver;
private TextMessage msg;
private Queue queue;
public static final String EJB_CREATE_MSG = "EJB_CREATE_MSG";
public static final String EJB_POST_CREATE_MSG = "EJB_POST_CREATE_MSG";
public static final String EJB_ACTIVATE_MSG = "EJB_ACTIVATE_MSG";
public static final String EJB_PASSIVATE_MSG = "EJB_PASSIVATE_MSG";
public static final String EJB_REMOVE_MSG = "EJB_REMOVE_MSG";
public static final String EJB_LOAD_MSG = "EJB_LOAD_MSG";
public static final String EJB_STORE_MSG = "EJB_STORE_MSG";
public static final String SET_ENTITY_CONTEXT_MSG = "SET_ENTITY_CONTEXT_MSG";
public static final String UNSET_ENTITY_CONTEXT_MSG = "UNSET_ENTITY_CONTEXT_MSG";
private HashMap messageList = new HashMap( );
public ContainerMBox ( )
{
try
{
init( new InitialContext(), QUEUE );
}
catch(Exception ex)
{
ex.printStackTrace();
}
}
// MessageListener interface
public void onMessage(Message msg)
{
try
{
String msgText;
if (msg instanceof TextMessage)
{
msgText = ((TextMessage)msg).getText();
}
else
{
msgText = msg.toString();
}
System.out.println("[BEAN MESSAGE]: "+ msgText );
messageList.put(msgText, "msg" );
}
catch (JMSException jmse)
{
jmse.printStackTrace();
}
}
/**
* Create all the necessary objects for receiving
* messages from a JMS queue.
*/
public void init(Context ctx, String queueName)
throws NamingException, JMSException
{
qconFactory = (QueueConnectionFactory) ctx.lookup(JMS_FACTORY);
qcon = qconFactory.createQueueConnection();
qsession = qcon.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
try
{
queue = (Queue) ctx.lookup(queueName);
}
catch (NamingException ne)
{
queue = qsession.createQueue(queueName);
ctx.bind(queueName, queue);
}
qreceiver = qsession.createReceiver(queue);
qreceiver.setMessageListener(this);
qcon.start();
}
/**
* Close JMS objects.
*/
public void close()
throws JMSException
{
qreceiver.close();
qsession.close();
qcon.close();
}
public boolean messageReceived( String message )
{
return messageList.containsKey(message);
}
public void clearMessages( )
{
messageList = null;
messageList = new HashMap();
}
private static InitialContext getInitialContext(String url)
throws NamingException
{
//Hashtable env = new Hashtable();
//env.put(Context.INITIAL_CONTEXT_FACTORY, JNDI_FACTORY);
//env.put(Context.PROVIDER_URL, url);
//return new InitialContext(env);
return new InitialContext();
}
}
1.1 jbosstest/src/main/org/jboss/test/cts/jms/MsgSender.java
Index: MsgSender.java
===================================================================
package org.jboss.test.cts.jms;
import java.io.*;
import java.util.*;
import java.util.Date;
import javax.naming.*;
import javax.jms.*;
public class MsgSender
{
public final static String JMS_FACTORY="QueueConnectionFactory";
public final static String QUEUE="queue/testQueue";
private QueueConnectionFactory qconFactory;
private QueueConnection qcon;
private QueueSession qsession;
private QueueSender qsender;
private TextMessage msg;
private Queue queue;
public MsgSender ( )
{
try
{
init( new InitialContext(), QUEUE);
}
catch(Exception ex)
{
ex.printStackTrace();
}
}
/**
* Create all the necessary objects for receiving
* messages from a JMS queue.
*/
public void init(Context ctx, String queueName)
throws NamingException, JMSException
{
qconFactory = (QueueConnectionFactory) ctx.lookup(JMS_FACTORY);
qcon = qconFactory.createQueueConnection();
qsession = qcon.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
try
{
queue = (Queue) ctx.lookup(queueName);
}
catch (NamingException ne)
{
queue = qsession.createQueue(queueName);
ctx.bind(queueName, queue);
}
qcon.start();
}
/**
* Close JMS objects.
*/
public void close()
throws JMSException
{
qsender.close();
qsession.close();
qcon.close();
}
public void sendMsg( String message )
{
try
{
System.out.println("Sending a message.." );
qsender = qsession.createSender(queue);
msg = qsession.createTextMessage();
msg.setText(message);
qsender.send(msg);
}
catch(Exception ex)
{
ex.printStackTrace( );
}
}
private static InitialContext getInitialContext(String url)
throws NamingException
{
//Hashtable env = new Hashtable();
//env.put(Context.INITIAL_CONTEXT_FACTORY, JNDI_FACTORY);
//env.put(Context.PROVIDER_URL, url);
//return new InitialContext(env);
return new InitialContext();
}
}