我想将一个消息队列暴露给互联网,以便客户端应用程序可以与我们的一些后端服务进行通信.
由于安全原因,我不想直接公开jms端点.此外,普通的HTTP传输可以避免将jms插件分发到异构客户端应用程序(.net,java,javascript)的需要.
我看了一下ActiveMQ的"内置"REST接口:
http://activemq.apache.org/rest.html
但在测试中,我发现该演示不可靠(即"我的消息在哪里?").此外,关于如何将演示拉入"真正的"实现,没有详细记录.
由于这听起来像企业集成模式中的经典"桥"模式,我看了主要的开源ESB/SOA集成引擎:
在这三个中,最清晰的文档似乎是ServiceMix,它提供了一个In-only消息模式,我需要POST和GET消息.
不幸的是,对于评估条款,我似乎不得不深入研究每个实现和配置.我意识到开箱即用的设置可能太多了,但我宁愿不学习所有这三个,只考虑哪一个最符合我的需求.所以...
我正在尝试为WSO2 ESB安装Eclipse插件.
我按照安装指南中的说明进行操作,但过去5天内未提供地址http://tools.wso2.org/eclipse/.
我可以下载插件的替代链接吗?
我正在使用mule studio,我正在尝试它的例子.
当我做HTTP浏览器请求时,同时发出2个请求,其中第一个是/favicon.ico,第二个请求是实际请求.
我的配置XML如下.
<?xml version="1.0" encoding="UTF-8"?>
<mule xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:http="http://www.mulesoft.org/schema/mule/http" xmlns:file="http://www.mulesoft.org/schema/mule/file" xmlns:jms="http://www.mulesoft.org/schema/mule/jms" xmlns:doc="http://www.mulesoft.org/schema/mule/documentation" xmlns:spring="http://www.springframework.org/schema/beans" xmlns:core="http://www.mulesoft.org/schema/mule/core" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="CE-3.2.1" xsi:schemaLocation="
http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
http://www.mulesoft.org/schema/mule/file http://www.mulesoft.org/schema/mule/file/current/mule-file.xsd
http://www.mulesoft.org/schema/mule/jms http://www.mulesoft.org/schema/mule/jms/current/mule-jms.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd ">
<jms:activemq-connector name="Active_MQ" brokerURL="tcp://localhost:61616" validateConnections="true" doc:name="Active MQ"/>
<flow name="Inititationflow" doc:name="Inititationflow">
<http:inbound-endpoint exchange-pattern="request-response" host="localhost" port="8046" doc:name="HTTP"/>
<echo-component doc:name="Echo"/>
<jms:outbound-endpoint queue="BANK1" exchange-pattern="request-response" doc:name="JMS"/>
</flow>
<flow name="SampleTest" doc:name="SampleTest">
<jms:inbound-endpoint queue="BANK1" connector-ref="Active_MQ" doc:name="JMS"/>
<echo-component doc:name="Echo"/>
<append-string-transformer message="AppendedPart" doc:name="Append String"/>
<echo-component doc:name="Echo"/>
<file:outbound-endpoint path="C:\Documents and Settings\balajik\Desktop" outputPattern="myfile.txt" doc:name="File"/>
</flow>
</mule>
Run Code Online (Sandbox Code Playgroud)
我什么时候做Http浏览器请求:lh:8046/manasa-sundarraman
当2个请求出现时,流程执行两次.请求是:1)/favicon.ico 2)/ manasa-sunderraman
我的问题是/favicon.ico是什么?为什么要作为请求来?怎么避免呢?
我正在尝试评估Mule提供的一套开箱即用的传输,并将其与例如ServiceMix和OpenESB的产品进行比较.
在Mule的主页上,我找到了支持的传输列表:
http://www.mulesoft.org/documentation/display/current/Transports+Reference
但是我也找到了一个连接器列表:
http://www.mulesoft.org/connectors
这些列表似乎至少有一些重叠,但有些技术被列为传输,而不是连接器,例如有Quartz传输,但不是连接器.
所以问题是:Mule Transport和Mule Connector之间究竟有什么区别,为什么例如Quartz是传输而不是连接器?
他们摆脱了社区版吗?我无法在其网站上的任何位置找到下载链接.还有其他链接我可以从某个地方下载吗?
谢谢
我正在做一些初步调查,使用MassTransit分解当前的单片系统.我使用基于队列的ESB的主要原因是我首先要处理的一组功能是使用共享数据库本质上是一个队列.
我也一直在阅读"构建微服务",虽然我还没有完成它,其中一个核心原则似乎是微服务本质上应该是独立的.
我如何协调使用MassTransit,它必须共享一个消息库(或至少是合同)以及这些服务不应该"知道"彼此之间的任何事实?
谁能告诉我MQ(消息队列)和ESB(企业服务总线)有什么区别?我知道两者都提供进程间通信并处理消息传递,但在互联网上没有那么多信息,而且每个人的描述都不同。我也不知道Message Broker和ESB有什么区别?ESB 是消息代理吗?MQ 真的只服务于标准通信的基本目的,而 ESB 提供一些额外的东西 - 比如监控等吗?或者MQ只是基本的消息队列,消息存储在哪里,没有任何组件你就不能用它做任何事情?谢谢!!
我想知道是否可以使用nServiceBus订阅所有类型的消息而不指定发布者的终点.
背景为此,是一种分布式算法,它使用nServiceBus的分发器infra结构将子问题委托给网络上的分布式工作者.
任务完成后,工作人员应发送消息通知发件人.
我可以使用IBus.Reply()来通知它,但我也有一些监视和日志记录服务,它们也对这些消息感兴趣.使发送者重新发布所有收到的回复都听起来不对.
我可以在nServiceBus中订阅来自多个发布者的消息吗?
我的组织最近一直在努力解决我们是否应该将不同的中间件产品/概念合并到我们的应用程序中的问题.我们正在关注的产品包括Pegasystems,Oracle BPM/BPEL,BizTalk,Fair Isaac Blaze等等.
但是我很难掌握这一切.在我开始评估这些不同产品的有用性(正面或负面)之前,我试图了解这个领域的所有不同概念.我对BPM,ESB,SOA,CEP,WF,BRE,ERP等的字母表不知所措.有些产品似乎涵盖了这些方面中的一个或多个,其他产品则专注于做一个.这些术语似乎都很模糊,彼此混淆.
是否有一个很好的资源来处理所有这些不同的中间件概念/模式?一本书?一个网站?一篇总结得很好的文章?如果有资源将各种流行产品映射到他们所处理的模式,则奖励积分.
谢谢,
〜贾斯汀
我想将流变量与文字字符串进行比较,并忽略变量的大小写.例如
...
<when expression="#[StringUtils.upperCase(flowVars['officeCode']) == 'REGION1']">
....
Run Code Online (Sandbox Code Playgroud)
产生的错误是[错误:无法访问:StringUtils; 在课堂上:null] [近:{...未知....}]
我也试过了
<when expression="#[regex('[a-zA-Z0-9]+',flowVars['officeCode'],Pattern.CASE_INSENSITIVE) == 'REGION1']">
Run Code Online (Sandbox Code Playgroud)
对于正则表达式比较,我收到错误"文本不是字符串"
任何帮助非常感谢.
esb ×10
mule ×4
soa ×3
http ×2
java ×2
business-process-management ×1
c# ×1
eclipse ×1
favicon ×1
jms ×1
masstransit ×1
middleware ×1
mq ×1
mule-studio ×1
nservicebus ×1
plugins ×1
servicebus ×1
wso2 ×1
wso2esb ×1