導航:首頁 > 文件教程 > activemq傳遞文件

activemq傳遞文件

發布時間:2023-02-25 22:20:03

『壹』 ActiveMQ怎麼實現兩台伺服器之間的通訊。比如A發消息給B,B能收到。具體的代碼和配置。

公共靜態無效的主要(字串[] args)拋出那麼JMSException {
字元串URL =「TCP :/ /本地主機:61616;
ActiveMQConnectionFactory的connectionFactory =:新ActiveMQConnectionFactory(
); / /設置的用戶名和密碼,用戶名和密碼的conf目錄credentials.properties的文件也可以被配置在activemq.xml
connectionFactory.setUserName「(」系統「);
」的connectionFactory setPassword( 「經理人」);創建
/ /創建一個連接,
介面連接connectionFactory.createConnection();
connection.start的();
會話連接。會議上的(假Session.CLIENT_ACKNOWLEDGE);
/ /創建目標,創建一個主題,你也可以創建一個隊列的
目的地的的的目標session.createQueue(「1230」); ...... /> / /創建一個消息消費者
MessageProcer:製造商的目標:= session.createProcer();

procer.setDeliveryMode(DeliveryMode.PERSISTENT);
字元串JMSCorrelationID 「'S +」1001「+」'「;
」的MessageConsumer:消費者session.createConsumer(目標),選擇
TextMessage的TM = session.createTextMessage(12345111);
TM。 setJMSCorrelationID(1001「);
procer.send(TM);
TextMessage的(真實){
TM1 =(TextMessage的介質)consumer.receive(1000);
(null! ,TM1){
System.out.println(TM1);
tm1.acknowledge();
System.out.println(tm1.getText());
}

突破;
}
consumer.close();
procer.close();
session.close(); BR />連接關閉();}

}

『貳』 ActiveMQ關於文件傳輸需要注意哪些方面

具體參考下吧,MQException 該類包含WebSphere MQ 完成代碼和錯誤代碼常量的定義。以MQCC_開始的常量是WebSphere MQ 完成代碼,而以MQRC_開始的常量則是WebSphere MQ 原因代碼。只要出現WebSphere MQ 錯誤,就會給出MQException。 MQGetMessageO...

『叄』 activemq問題

import javax.jms.Connection;
import javax.jms.DeliveryMode;
import javax.jms.Destination;
import javax.jms.JMSException;
import javax.jms.MessageProcer;
import javax.jms.Session;
import javax.jms.TextMessage;

jms.jar
==============================================
import org.apache.activemq.ActiveMQConnection;
import org.apache.activemq.ActiveMQConnectionFactory;

activemq-all-5.2.0.jar

『肆』 如何利用MQ實現大文件傳輸和交換具有可靠,安全

由於JMS Streams的種種不足,限制了其用於傳輸大文件的功能。因此,ActiveMQ在JMS的基礎上創建了一種新的消息類型------BlobMessage。
因為派生與JMS的Message對象,通過BlobMessage傳輸大文件可以利用ActiveMQ消息Broker的所有特性,如高可靠性、事務支持、發布訂閱......
Blob Messages是通過帶外傳輸(out-of-band transport)的機制來實現大文件傳輸的,在文件傳輸的過程中,通過http、ftp、scp或其他點對點的協議來進行文件的傳輸,同時,通過BlobMessage來傳送控制信息以及文件的驗證信息。其結構圖如下:



由於JMS可以可靠的將控制信息傳送到ActiveMQ Broker,同時ftp協議本身就支持斷點續傳,所以,文件簡單的就可以發送到服務端,並且保存在服務端,當文件的消費端監聽隊列的隊列就可以輕松的下載文件了,如果存在多個消費端,則可以通過JMS的發布訂閱模式實現。
通過比較三種方案,第一種通過JMS Streams傳輸存在斷點續傳的問題,第二種方式則引入了額外的復雜度------分割文件和合並文件,復雜度相對較高,第三種Blob Messages對於開發者來說就和發送普通消息是一樣的,只是服務端它依賴FTP Server來上傳下載文件。經過比較可以發現,Blob Messages的方式更具備可用性。

『伍』 ActiveMQ關於文件傳輸需要注意哪些方面

最近一直在關注一些文件傳輸中間件的實現,想用ActiveMQ實現一些具體的功能。經過幾周的ActiveMQ的學習,以及中間件必須一些功能。發現一些問題自己還是不能搞懂,希望網上一些,大牛拍一下磚,支持一下。
1.在消息中間件的消息的路由的演算法怎麼實現的。

如A、B、C、D、E 五個節點上都是提供消息服務的 AMQ ,五個節點連通成一個網路,連接到 A
節點的客戶端可以發消息到五個節點中的任意一個節點,AMQ 會自動尋找一條最佳路徑傳遞消息到目標節點。如從A
發消息到D,有兩條連通路徑:A->B->C->D 和A->E->D,其中 A->E->D
經過的節點最少,該路徑為最佳路徑, AMQ 將根據此路徑對消息進行傳遞。

『陸』 如何將list傳給activemq

ActiveMQ Getting Start 介紹 這是描述如何安裝和配置ActiveMQ 4.x/5.x在Unix和windows平台的說明文檔。 文檔結構 介紹 文檔結構 安裝前的准備 window平台安裝 二進制文件安裝 源碼安裝 開發版本 Unix平台安裝 二進制文件安裝 源碼安裝 開發版本...

『柒』 請教java怎麼向activemq發送消息

一.Prop類(用來讀取屬性文件,單例)

package com.sitinspring.standardWeblogicJms;

import java.io.FileInputStream;
import java.util.Hashtable;
import java.util.Properties;

import javax.naming.Context;
import javax.naming.InitialContext;

public class Props {
private static final String File_Name = "jmsSetting.properties";

private static Properties propts;

public static void makeProptsInstance() {
propts = new Properties();

try {
propts.load(new FileInputStream(File_Name));
} catch (Exception ex) {
ex.printStackTrace();
}
}

public static String get(String name){
if(propts==null){
makeProptsInstance();
}

return (String)propts.get(name);
}

@SuppressWarnings("unchecked")
public static Context getInitialContext(){
Context context=null;

String jndiFactory=Props.get("jndi.factory");
String providerUrl=Props.get("jndi.provider.url");

Hashtable env=new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY, jndiFactory);
env.put(Context.PROVIDER_URL, providerUrl);

try {
context=new InitialContext(env);
} catch (Exception ex) {
ex.printStackTrace();
}

return context;
}
}
二.QueueBase類(QueueComsumer和QueueSupplier的基類,用於歸納一些兩類共通的東西)
package com.sitinspring.standardWeblogicJms;

import javax.jms.Queue;
import javax.jms.QueueConnection;
import javax.jms.QueueConnectionFactory;
import javax.jms.QueueSession;
import javax.jms.Session;
import javax.naming.Context;

public class QueueBase{
protected QueueConnectionFactory queueConnectionFactory;
protected QueueConnection queueConnection;
protected QueueSession queueSession;
protected Queue queue;

public QueueBase(Context context){
try{
String jmsFactory=Props.get("jms.factory");
queueConnectionFactory=(QueueConnectionFactory)context.lookup(jmsFactory);
queueConnection=queueConnectionFactory.createQueueConnection();
queueSession=queueConnection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);

String queueName=Props.get("queue.name");
queue=(Queue)context.lookup(queueName);
}
catch(Exception ex){
ex.printStackTrace();
}
}
}
三.QueueComsumer類(用於接收消息)
package com.sitinspring.standardWeblogicJms;

import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.MessageListener;
import javax.jms.QueueReceiver;
import javax.jms.TextMessage;
import javax.naming.Context;

public class QueueComsumer extends QueueBase implements MessageListener {
private QueueReceiver queueReceiver;

public QueueComsumer(Context context) {
super(context);

try {
queueReceiver = queueSession.createReceiver(queue);
queueReceiver.setMessageListener(this);
queueConnection.start();
} catch (Exception ex) {
ex.printStackTrace();
}
}

public void onMessage(Message message) {
if (message instanceof TextMessage) {
TextMessage txtmsg = (TextMessage) message;

try {
System.out.println("I have received the TextMassage:"
+ txtmsg.getText());
} catch (JMSException e) {
e.printStackTrace();
}
}
}

public void close() throws JMSException {
queueReceiver.close();
queueSession.close();
queueConnection.close();
}

public static void main(String[] args) {
Context context = Props.getInitialContext();
QueueComsumer queueComsumer = new QueueComsumer(context);

synchronized (queueComsumer) {
while (true) {
try {
queueComsumer.wait();
} catch (InterruptedException interruptedException) {
interruptedException.printStackTrace();

try {
queueComsumer.close();
} catch (JMSException e) {
e.printStackTrace();
}
}
}
}
}
}
四.QueueSupplier類(用於發送消息)
package com.sitinspring.standardWeblogicJms;

import javax.jms.JMSException;
import javax.jms.QueueSender;
import javax.jms.TextMessage;
import javax.naming.Context;

public class QueueSupplier extends QueueBase {
private QueueSender queueSender;

public QueueSupplier(Context context) {
super(context);

try {
queueSender = queueSession.createSender(queue);
} catch (Exception ex) {
ex.printStackTrace();
}
}

public void sendMsg(String msg) throws JMSException {
TextMessage txtMsg = queueSession.createTextMessage();
txtMsg.setText(msg);

queueConnection.start();
queueSender.send(txtMsg);
}

public void close() throws JMSException {
queueSender.close();
queueSession.close();
queueConnection.close();
}

public static void main(String[] args) {
Context context = Props.getInitialContext();
QueueSupplier queueSupplier = new QueueSupplier(context);

try {
queueSupplier.sendMsg("Hello World");

System.out.println("A message have been sent!");
} catch (JMSException ex) {
ex.printStackTrace();
} finally {
try {
queueSupplier.close();
} catch (JMSException ex) {
ex.printStackTrace();
}
}
}
}

閱讀全文

與activemq傳遞文件相關的資料

熱點內容
maya粒子表達式教程 瀏覽:84
抖音小視頻如何掛app 瀏覽:283
cad怎麼設置替補文件 瀏覽:790
win10啟動文件是空的 瀏覽:397
jk網站有哪些 瀏覽:134
學編程和3d哪個更好 瀏覽:932
win10移動硬碟文件無法打開 瀏覽:385
文件名是亂碼還刪不掉 瀏覽:643
蘋果鍵盤怎麼打開任務管理器 瀏覽:437
手機桌面文件名字大全 瀏覽:334
tplink默認無線密碼是多少 瀏覽:33
ipaddgm文件 瀏覽:99
lua語言編程用哪個平台 瀏覽:272
政采雲如何導出pdf投標文件 瀏覽:529
php獲取postjson數據 瀏覽:551
javatimetask 瀏覽:16
編程的話要什麼證件 瀏覽:94
錢脈通微信多開 瀏覽:878
中學生學編程哪個培訓機構好 瀏覽:852
榮耀路由TV設置文件共享錯誤 瀏覽:525

友情鏈接