PaymentProcessorMDBBeanImpl.java

// license-header java merge-point
// Generated by MessageDriveneanImpl.vsl in andromda-ejb3-cartridge on 08/06/2014 10:56:25.
package org.andromda.demo.ejb3.rental;

import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.ObjectMessage;

/**
 * @see PaymentProcessorMDBBean
 */
public class PaymentProcessorMDBBeanImpl
    extends PaymentProcessorMDBBean
{
    /**
     * Default Constructor
     */
    public PaymentProcessorMDBBeanImpl()
    {
        super();
    }

    /**
     * MessageListener callback on arrival of a JMS message
     *
     * @param message The inbound JMS message to process
     */
    @Override
    public void onMessage(Message message)
    {
        try
        {
            System.out.println("Received new message: " + (message==null ? message : message.getJMSTimestamp()));

            ObjectMessage msg = null;
            if (message != null && message instanceof ObjectMessage)
            {
                msg = (ObjectMessage)message;
                RentalCar car = (RentalCar)msg.getObject();

                if (car != null)
                {
                    System.out.println("Message = " + car.getRentalCarId() + ", " + car.getSerial() + ", " + car.getName());
                    this.paymentService.register(car, 10);
                }
                else
                {
                    System.out.println("Car is null");
                }
            }
        }
        catch (JMSException e)
        {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}