jms отправка сообщения на любой сервер

Я хочу написать общий код для отправки сообщения на любой сервер jms. поэтому я подумал, что если у меня есть файл jndi.properties, то мы можем поместить конфигурацию сервера в этот файл, и мы можем получить доступ к этому файлу через код, но я могу сделать это только для «ActiveMQ Server». Теперь у меня возникают проблемы с отправкой сообщения на любой другой сервер, такой как сервер Glassfish или сервер jboss. может кто-нибудь помочь мне сделать это задание.

Вот мой код:

public class Producer 
{
   public Producer() throws JMSException, NamingException,IOException 
  {
   InputStream is = getClass().getResourceAsStream("my.jndi.properties");
   Properties jndiParamaters = new Properties();
   jndiParamaters.load(is);  
   Context jndi = new InitialContext(jndiParamaters); 
   ConnectionFactory conFactory = (ConnectionFactory) jndi.lookup("connectionFactory");
   Connection connection; 
   connection = conFactory.createConnection();
try 
{
    connection.start();   
   Session session = connection.createSession(false,Session.AUTO_ACKNOWLEDGE);  
    Destination destination = (Destination) jndi.lookup("Myqueue"); 
    MessageProducer producer = session.createProducer(destination); 
    TextMessage message = session.createTextMessage("Hello World!"); 
    producer.send(message);
    System.out.println("Sent message '" + message.getText() + "'");
} 
finally 
{
   connection.close();
}
}
public static void main(String[] args) throws JMSException 
{   
try
{
   BasicConfigurator.configure();
    new Producer();
} 
catch (Exception e) 
{
  e.printStackTrace();
}

}

}

Спасибо


person user591790    schedule 28.11.2012    source источник


Ответы (1)


Вы пытались использовать шаблон Spring JMS? http://static.springsource.org/spring/docs/2.0.x/reference/jms.html Он обеспечивает уровень абстракции для JMS и, вероятно, может помочь вам при изменении вашей реализации.

person ri5b6    schedule 28.11.2012