仔细看看以下示例代码:// WLSQueueSender1.java
import javax.jms.*;
import javax.naming.*;
import java.util.Hashtable;public class WLSQueueSender1
{
// Defines the JNDI context factory.
public final static String JNDI_FACTORY = "weblogic.jndi.WLInitialContextFactory";

// Defines the JMS context factory.
public final static String JMS_FACTORY = "liad.testwls.jms.QueueConnectionFactory";

// Defines the queue.
public final static String QUEUE = "liad.testwls.jms.exampleQueue";

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);
}

public static void main(String[] args)
throws Exception
{
// Create a JNDI InitialContext.
Context jndiContext = getInitialContext("t3://localhost:7001");
// Look up and get connection factory/queue.
QueueConnectionFactory queueConnectionFactory = 
(QueueConnectionFactory) jndiContext.lookup(JMS_FACTORY);
Queue queue = (Queue) jndiContext.lookup(QUEUE);
// Create and get queueConnection from connection factory.
QueueConnection queueConnection = queueConnectionFactory.createQueueConnection();
// Create and get queueSession from queueConnection.
// false means session is not transacted.
QueueSession queueSession = queueConnection.createQueueSession(
false, Session.AUTO_ACKNOWLEDGE);
// Create and get queueSender/text message from queueSession.
QueueSender queueSender = queueSession.createSender(queue);
TextMessage message = queueSession.createTextMessage();
// Send message.
for (int i = 0; i < 3; i++)
{
message.setText("Message " + i + " from " + QUEUE);
System.out.println("Sending message: " + message.getText());
queueSender.send(message);
}
// Send a non-text control message indicating end of messages.
queueSender.send(queueSession.createMessage());
// close queueConnection
if (queueConnection != null)
{
queueConnection.close();
}
}
}// WLSQueueReceiver1.java
import javax.jms.*;
import javax.naming.*;
import java.util.Hashtable;public class WLSQueueReceiver1
{
// Defines the JNDI context factory.
public final static String JNDI_FACTORY = "weblogic.jndi.WLInitialContextFactory";

// Defines the JMS context factory.
public final static String JMS_FACTORY = "liad.testwls.jms.QueueConnectionFactory";

// Defines the queue.
public final static String QUEUE = "liad.testwls.jms.exampleQueue";

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);
}
public static void main(String[] args)
throws Exception
{
// Create a JNDI IntialContext.
Context jndiContext = getInitialContext("t3://localhost:7001");
// Look up and get connection factory/queue.
QueueConnectionFactory queueConnectionFactory =
(QueueConnectionFactory) jndiContext.lookup(JMS_FACTORY);
Queue queue = (Queue) jndiContext.lookup(QUEUE);
// Create and get queueConnection from connection factory.
QueueConnection queueConnection = queueConnectionFactory.createQueueConnection();
// Create and get queueSession from queueConnection.
// false means session is not transacted.
QueueSession queueSession = queueConnection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
// Create and get queueReceiver from queueSession.
QueueReceiver queueReceiver = queueSession.createReceiver(queue);
// start delivery of incoming messages
queueConnection.start();
// Receive text message from queue until a non-text message is received
// indicating end of messages.
while (true)
{
Message m = queueReceiver.receive();
if (m instanceof TextMessage)
{
TextMessage message = (TextMessage) m;
System.out.println("Reading message: " + message.getText());
}
else
{
break;
}
}
if (queueConnection != null)
{
queueConnection.close();
}
}
}