package com.rci.gpn.xa;
/*
 * Router.java
 *
 * Created on January 5, 2001, 10:48 AM
 */

import javax.ejb.*;
import javax.jms.*;
import javax.naming.*;
import java.util.*;
import java.io.*;

/**
 *
 * @author  tma0joe
 * @version 1.0
 */
public class Router extends MessageBase
    {
    public void onMessage(javax.jms.Message inmessage)
        {
        try
            {
            log("received message");

            TextMessage message=(TextMessage)inmessage;
            InitialContext jndi=new InitialContext();
            TopicConnectionFactory factory=(TopicConnectionFactory)jndi.
                                           lookup("java:comp/env/jms/TopicConnectionFactory");
            connection=factory.createTopicConnection();
            connection.start();
            session=connection.createTopicSession(false, Session.AUTO_ACKNOWLEDGE);

            Topic topic=(Topic)jndi.lookup("java:comp/env/jms/xaTopic");

            TopicPublisher publisher=session.createPublisher(topic);

            TextMessage messageOut=(TextMessage)session.createTextMessage();
            messageOut.setStringProperty("time", (new java.util.Date()).toString());
            messageOut.setStringProperty("transactionid", message.getStringProperty("transactionid"));
            publisher.publish(messageOut);
            publisher.close();
            session.close();
            log("sent message to xaTopic - "+message.getStringProperty("transactionid"));
            }
        catch ( Exception jmse )
            {
            log(jmse.getMessage());
            }
        }
    }
