Class McastService

    • Field Detail

      • sm

        protected static final StringManager sm
        The string manager for this package.
      • properties

        protected Properties properties
        The implementation specific properties
      • impl

        protected McastServiceImpl impl
        A handle to the actual low level implementation
      • listener

        protected volatile MembershipListener listener
        A membership listener delegate (should be the cluster :)
      • msglistener

        protected MessageListener msglistener
        A message listener delegate for broadcasts
      • localMember

        protected MemberImpl localMember
        The local member
      • payload

        protected byte[] payload
      • domain

        protected byte[] domain
      • EMPTY_MEMBERS

        protected static final Member[] EMPTY_MEMBERS
        Return all the members
    • Constructor Detail

      • McastService

        public McastService()
        Create a membership service.
    • Method Detail

      • setProperties

        public void setProperties​(Properties properties)
        Sets the properties for the membership service.
        Specified by:
        setProperties in interface MembershipService
        Parameters:
        properties -
        All are required
        1. mcastPort - the port to listen to
        2. mcastAddress - the mcast group address
        4. bindAddress - the bind address if any - only one that can be null
        5. memberDropTime - the time a member is gone before it is considered gone.
        6. mcastFrequency - the frequency of sending messages
        7. tcpListenPort - the port this member listens to
        8. tcpListenHost - the bind address of this member
        Throws:
        IllegalArgumentException - if a property is missing.
      • getLocalMember

        public Member getLocalMember​(boolean alive)
        Get the local member.
        Specified by:
        getLocalMember in interface MembershipService
        Parameters:
        alive - true to set the alive time on the local member
        Returns:
        the member object that defines this member
      • setLocalMemberProperties

        public void setLocalMemberProperties​(String listenHost,
                                             int listenPort,
                                             int securePort,
                                             int udpPort)
        Sets the local member properties for broadcasting.
        Specified by:
        setLocalMemberProperties in interface MembershipService
        Parameters:
        listenHost - Listen to host
        listenPort - Listen to port
        securePort - Use a secure port
        udpPort - Use UDP
      • setAddress

        public void setAddress​(String addr)
      • setMcastBindAddress

        public void setMcastBindAddress​(String bindaddr)
      • setBind

        public void setBind​(String bindaddr)
      • setPort

        public void setPort​(int port)
      • setRecoveryCounter

        public void setRecoveryCounter​(int recoveryCounter)
      • setRecoveryEnabled

        public void setRecoveryEnabled​(boolean recoveryEnabled)
      • setRecoverySleepTime

        public void setRecoverySleepTime​(long recoverySleepTime)
      • setLocalLoopbackDisabled

        public void setLocalLoopbackDisabled​(boolean localLoopbackDisabled)
      • setFrequency

        public void setFrequency​(long time)
      • setMcastDropTime

        public void setMcastDropTime​(long time)
      • setDropTime

        public void setDropTime​(long time)
      • hasProperty

        protected void hasProperty​(Properties properties,
                                   String name)
        Check if a required property is available.
        Parameters:
        properties - The set of properties
        name - The property to check for
      • start

        public void start​(int level)
                   throws Exception
        Description copied from interface: MembershipService
        Starts the membership service. If a membership listeners is added the listener will start to receive membership events.
        Specified by:
        start in interface MembershipService
        Parameters:
        level - - level MBR_RX starts listening for members, level MBR_TX starts broad casting the server
        Throws:
        Exception - if the service fails to start.
        IllegalArgumentException - if the level is incorrect.
      • stop

        public void stop​(int svc)
        Stop broadcasting and listening to membership pings
        Specified by:
        stop in interface MembershipService
        Parameters:
        svc - - level MBR_RX stops listening for members, level MBR_TX stops broad casting the server
      • getMember

        public Member getMember​(Member mbr)
        Description copied from interface: MembershipService
        Retrieve the specified member from the membership.
        Specified by:
        getMember in interface MembershipService
        Parameters:
        mbr - The member to retrieve
        Returns:
        the member
      • setMembershipListener

        public void setMembershipListener​(MembershipListener listener)
        Add a membership listener, this version only supports one listener per service, so calling this method twice will result in only the second listener being active.
        Specified by:
        setMembershipListener in interface MembershipService
        Parameters:
        listener - The listener
      • setMessageListener

        public void setMessageListener​(MessageListener listener)
      • removeMessageListener

        public void removeMessageListener()
      • setSoTimeout

        public void setSoTimeout​(int mcastSoTimeout)
      • getPayload

        public byte[] getPayload()
      • setTtl

        public void setTtl​(int mcastTTL)
      • setPayload

        public void setPayload​(byte[] payload)
        Description copied from interface: MembershipService
        Set a payload to be broadcasted with each membership broadcast.
        Specified by:
        setPayload in interface MembershipService
        Parameters:
        payload - byte[]
      • setDomain

        public void setDomain​(String domain)
      • setChannel

        public void setChannel​(Channel channel)
        Description copied from interface: MembershipService
        Set the channel that is related to this MembershipService
        Specified by:
        setChannel in interface MembershipService
        Parameters:
        channel - The channel
      • setDefaults

        protected void setDefaults​(Properties properties)
      • main

        public static void main​(String[] args)
                         throws Exception
        Simple test program
        Parameters:
        args - Command-line arguments
        Throws:
        Exception - If an error occurs