📄 basicmessagereceiver.java
字号:
import javax.naming.*;
import javax.jms.*;
public class BasicMessageReceiver
{
protected QueueConnection _connection =null;
protected QueueSession _session = null;
protected QueueReceiver _receiver = null;
protected String _jndiQueueName = null;
protected String _jndiQueueFactoryName = null;
public BasicMessageReceiver (String jndiQueueFactoryName, String jndiQueueName) throws NamingException, JMSException
{
super();
_jndiQueueName = jndiQueueName;
_jndiQueueFactoryName = jndiQueueFactoryName;
initialize ();
}
protected void initialize () throws NamingException, JMSException
{
Context ctx = new InitialContext ();
QueueConnectionFactory queueConnectionFactory =
(QueueConnectionFactory) ctx.lookup (_jndiQueueFactoryName);
Queue outQueue = (Queue) ctx.lookup (_jndiQueueName);
_connection = queueConnectionFactory.createQueueConnection ();
_session = _connection.createQueueSession (true, Session.AUTO_ACKNOWLEDGE);
_receiver = _session.createReceiver (outQueue);
}
public String receiveMessage (long millisecondTimeout) throws JMSException
{
String result = null;
if(_receiver != null)
{
_connection.start ();
if(millisecondTimeout < 0)
{
millisecondTimeout = 0;
}
Message message = (Message)_receiver.receive (millisecondTimeout);
if(message != null && message instanceof TextMessage)
{
result = ((TextMessage)message).getText ();
_session.commit();
}
else
{
_session.rollback ();
}
}
return result;
}
public void finalize ()
{
try
{
cleanup ();
}
catch(JMSException jmsEx)
{
// ignore this error
}
}
public void cleanup () throws JMSException
{
if(_connection != null)
{
_connection.close ();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -