Spring AMQP和两个RabbitMQ服务器之间的换位(Spring AMQP and conmutation between two RabbitMQ servers)
我有一个项目,我使用Spring AMQP。 我有两个SimpleMessageListenerContainer,一个是服务器(amq-gen)自行声明的队列,另一个是具有给定名称的队列。 我使用SimpleRoutingConnectionFactory和两个CachingConnectionFactory。 对于错误检测,我有一个ConnectionListener,ListenerContainerConsumerFailedEvent和一个ConditionalExceptionLogger。
一旦在AMQP连接中检测到错误,想法是在两个Rabbit服务器之间切换,但是当AMQP连接中存在错误时,ConditionalExceptionLogger中会抛出几个错误,类型为ListenerContainerConsumerFailedEvent类型的几个事件,并使自动切换的事实复杂化在服务器之间
在多次重试的情况下,自动切换的最佳方法是什么?
谢谢
I have a project in which I use Spring AMQP. I have two SimpleMessageListenerContainer, one with a self-declared queue by the server (amq-gen), and one with a queue with a given name. I use a SimpleRoutingConnectionFactory with two CachingConnectionFactory. For error detection I have a ConnectionListener, ListenerContainerConsumerFailedEvent, and a ConditionalExceptionLogger.
The idea is to switch between two Rabbit servers once an error is detected in the AMQP connection, but when there is an error in the AMQP connection several errors are thrown in the ConditionalExceptionLogger, several events of type ListenerContainerConsumerFailedEvent, and complicates the fact of switching automatically Between servers.
What could be the best way to do that switching automatically given a number of retries?
Thank you
原文:https://stackoverflow.com/questions/44544268
最满意答案
我用以下指令解决了它:
app.directive('mediaelem', function($timeout) { return { restrict: 'A', link: function(scope, element) { $timeout(function(){ var eventAudio = document.querySelector('.audiocontainer').getAttribute('data-audio'); $(element).attr('src', eventAudio).mediaelementplayer(); }, 500); } }; });
我省略了我用于音频标签的指令,并使用上面的指令,如下所示:
<div ng-repeat="audio in event.audios"> <div class="audiocontainer" data-audio="data/events/{{event.id_evento}}/recursos/audio/{{audio}}"> <audio controls src="" mediaelem> </div> </div>
它没有任何问题。
I solved it with the following directive:
app.directive('mediaelem', function($timeout) { return { restrict: 'A', link: function(scope, element) { $timeout(function(){ var eventAudio = document.querySelector('.audiocontainer').getAttribute('data-audio'); $(element).attr('src', eventAudio).mediaelementplayer(); }, 500); } }; });
I omited the directive I was using for the audio tag and used the directive above like this:
<div ng-repeat="audio in event.audios"> <div class="audiocontainer" data-audio="data/events/{{event.id_evento}}/recursos/audio/{{audio}}"> <audio controls src="" mediaelem> </div> </div>
It works without any problems.
相关问答
更多-
我不确定我是否理解你的问题,但是你可以在指令中“包含”另一个指令作为依赖。 这是一个小例子: 风景:
-
当然,您可以使用嵌套指令。 但是你的指令模板中几乎没有错误。 请查看下面的示例并相应地修复您的模板。 .directive('directive1', function() { return { restrict: 'E', scope: { config: '=' }, template: 'Config1:{{config}}
... 默认情况下,指令创建新的原型继承范围。 原型继承意味着(简而言之)当读取此范围中不存在的属性时,Angular会尝试从父级读取它。 在编写属性时,它始终写在此范围内。 所以dir2在dir1的范围内创建了一个范围。 当dir2只读取ng-model属性时,它会从dir1的范围读取它。 写入时,它会写入自己的范围。 dir1对内部范围一无所知,因此只要在“Directive 2”文本框中键入内容,指令就会显示不同的值。 此外,使用ng-model="item"不会引用dataService的值,因为它显然是有 ...改变道具 template: '../views/navigation-directive.html', 至 templateUrl: '../views/navigation-directive.html', change prop template: '../views/navigation-directive.html', to templateUrl: '../views/navigation-directive.html',结帐这个plnkr 您正在模板中创建模板。 将custom-dir.html更改为以下内容Checkout this plnkr you are creating template in your template. Change your custom-dir.html to following templateUrl属性值可以是一个函数,它接受两个参数tElement和tAttrs并返回一个字符串值: app.directive('myTemplateDirective', ['myconfig', function (myconfig) { return { templateUrl: function (tElem, tAttrs) { var template = "my-template-one.html"; if (t ...Angular指令不能用?(Angular directive cannot be used?)[2024-03-05]
尝试添加不带[]绑定的scrollable指令:我用以下指令解决了它: app.directive('mediaelem', function($timeout) { return { restrict: 'A', link: function(scope, element) { $timeout(function(){ var eventAudio = document.querySelector('.audiocontainer').getAttribute('data-audio'); ...Angular Directive覆盖另一个指令的参数(Angular Directive to overwrite the parameters of another directive)[2023-09-08]
由于指令生命周期,上面的代码不起作用。 在指令函数中, link是最后要执行的东西,此时已经编译了other-directive 。 相反,它应该是 compile: function(element, attributes) { attributes.value = "Hello"; attributes.$set('value', 'Hello'); } 顺便说一句, = binding将导致空值,因为范围上没有Hello属性。 它可能应该是@ 。 然而,这是一个黑客。 执行此操作的惯用方法是 ...角度模板指令绑定(Angular template directive binding)[2022-08-07]
Angular有两种内置可能性: Yout模板应该直接包含在'index.html'中。 (同步模板) in which: app.run(function($templateCache) { $templateCache.put('templateId', '') }) 每个模板应该在单独的文件template1.html , templat2.html ...(异步模板) PS在开发期间,模板始终位于单 ...相关文章
更多- RabbitMQ 与Spring整合
- RabbitMQ 简介
- RabbitMQ 插件管理
- RabbitMQ 简单队列
- RabbitMQ 集群搭建
- RabbitMQ 环境配置-基于windows 10 x64
- RabbitMQ 环境配置-基于linux
- RabbitMQ vhost管理
- RabbitMQ 用户管理
- RabbitMQ 消息确认方式
最新问答
更多- 获取MVC 4使用的DisplayMode后缀(Get the DisplayMode Suffix being used by MVC 4)
- 如何通过引用返回对象?(How is returning an object by reference possible?)
- 矩阵如何存储在内存中?(How are matrices stored in memory?)
- 每个请求的Java新会话?(Java New Session For Each Request?)
- css:浮动div中重叠的标题h1(css: overlapping headlines h1 in floated divs)
- 无论图像如何,Caffe预测同一类(Caffe predicts same class regardless of image)
- xcode语法颜色编码解释?(xcode syntax color coding explained?)
- 在Access 2010 Runtime中使用Office 2000校对工具(Use Office 2000 proofing tools in Access 2010 Runtime)
- 从单独的Web主机将图像传输到服务器上(Getting images onto server from separate web host)
- 从旧版本复制文件并保留它们(旧/新版本)(Copy a file from old revision and keep both of them (old / new revision))
- 西安哪有PLC可控制编程的培训
- 在Entity Framework中选择基类(Select base class in Entity Framework)
- 在Android中出现错误“数据集和渲染器应该不为null,并且应该具有相同数量的系列”(Error “Dataset and renderer should be not null and should have the same number of series” in Android)
- 电脑二级VF有什么用
- Datamapper Ruby如何添加Hook方法(Datamapper Ruby How to add Hook Method)
- 金华英语角.
- 手机软件如何制作
- 用于Android webview中图像保存的上下文菜单(Context Menu for Image Saving in an Android webview)
- 注意:未定义的偏移量:PHP(Notice: Undefined offset: PHP)
- 如何读R中的大数据集[复制](How to read large dataset in R [duplicate])
- Unity 5 Heighmap与地形宽度/地形长度的分辨率关系?(Unity 5 Heighmap Resolution relationship to terrain width / terrain length?)
- 如何通知PipedOutputStream线程写入最后一个字节的PipedInputStream线程?(How to notify PipedInputStream thread that PipedOutputStream thread has written last byte?)
- python的访问器方法有哪些
- DeviceNetworkInformation:哪个是哪个?(DeviceNetworkInformation: Which is which?)
- 在Ruby中对组合进行排序(Sorting a combination in Ruby)
- 网站开发的流程?
- 使用Zend Framework 2中的JOIN sql检索数据(Retrieve data using JOIN sql in Zend Framework 2)
- 条带格式类型格式模式编号无法正常工作(Stripes format type format pattern number not working properly)
- 透明度错误IE11(Transparency bug IE11)
- linux的基本操作命令。。。