001 package org.otfeed.j2ee.mdb;
002
003 import java.util.EnumSet;
004
005 import javax.ejb.EJBException;
006 import javax.ejb.MessageDrivenBean;
007 import javax.ejb.MessageDrivenContext;
008 import javax.jms.Message;
009 import javax.jms.MessageListener;
010
011 import org.otfeed.command.VolumeStyleEnum;
012 import org.otfeed.event.OTError;
013 import org.otfeed.protocol.DataEnum;
014 import org.otfeed.support.alt.IMessageListener;
015
016 import org.slf4j.Logger;
017 import org.slf4j.LoggerFactory;
018
019 public class OtfeedMDB implements MessageDrivenBean, MessageListener, IMessageListener {
020
021 private static final long serialVersionUID = 3485153366625806676L;
022
023 private static final Logger LOG = LoggerFactory.getLogger(OtfeedMDB.class);
024
025 public void ejbCreate() {
026
027 }
028
029 public void ejbRemove() throws EJBException {
030 }
031
032 public void setMessageDrivenContext(MessageDrivenContext ctx)
033 throws EJBException {
034 }
035
036 public void onInit(ISubscriber subscriber) {
037 LOG.info("initializing subscriptions");
038 subscriber.subscribeToTickStream("Q", "MSFT",
039 VolumeStyleEnum.COMPOUND,
040 EnumSet.of(DataEnum.TRADE, DataEnum.QUOTE));
041 }
042
043 public void onData(Object data) {
044 LOG.info("received: {}", data);
045 }
046
047 public void onShutdown(OTError error) {
048 LOG.info("subscription ended: {}", error);
049 }
050
051 public void onMessage(Message message) {
052 LOG.info("JMS message arrived: {}", message);
053 }
054
055 }