@MessageDriven( activationConfig={ @ActivationConfigProperty(propertyName="destinationType",propertyValue="javax.jms.Queue"),
@ActivationConfigProperty(propertyName="destination",propertyValue="queue/myqueue")
}
)
1.topics---可以有多个客户端,用topic发布允许一对多和多对多。destinationType的值为javax.jms.Topic
2.queue---仅仅允许一个消息传送给一个客户。destinationType的值为javax.jms.Queue
3.destination属性用做指定消息路径,在MDB发布时,如果路径不存在,容器会自动创建该路径,当容器关闭时该路径会自动被删除。
//创建QueueConnection
QueueConnection connection=factory.createQueueConnection();
有两种connection:TopicConnection和QueueConnection
//创建QueueSession对象 QueueSession session=connection.createQueueSession(false, QueueSession.AUTO_ACKNOWLEDGE);
有两种session:QueueSession和TopicSession
false的意思是建立不需要事务的会话
非事务的session中,有三种消息传递方式:
1.Session.AUTO_ACKNOWLEDGE:当客户端调用receive()方法成功返回,或当MessageListener成功处理了消息时,session会自动接收消息的收条。
2.Session.CLIENT_ACKNOWLEDGE:客户端通过调用acknowledge方法来接收消息。
3.Session.DUPS_ACKNOWLEDGE:session缓慢接收消息