导航:首页 > 文件教程 > 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传递文件相关的资料

热点内容
u盘文件给删了 浏览:737
vuejsoauth2 浏览:78
2017微信支付日 浏览:81
机械臂编程如何开发 浏览:21
标书U盘PDF文件要不要签字 浏览:222
ps软件文件复制到d盘 浏览:148
一般工业固废招标文件内容 浏览:583
网站建设报价怎么算 浏览:66
三星a7000升级安卓502 浏览:486
word2010清除分隔符 浏览:781
乐视怎么切换网络 浏览:425
cad打印pdf文件名称与cad不一致 浏览:815
电气与可编程控制是什么 浏览:67
文件名中允许使用英文竖线吗 浏览:531
编程猫在哪里 浏览:775
win8共享文件夹访问权限 浏览:380
cad文件显示为只读不能保存怎么办 浏览:703
如何在系统里忘记网络 浏览:24
中小企业出口数据在哪里找 浏览:715
win8和xp传文件 浏览:75

友情链接