ServerDatagramFactory.java :  » JMS » UberMQ » com » ubermq » jms » common » datagram » impl » Java Open Source

Java Open Source » JMS » UberMQ 
UberMQ » com » ubermq » jms » common » datagram » impl » ServerDatagramFactory.java
package com.ubermq.jms.common.datagram.impl;

import com.ubermq.jms.common.datagram.*;
import com.ubermq.kernel.*;

import java.nio.ByteBuffer;

/**
 * A datagram factory that uses the optimized
 * implementation of IMessageDatagram. The optimized
 * version is tailored for use by servers, which perform
 * very little modification and examine a message datagram
 * for a short, well-defined period of time. <p>
 *
 * @see com.ubermq.jms.server.datagram.impl.ServerMessageDatagram
 */
public final class ServerDatagramFactory
    extends DatagramFactory
{
    private static final ServerDatagramFactory theInstance;
    private static final ServerMessageDatagram smd;

    static {
        theInstance = new ServerDatagramFactory();
        smd = new ServerMessageDatagram();
    }

    /**
     * singleton pattern. this is a stateless object.
     */
    ServerDatagramFactory() {}
    private Object readResolve() {return theInstance;}

    public static DatagramFactory getInstance() {return theInstance;}

    IDatagram createDatagramInstance(int datagramType)
    {
        if (datagramType == DatagramFactory.DGRAM_MSG)
            return smd;
        else
            return super.createDatagramInstance(datagramType);
    }
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.