freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

activemq開發(fā)手冊(留存版)

2025-08-09 05:57上一頁面

下一頁面
  

【正文】 啟動(dòng)后將收到它第一條沒有簽收的消息,事實(shí)上,重啟后Session一系列消息的傳送都是以上一次最后一條已簽收消息的下一條為起點(diǎn)。其中deliveryMode為傳送模式,priority為消息優(yōu)先級,timeToLive為消息過期時(shí)間。有兩種方法設(shè)置消息的過期時(shí)間,時(shí)間單位為毫秒: 1.使用 setTimeToLive方法為所有的消息設(shè)置過期時(shí)間; 2.使用 send方法為每一條消息設(shè)置過期時(shí)間; Java客戶端: ActiveMQMessageProducer方法: void setTimeToLive(long timeToLive)。可以創(chuàng)建一個(gè)臨時(shí)的Destination,并把它放入Message的JMSReplyTo屬性中,收到該消息的消費(fèi)者可以用它來響應(yīng)生產(chǎn)者。 創(chuàng)建持久訂閱 Java客戶端: ActiveMQConnection方法: void setClientID(String newClientID)和ActiveMQSession方法:TopicSubscriber createDurableSubscriber(Topic topic, String name) TopicSubscriber createDurableSubscriber(Topic topic, String name, String messageSelector, boolean noLocal) 其中messageSelector為消息選擇器;noLocal標(biāo)志默認(rèn)為false,當(dāng)設(shè)置為true時(shí)限制消費(fèi)者只能接收和自己相同的連接(Connection)所發(fā)布的消息,此標(biāo)志只適用于主題,不適用于隊(duì)列。) 使用事務(wù) Java客戶端: ActiveMQConnection方法: Session createSession(boolean transacted, int acknowledgeMode)。在 ConnectionFactory層面配置異步發(fā)送: ((ActiveMQConnectionFactory)connectionFactory).setUseAsyncSend(true)。ActiveMQ挑選一個(gè)MessageConsumer,并把一個(gè)隊(duì)列中所有消息按順序分派給它。 目標(biāo)選項(xiàng)Java客戶端:例如: 屬性默認(rèn)值variableageLimit0falsefalsefaslenullfalse0Queue = new ActiveMueue(?=falseamp。 分布式部署分布式部署請參閱: 監(jiān)控 ActiveMQ本節(jié)將使用JXM和JXM控制臺()監(jiān)控ActiveMQ。在測試中發(fā)現(xiàn),如果重啟其中一臺機(jī)器上的ActiveMQ,其他機(jī)器的 ActiveMQ有可能會打印: at (:358) at (:267) at (:156) at (:136) at (:595) WARN TransportConnection Unexpected extra broker info mand received: BrokerInfo {mandId = 6, responseRequired = false, brokerId = ID:emv219n3394511744587701571:0, brokerURL = tcp://emv219n:61616, sl aveBroker = false, masterBroker = false, faultTolerantConfiguration = false,networkConnection = false, duplexConnection = false, peerBrokerInfos = [], brokerName = emv219, connectionId = 0}. INFO FailoverTransport Transport failed, attempting to automatically reconnect due to: 。 tcp://localhost:61616?=true以下的選項(xiàng)在URI必須以“jms.”為前綴。 (queue, someMessage)。 獨(dú)占的消費(fèi)者 ActiveMQ維護(hù)隊(duì)列消息的順序并順序把消息分派給消費(fèi)者。這種確認(rèn)機(jī)制保證消息不會丟失,但會造成生產(chǎn)者阻塞從而影響反應(yīng)時(shí)間。因?yàn)閱蝹€(gè)事務(wù)跨越兩個(gè)目標(biāo),所以,要么隊(duì)列和主題的消息都得到發(fā)送,要么都未得到發(fā)送。消息訂閱分為非持久訂閱(nondurable subscription)和持久訂閱(durable subscription),非持久訂閱只有當(dāng)客戶端處于激活狀態(tài),也就是和ActiveMQ保持連接狀態(tài)才能收到發(fā)送到某個(gè)主題的消息,而當(dāng)客戶端處于離線狀態(tài),這個(gè)時(shí)間段發(fā)到主題的消息將會丟失,永遠(yuǎn)不會收到。 TemporaryTopic createTemporaryTopic()。如果不指定優(yōu)先級,則默認(rèn)為4。此模式并不要求持久性的數(shù)據(jù)存儲,也不保證消息服務(wù)由于某種原因?qū)е率『笙⒉粫G失。例如:Session session = (false, )。可以選擇生成和使用非持久性消息來獲得最佳性能。 Message JMS程序的最終目的是生產(chǎn)和消費(fèi)的消息能被其他程序使用,JMS的Message是一個(gè)既簡單又不乏靈活性的基本格式,允許創(chuàng)建不同平臺上符合非JMS程序格式的消息。客戶端可以通過注冊一個(gè)實(shí)現(xiàn)MessageListener 接口的對象到MessageConsumer。 發(fā)送消息 Java客戶端: ActiveMQMessageProducer方法: void send(Destination destination, Message message)。Session可以被事務(wù)化,也可以不被事務(wù)化,通常,可以通過向 Connection上的適當(dāng)創(chuàng)建方法傳遞一個(gè)布爾參數(shù)對此進(jìn)行設(shè)置。 Connection(支持并發(fā))在成功創(chuàng)建正確的ConnectionFactory后,下一步將是創(chuàng)建一個(gè)連接,它是JMS定義的一個(gè)接口。 JMS支持并發(fā) JMS對象是否支持并發(fā)Destination是ConnectionFactory是Connection是Session否MessageProducer 否MessageConsumer 否3. ActiveMQ安裝 去官方網(wǎng)站下載: ,\bin\。ConnectionFactory客戶端用 ConnectionFactory 創(chuàng)建Connection對象。下面描述 JMS PTP 模型中的主要概念和對象:名稱描述ConnectionFactory客戶端用 ConnectionFactory,創(chuàng)建Connection對象。表示偶然丟失該消息是被允許的,這兩種模式使開發(fā)者可以在消息傳送的可靠性和吞吐量之間找到平衡點(diǎn)。如果沒有已經(jīng)向隊(duì)列目標(biāo)注冊的消費(fèi)者,隊(duì)列將保留它收到的消息,并在某個(gè)消費(fèi)者向該隊(duì)列進(jìn)行注冊時(shí)將消息傳送給該消費(fèi)者。連接用于創(chuàng)建會話。發(fā)送者將消息發(fā)送給消息服務(wù)器,消息服務(wù)器將消息存放在若干隊(duì)列中,在合適的時(shí)候再將消息轉(zhuǎn)發(fā)給接收者。 JMS編程模型在 JMS 編程模型中,JMS 客戶端(組件或應(yīng)用程序)通過 JMS 消息服務(wù)交換消息。異步使用可通過向消費(fèi)者注冊 MessageListener 來實(shí)現(xiàn)。這兩種消息傳送模型使用表示不同編程域的 API 對象(其語義稍有不同)進(jìn)行處理,如下所示:基本類型統(tǒng)一域PTP域Pub/Sub域ConnectionFactoryQueueConnectionFactoryTopicConnectionFactory ConnectionQueueConnectionTopicConnection SessionQueueSessionTopicPublisher Destination(Queue或 Topic)QueueTopic MessageProducerQueueSenderMessageConsumerQueueReceiver QueueBrowserTopicSubscriber JMS消息結(jié)構(gòu) JMS 消息由以下幾部分組成:消息頭,屬性和消息體。JMSRedelivered(再次發(fā)送)JMS Provider如果一個(gè)客戶端收到一個(gè)設(shè)置JMSRedelivered屬性的消息,則表示可能客戶端曾經(jīng)在早些時(shí)候收到過該消息,但并沒有簽收(acknowledged)。Reliability (可靠性)隊(duì)列可以長久地保存消息直到消費(fèi)者收到消息。MessageProducer客戶端用MessageProducer 發(fā)布消息到主題。 ActiveMQConnectionFactory(String userName, String password, String brokerURL) 。例如:Connection connection = ()。 Topic createTopic(String topicName)。 MessageConsumer createConsumer(Destination destination, String messageSelector, boolean noLocal)。然而,它也使得處理選擇標(biāo)準(zhǔn)的消息服務(wù)增加了一些額外開銷。結(jié)束事務(wù)有兩種方法:提交或者回滾。 1.當(dāng)客戶端從receive或onMessage成功返回時(shí),Session自動(dòng)簽收客戶端的這條消息的收條。對于這些消息,可靠性是優(yōu)先考慮的因素。然而,如果為這些消息分配了不同的優(yōu)先級,消息傳送系統(tǒng)將首先嘗試傳送優(yōu)先級較高的消息。 消息過期時(shí)間,send方法中的timeToLive 值加上發(fā)送時(shí)刻的GMT時(shí)間值。它還展示了客戶端可以既是消息的生產(chǎn)者,又可以是消息的消費(fèi)者??蛻舳舜a通過忽略異常、重試操作或回滾整個(gè)事務(wù)來處理異常。 } catch (JMSException ex) { ()。但是對于處理消息慢的消費(fèi)者,需要以異步模式分派。 3.在Session中使用CLIENT_ACKNOWLEDGE簽收模式,并且調(diào)用了recover()方法??梢詾槊總€(gè)消費(fèi)者指定消息預(yù)取。但是此模式會造成消息重復(fù)接收。 隊(duì)列消息堆積過多后有可能阻塞程序,這就意味著當(dāng)消息堆積超過20M后,程序可能出現(xiàn)問題。如果有少量的消息并且每條消息的處理都要花費(fèi)很長的時(shí)間,那么可以設(shè)置預(yù)取值為1,這樣同一時(shí)間,ActiveMQ只會為這個(gè)消費(fèi)者分派一條消息。屬性默認(rèn)值collisionAvoidanceFactormaximumRedeliveries6initialRedeliveryDelay1000LuseCollisionAvoidancefalseuseExponentialBackOfffalsebackOffMultiplier5 目標(biāo)特色 復(fù)合目標(biāo),ActiveMQ支持混合目標(biāo)技術(shù)。 在 Connection層面配置同步分派,此層面的設(shè)置將覆蓋
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1