• jms消息组成


    一个Message对象有三个部分:消息头,消息属性,消息体,消息头提供了和消息有关的元数据,消息属性可以携带由jms客户端设置的属性,jms消费者可以根据消息头和消息属性选择来选择接受消息

    消息头:包括自动分配的消息头及开发者分配的消息头

    public interface Message
    {
    
        public abstract String getJMSMessageID()
            throws JMSException;
    
        public abstract void setJMSMessageID(String s)
            throws JMSException;
    
        public abstract long getJMSTimestamp()
            throws JMSException;
    
        public abstract void setJMSTimestamp(long l)//jms提供者接受消息的时间
            throws JMSException;
    
        public abstract byte[] getJMSCorrelationIDAsBytes()
            throws JMSException;
    
        public abstract void setJMSCorrelationIDAsBytes(byte abyte0[])
            throws JMSException;
    
        public abstract void setJMSCorrelationID(String s)//开发者分配,将当前的id与之前的特定id进行关联
            throws JMSException;
    
        public abstract String getJMSCorrelationID()
            throws JMSException;
    
        public abstract Destination getJMSReplyTo()
            throws JMSException;
    
        public abstract void setJMSReplyTo(Destination destination)//开发者分配的消息头,表明jms消费者应该应答的地址
            throws JMSException;
    
        public abstract Destination getJMSDestination()
            throws JMSException;
    
        public abstract void setJMSDestination(Destination destination)//目的地
            throws JMSException;
    
        public abstract int getJMSDeliveryMode()
            throws JMSException;
    
        public abstract void setJMSDeliveryMode(int i)//持久性模式(消息不会丢失,默认)和非持久性模式
            throws JMSException;
    
        public abstract boolean getJMSRedelivered()
            throws JMSException;
    
        public abstract void setJMSRedelivered(boolean flag)//是否被重新传送
            throws JMSException;
    
        public abstract String getJMSType()
            throws JMSException;
    
        public abstract void setJMSType(String s)//开发者分配,消息类型
            throws JMSException;
    
        public abstract long getJMSExpiration()
            throws JMSException;
    
        public abstract void setJMSExpiration(long l)//一个message对象的有效期,在发送者上,可通过setTimeToLive(long l)设置该发送者发送的所有消息的时效,为0表示永不过期
            throws JMSException;
    
        public abstract int getJMSPriority()
            throws JMSException;
    
        public abstract void setJMSPriority(int i)//0-4普通优先级,5-9加急优先级,生产者可使用setPriority()方法声明
            throws JMSException;
    }

     消息属性:开发者可以自定义能满足他们需要的所有属性

    public abstract void clearProperties()
            throws JMSException;
    
        public abstract boolean propertyExists(String s)
            throws JMSException;
    
        public abstract boolean getBooleanProperty(String s)
            throws JMSException;
    
        public abstract byte getByteProperty(String s)
            throws JMSException;
    
        public abstract short getShortProperty(String s)
            throws JMSException;
    
        public abstract int getIntProperty(String s)
            throws JMSException;
    
        public abstract long getLongProperty(String s)
            throws JMSException;
    
        public abstract float getFloatProperty(String s)
            throws JMSException;
    
        public abstract double getDoubleProperty(String s)
            throws JMSException;
    
        public abstract String getStringProperty(String s)
            throws JMSException;
    
        public abstract Object getObjectProperty(String s)
            throws JMSException;
    
        public abstract Enumeration getPropertyNames()
            throws JMSException;
    
        public abstract void setBooleanProperty(String s, boolean flag)
            throws JMSException;
    
        public abstract void setByteProperty(String s, byte byte0)
            throws JMSException;
    
        public abstract void setShortProperty(String s, short word0)
            throws JMSException;
    
        public abstract void setIntProperty(String s, int i)
            throws JMSException;
    
        public abstract void setLongProperty(String s, long l)
            throws JMSException;
    
        public abstract void setFloatProperty(String s, float f)
            throws JMSException;
    
        public abstract void setDoubleProperty(String s, double d)
            throws JMSException;
    
        public abstract void setStringProperty(String s, String s1)
            throws JMSException;
    
        public abstract void setObjectProperty(String s, Object obj)
            throws JMSException;
    
        public abstract void acknowledge()
            throws JMSException;
    
        public abstract void clearBody()
            throws JMSException;

    消息类型

    TextMessage,ObjectMessage,BytesMsssage,StreamMessage,MapMessage

  • 相关阅读:
    PHP 语法
    PHP 安装
    06_传智播客iOS视频教程_方法的本质是SEL消息
    05_传智播客iOS视频教程_类对象的使用
    04_传智播客iOS视频教程_类是以Class对象存储在代码段
    03_传智播客iOS视频教程_作业讲解及结构体与类的区别
    02_传智播客iOS视频教程_子类在内存中的存储和方法调用过程
    01_传智播客iOS视频教程_课程介绍与知识点回顾
    Day01-Objective-C语法基础-video 01_传智播客iOS视频教程_OC的简要历史
    17_关于上下文的说明
  • 原文地址:https://www.cnblogs.com/qilong853/p/6588999.html
Copyright © 2020-2023  润新知