标签: esb

如何为自定义消息处理器实现自定义SamplingService?在检索元素之后和执行序列之前进行日志记录

我是WSO2 ESB的新手,我有一个具有这种特定行为的自定义消息处理器:在从消息存储中检索元素之后,在执行与此消息处理器相关的序列之前执行操作.

我试着详细解释一下.

这是我的ESB消息处理器定义:

<?xml version="1.0" encoding="UTF-8"?>
<!---<messageProcessor class="org.apache.synapse.message.processor.impl.sampler.SamplingProcessor" messageStore="transferFromMessageStore" name="transferFromMessageProcessor" xmlns="http://ws.apache.org/ns/synapse">-->
<messageProcessor class="com.mycompany.toolkit.messageprocessor.SamplingProcessorHeaderRateLimitation" messageStore="transferFromMessageStore" name="transferFromMessageProcessor" xmlns="http://ws.apache.org/ns/synapse">
    <parameter name="sequence">transferProcessorSequence</parameter>
    <parameter name="interval">1000</parameter>
    <parameter name="is.active">true</parameter>
    <parameter name="concurrency">1</parameter>
</messageProcessor>
Run Code Online (Sandbox Code Playgroud)

它从transferFromMessageStore(队列)中检索一些元素(XML文档),并将此对象传递给使用它的transferProcessorSequence.xml序列.正如您在此时所看到的,我已经实现了一个自定义消息处理器SamplingProcessorHeaderRateLimit,它只是扩展了org.apache.synapse.message.processor.impl.sampler.SamplingProcessor WSO2类.此时,它仅在执行init()方法时显示日志.我将它部署在我的Carbon服务器上,它可以工作.

在这里,您可以找到整个项目代码.

好但是从我所理解的获得所需的行为我不必简单地扩展SamplingProcessor类,因为为了在每个消息消耗和调度序列之间进行自定义实现,需要扩展类SamplingService类,这一个.

我认为我需要覆盖execute()fetch(MessageConsumer msgConsumer).

此时应该还可以插入日志,每次从消息存储库中检索元素时都会写入日志文件,在此之前执行与消息处理器相关的序列.

可能吗?

所以我的主要主要是:

1)我是否要创建一个将SamplingService类扩展到我实现自定义消息处理器的同一项目中的类(此行为必须仅用于我的WSO2 ESB项目中的此特定消息处理器,所有其他使用的消息处理器在这个项目中必须使用标准的SamplingService实现).

2)另一个疑问与此自定义SamplingService实现如何传递给我的自定义消息处理器有关.进入SamplingProcessor WSO2类(如何将特定的自定义消息处理器实现与处理其生命周期的自定义SamplingService实现相关联).

java esb wso2 wso2esb wso2-enterprise-integrator

12
推荐指数
1
解决办法
222
查看次数

REST API和消息传递

我有一个系统,它使用一组丰富的CRUD端点公开REST API来管理不同的资源.REST API也由使用Ajax执行调用的前端应用程序使用.

我想让其中一些调用异步并增加可靠性.

显而易见的选择似乎是消息代理(ActiveMQ,RabbitMQ等......).

从来没有使用过消息代理,我想知道它们是否可以"放在"REST API之前,而不必重写它们.

我不想仅通过消息传递系统访问REST API:对于某些端点,呼叫必须始终是同步的,并且可靠性不太重要(主要是因为如果出现错误,用户会收到即时反馈).

完整的ESB是否可以成为此用例的更好选择?

api rest esb messagebroker

12
推荐指数
2
解决办法
3155
查看次数

JBI死了吗?它仍然是ESB选择中的有效标准吗?

JBI标准(是?)应该是企业服务总线的标准,特别是在重用/交换不同ESB(或孤独的服务引擎提供商)的功能方面

已知的JBI实现(根据维基百科):

非执行者:

  • IBM =>据我所知,不是JBI.最终遵循SCA
  • JBoss =>自定义

如果不考虑JBI的工作原理,并且它解决了与SCA不同的问题,您是否真的会在ESB选择中考虑它是否符合JBI?还是坚持ESB的能力?

参考:JBI和SCA之间有什么区别/相似之处

soa esb servicebus jbi

11
推荐指数
1
解决办法
3241
查看次数

PHP和ESB(使用Mule)(ESB:企业服务总线)

您在何时,何地以及为何在PHP项目中使用ESB?

在哪里,何时以及为什么认为在PHP项目中使用ESB是有意义的?

ESB(以及像Mule这样的ESB辅导员)是否提供PHP和本机LAMP技术所缺乏的任何功能?

编辑

我对这个问题的动机源于我的假设,你实际上从未真正需要骡子.骡子将促进与外部服务的沟通,您可以在没有骡子的情况下处理.在一天结束时,Mule也会产生成本和开销.所以我的问题是指导有人告诉我你真正受益于ESB和Mule这样的工具的场景,或者凭借扎实的知识来猜测.

编辑2

关于Houcem回复我对他的帖子的评论...什么是ESB/Mule的原生LAMP答案?

编辑3

看起来像Tuxedo可能是Mule/ESB的PHP本地替代品.有人有使用这个工具的经验吗?

php java esb mule

11
推荐指数
1
解决办法
8234
查看次数

API开发平台(例如APIGEE和ESB)之间的差异

我和我的团队将致力于APIGEE,这是一个API开发平台,可以在我们的应用程序中公开一些服务.我正在阅读他们的文档,并试图了解APIGEE或任何其他API开发平台(如Mashery)的需求.关于API代理需求的一篇非常好的文章在给定链接中得到了很好的解释,http://apievangelist.com/2011/06/11/the-battle-for-your-api-proxy/

我感到困惑的一个问题是APIGEE与任何ESB如ALSB或Mule之间什么区别.我们知道Apigee也支持通过http/https/soap等策略和协议进行消息转换.

谁能告诉我两者之间的区别?Esb是否支持更多协议,如SMTP/JMS等.

任何信息都是最受欢迎的

api-design esb mashery apigee

11
推荐指数
1
解决办法
2万
查看次数

Mule ESB:上下文属性占位符

我有一个关于Mule的上下文属性占位符的问题,我有两个文件设置如下:

<context:property-placeholder location="classpath:mule-app-1.properties, file:///etc/mule/conf/mule-app-2.properties" /> 
Run Code Online (Sandbox Code Playgroud)

首先这是一个有效的配置,其次哪个文件优先于另一个?app1或app2文件?

-S

spring esb mule

11
推荐指数
1
解决办法
1万
查看次数

推荐使用哪种基于.NET的BPM(业务流程管理)软件?

我需要推荐一个开源的业务流程管理BPM软件引擎来使用.

任何人都可以建议使用这样的BPM软件吗?

谢谢你的时间.

esb business-process-management jbpm bpmn

11
推荐指数
1
解决办法
1万
查看次数

企业服务总线术语

任何人都可以在初级中级层面解释企业服务总线环境中"总线","传输"和"端点"的术语吗?我是一名C#开发人员,现在有几年经验,但只是刚开始使用ESB.

似乎"总线"实际上是一个可以发送和接收消息的队列.我很好.然而,我正在使用NServiceBus处理一些现有的代码,我想如果我理解了"端点"和"传输"术语,我会在我的理解中实现大幅度的飞跃.

esb servicebus

10
推荐指数
1
解决办法
2299
查看次数

开源SOA堆栈

我将评估开源SOA解决方案.有什么选择?
我正在寻找提供(可能)完整SOA堆栈的东西.

我想要以下功能 -

  1. BPEL
  2. BPM
  3. ESB
  4. SOA治理
  5. 好的工具

现在Glassfish ESB看起来是个不错的选择.还有其他好的Stacks吗?

soa open-source esb eai

10
推荐指数
2
解决办法
4682
查看次数

Apache Camel:什么游戏消息?

在像Apache Camel这样的ESB上,什么机制实际上是沿着从端点到端点的路由"前进"(拉/推)消息?

请问骆驼RouteBuilder刚刚组成的图形EndpointsRoutes以及知道哪些目的地/下一Endpoint传递一个消息给它访问某后Endpoint还是做Endpoints自己知道这是因为它已经处理了消息的下一个目的地.

无论哪种方式,我都很困惑:

  • 如果它RouteBuilder知道通过系统的消息"流",那么这RouteBuilder需要知道何时Endpoint A应该将消息传递给Endpoint Bvs 旁边的业务逻辑Endpoint C,但是在所有Camel示例中我看到这个业务逻辑没有存在; 和
  • 似乎将这种"流动"业务逻辑放在Endpoints一起将它们组合在一起并破坏了SOA/ESB/EIP等的一些基本原则.

java architecture soa esb apache-camel

10
推荐指数
2
解决办法
689
查看次数