activemq端口怎么調(activemq詳解)

  • 生活
  • 2023-04-25 13:35

一、載入與安置

徑直去官網(http://activemq.apache.org/)載入最新本子即可,因為這是免安置的,只須要解壓就行了。安置完之保守入bin目次,雙擊activemq.bat文獻(linux下在bin目次下實行activemqstart)

二、考察遏制臺

在欣賞器輸出:http://ip:8161/admin/,展示如次界面表白啟用勝利,默許的用戶名暗號都是admin

三、竄改端標語

61616為對外效勞端標語

8161為遏制器端標語

當端標語辯論時,不妨竄改這兩個端標語。cdconf,竄改activemq.xml竄改內里的61616端口。竄改jetty.xml,竄改內里的8161端口。

queue部隊形式:

和rabbitmq大略部隊形式一律,假如有多個耗費者耗費同一個部隊中的動靜的話,默許也是輪詢體制的耗費

示例代碼:

publicclassProductor{publicstaticfinalStringBORKER_URL="tcp://127.0.0.1:61616";publicstaticfinalStringQUEUE_NAME="queue1";publicstaticvoidmain(String[]args)throwsJMSException{//創造工場ActiveMQConnectionFactoryfactory=newActiveMQConnectionFactory(BORKER_URL);//創造tcp貫穿Connectionconnection=factory.createConnection();//創造貫穿connection.start();/***創造對話,1.能否打開工作,2.簽收形式*/Sessionsession=connection.createSession(false,Session.AUTO_ACKNOWLEDGE);//創造部隊(動靜的手段地)Queuequeue=session.createQueue(QUEUE_NAME);//創造消費者MessageProducerproducer=session.createProducer(queue);//動靜非長久化producer.setDeliveryMode(DeliveryMode.NON_PERSISTENT);//動靜長久化默許是長久化的//producer.setDeliveryMode(DeliveryMode.PERSISTENT);//創造動靜TextMessagemessage=session.createTextMessage("您好嗎");//發送動靜producer.send(message);producer.close();session.close();connection.close();System.out.println("發送勝利!");}}publicclassConsumer{publicstaticfinalStringBORKER_URL="tcp://127.0.0.1:61616";publicstaticfinalStringQUEUE_NAME="queue1";publicstaticvoidmain(String[]args)throwsJMSException{//創造工場ActiveMQConnectionFactoryfactory=newActiveMQConnectionFactory(BORKER_URL);//創造tcp貫穿Connectionconnection=factory.createConnection();//創造貫穿connection.start();/***創造對話,1.能否打開工作,2.簽收形式*/Sessionsession=connection.createSession(false,Session.AUTO_ACKNOWLEDGE);//創造/證明部隊(動靜的手段地)Queuequeue=session.createQueue(QUEUE_NAME);//創造耗費者MessageConsumerconsumer=session.createConsumer(queue);/*while(true){//receive會阻礙線程TextMessagemessage=(TextMessage)consumer.receive();System.out.println("接受到動靜:"+message.getText());}*///監聽的辦法耗費consumer.setMessageListener(message->{TextMessagetextMessage=(TextMessage)message;try{System.out.println("1號接受到動靜:"+textMessage.getText());}catch(JMSExceptione){e.printStackTrace();}});}}topic部隊形式:

稱為頒布訂閱形式,消費者把動靜發送給訂閱給某個topic中心的耗費者,是散發的形式,這種形式默許須要先啟用耗費者,否則就算消費者頒布了某個topic中心的動靜,耗費者也耗費不了;只有耗費者提早訂閱,而且做了動靜長久化的處置,如許后啟用耗費者本領耗費提早推送的動靜。

代碼:

publicclassProductor{publicstaticfinalStringBORKER_URL="tcp://127.0.0.1:61616";publicstaticfinalStringTOPIC_NAME="topic1";publicstaticvoidmain(String[]args)throwsJMSException{//創造工場ActiveMQConnectionFactoryfactory=newActiveMQConnectionFactory(BORKER_URL);//異步送達factory.setUseAsyncSend(true);//創造tcp貫穿Connectionconnection=factory.createConnection();/***創造對話,1.能否打開工作,2.簽收形式*/Sessionsession=connection.createSession(false,Session.AUTO_ACKNOWLEDGE);//創造/證明topic(動靜的手段地)Topictopic=session.createTopic(TOPIC_NAME);//創造消費者ActiveMQMessageProducerproducer=(ActiveMQMessageProducer)session.createProducer(topic);//長久化producer.setDeliveryMode(DeliveryMode.PERSISTENT);//創造貫穿connection.start();//創造動靜TextMessagemessage=session.createTextMessage("您好嗎");//發送動靜,異步發送回調因變量producer.send(message,newAsyncCallback(){@OverridepublicvoidonSuccess(){System.out.println("success");}@OverridepublicvoidonException(JMSExceptione){System.out.println("fail");}});producer.close();session.close();connection.close();System.out.println("發送勝利!");}}publicclassConsumer1{publicstaticfinalStringBORKER_URL="tcp://127.0.0.1:61616";publicstaticfinalStringTOPIC_NAME="topic1";publicstaticvoidmain(String[]args)throwsJMSException{//創造工場ActiveMQConnectionFactoryfactory=newActiveMQConnectionFactory(BORKER_URL);//創造tcp貫穿Connectionconnection=factory.createConnection();//擬訂clientIdconnection.setClientID("my");/***創造對話,1.能否打開工作,2.簽收形式*/Sessionsession=connection.createSession(false,Session.AUTO_ACKNOWLEDGE);//創造/證明topic(動靜的手段地)Topictopic=session.createTopic(TOPIC_NAME);//訂閱中心TopicSubscribersubscriber=session.createDurableSubscriber(topic,"remark");//創造貫穿connection.start();while(true){//receive會阻礙線程//接受訂閱的動靜TextMessagemessage=(TextMessage)subscriber.receive();System.out.println("接受到動靜:"+message.getText());}/*//創造耗費者MessageConsumerconsumer=session.createConsumer(topic);//創造貫穿connection.start();*//*while(true){//receive會阻礙線程TextMessagemessage=(TextMessage)consumer.receive();System.out.println("接受到動靜:"+message.getText());}*//*//監聽的辦法耗費consumer.setMessageListener(message->{TextMessagetextMessage=(TextMessage)message;try{System.out.println("1號接受到動靜:"+textMessage.getText());}catch(JMSExceptione){e.printStackTrace();}});*/}}怎樣保護動靜的真實性

回復這個題目重要從長久化,工作,簽收這幾個上面動手

動靜長久化的中心代碼:

//queue形式的動靜長久化默許是長久化的producer.setDeliveryMode(DeliveryMode.PERSISTENT);/***topic形式的長久化*/Topictopic=session.createTopic(TOPIC_NAME);ActiveMQMessageProducerproducer=(ActiveMQMessageProducer)session.createProducer(topic);producer.setDeliveryMode(DeliveryMode.PERSISTENT);connection.start();工作的中心代碼(偏消費者):

//參數樹立成trueconnection.createSession(false,Session.AUTO_ACKNOWLEDGE);//工作提交session.commit();簽收的中心代碼(偏耗費者):

//參數樹立成手動提交connection.createSession(false,Session.CLIENT_ACKNOWLEDGE);//動靜簽收message.acknowledge();提防:假如既打開工作,又打開手動簽收,以工作為準,只有工作被提交了也默許動靜被簽收了

本能提高:

1.運用nio的和議比tcp的本能高,

擺設辦法:在conf目次下activemq.xml照著底下擺設<broker>...<transportConnectors><transportConnectorname="nio"uri="nio://0.0.0.0:61616"/></<transportConnectors>...</broker>第二步是代碼考察辦法由tcp改為nio//創造工場ActiveMQConnectionFactoryfactory=newActiveMQConnectionFactory("nio://127.0.0.1:61616");2.jdbc+Journaling普及惟有jdbc長久化的本能,它在做長久化入數據庫之前,會先將數據生存到Journaling文獻中,之后才漸漸同步到數據庫中,即是中央加了一層緩沖層。

把數據庫mysql的啟動包放到lib目次下擺設辦法:在conf目次下activemq.xml照著底下擺設,個中有個createTablesOnStartup屬性,默許值是true,表白歷次啟用后去數據庫機動建表<persistenceAdapter><kahaDBdirectory="${activemq.data}/kahadb"/></persistenceAdapter>//上頭是默許擺設找到改成底下的擺設<persistenceAdapter><journalPersistenceAdapterFactoryjournalLogFiles="5"dataDirectory="${basedir}/activemq-data"dataSource="#mysql-ds"/></persistenceAdapter>//底下的代碼寫在<beans>節點中<beanid="mysql-ds"class="org.apache.commons.dbcp.BasicDataSource"destroy-method="close"><propertyname="driverClassName"value="com.mysql.jdbc.Driver"/><propertyname="url"value="jdbc:mysql://localhost/activemq?relaxAutoCommit=true"/><propertyname="username"value="activemq"/><propertyname="password"value="activemq"/><propertyname="poolPreparedStatements"value="true"/></bean>

猜你喜歡

主站蜘蛛池模板: 精品无码一区二区三区爱欲| 精品无码一区二区三区在线 | 人妻在线无码一区二区三区| 亚洲av无码一区二区三区天堂| 色欲aⅴ亚洲情无码AV| 亚洲国产精品无码久久一区二区 | 国产日产欧洲无码视频| 亚洲国产精品无码久久久秋霞2 | 亚洲成A∨人片在线观看无码| 少妇仑乱A毛片无码| 人妻少妇伦在线无码| 无码熟熟妇丰满人妻啪啪软件 | 日韩人妻无码免费视频一区二区三区 | 亚洲爆乳少妇无码激情| 亚洲午夜福利AV一区二区无码| 无码国内精品久久人妻麻豆按摩| 亚洲中文字幕久久精品无码VA| 精品亚洲A∨无码一区二区三区| 国产精品无码不卡一区二区三区| 精品无码人妻久久久久久| 亚洲爆乳大丰满无码专区| 无码av免费网站| 无码精品人妻一区二区三区漫画| 成人免费一区二区无码视频| 精品国产V无码大片在线看| 中出人妻中文字幕无码| 日韩欧精品无码视频无删节| 中文无码日韩欧免费视频| 亚洲中文字幕无码久久2017 | 国产福利电影一区二区三区久久老子无码午夜伦不 | H无码精品3D动漫在线观看| 日韩放荡少妇无码视频| 亚洲av无码一区二区三区天堂 | 永久免费无码网站在线观看个| 亚洲乱亚洲乱妇无码| 国产精品久久久久无码av| 亚洲av永久无码| 午夜无码性爽快影院6080| 亚洲AV无码男人的天堂| 无码里番纯肉h在线网站| 人妻无码久久精品人妻|