Bad news, plugins seems to work in management console (x-presence exchange isn't in "red" state) but after binding x-presence exchange to queue, rabbit server log writes the following:<br><br>=ERROR REPORT==== 31-Oct-2012::02:22:37 ===<br>
** Generic server <0.131.0> terminating<br>** Last message in was {'$gen_cast',<br> {submit_async,#Fun<rabbit_binding.3.58413561>}}<br>** When Server state == 2<br>** Reason for termination == <br>
** {function_clause,<br> [{presence_exchange,add_binding,<br> [none,<br> {exchange,<br> {resource,<<"/">>,exchange,<<"xpresence">>},<br>
'x-presence',true,false,false,[],undefined},<br> {binding,<br> {resource,<<"/">>,exchange,<<"xpresence">>},<br> <<>>,<br>
{resource,<<"/">>,queue,<<"qpresence">>},<br> []}],<br> []},<br> {rabbit_binding,x_callback,4,[]},<br> {rabbit_binding,'-recover_semi_durable_route/3-fun-0-',3,[]},<br>
{worker_pool_worker,handle_cast,2,[]},<br> {gen_server2,handle_msg,2,[]},<br> {proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,227}]}]} <br><br>=ERROR REPORT==== 31-Oct-2012::02:19:08 ===<br>
** Generic server <0.1023.0> terminating<br>** Last message in was {'$gen_cast',<br> {method,<br> {'queue.bind',0,<br> <<"1ae1453a-5218-467d-9f10-b4cd10014d2a">>,<br>
<<"xpresence">>,<<>>,false,[]},<br> none,noflow}}<br>** When Server state == {ch,running,rabbit_framing_amqp_0_9_1,1,<0.1019.0>,<br>
<0.1021.0>,<0.1019.0>,<br> "<a href="http://127.0.0.1:54877">127.0.0.1:54877</a> -> <a href="http://127.0.0.1:5672">127.0.0.1:5672</a>",<br> {token,<0.1022.0>,false},<br>
none,1,<br> {[],[]},<br> {[],[]},<br> [],[],<br> {user,<<"guest">>,<br>
[administrator],<br> rabbit_auth_backend_internal,<br> {internal_user,<<"guest">>,<br> <<238,155,95,210,98,65,149,74,208,144,18,<br>
191,58,228,155,137,230,224,252,199>>,<br> [administrator]}},<br> <<"/">>,<br> <<"1ae1453a-5218-467d-9f10-b4cd10014d2a">>,<br>
{dict,0,16,16,8,80,48,<br> {[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],<br> []},<br> {{[],[],[],[],[],[],[],[],[],[],[],[],[],[],<br>
[],[]}}},<br> {dict,0,16,16,8,80,48,<br> {[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],<br> []},<br>
{{[],[],[],[],[],[],[],[],[],[],[],[],[],[],<br> [],[]}}},<br> {set,0,16,16,8,80,48,<br> {[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],<br>
[]},<br> {{[],[],[],[],[],[],[],[],[],[],[],[],[],[],<br> [],[]}}},<br> {dict,0,16,16,8,80,48,<br>
{[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],<br> []},<br> {{[],[],[],[],[],[],[],[],[],[],[],[],[],[],<br> [],[]}}},<br>
{set,0,16,16,8,80,48,<br> {[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],<br> []},<br> {{[],[],[],[],[],[],[],[],[],[],[],[],[],[],<br>
[],[]}}},<br> <0.1017.0>,<br> {state,fine,5000,#Ref<0.0.0.8440>},<br> false,1,<br> {{0,nil},{0,nil}},<br>
[],<br> [{<<"exchange_exchange_bindings">>,bool,true},<br> {<<"consumer_cancel_notify">>,bool,true},<br>
{<<"basic.nack">>,bool,true},<br> {<<"publisher_confirms">>,bool,true}],<br> none}<br>** Reason for termination == <br>
** {function_clause,<br> [{presence_exchange,add_binding,<br> [none,<br> {exchange,<br> {resource,<<"/">>,exchange,<<"xpresence">>},<br>
'x-presence',true,false,false,[],undefined},<br> {binding,<br> {resource,<<"/">>,exchange,<<"xpresence">>},<br> <<>>,<br>
{resource,<<"/">>,queue,<br> <<"1ae1453a-5218-467d-9f10-b4cd10014d2a">>},<br> []}],<br> []},<br> {rabbit_binding,'-add/3-fun-0-',3,[]},<br>
{rabbit_channel,binding_action,9,[]},<br> {rabbit_channel,handle_cast,2,[]},<br> {gen_server2,handle_msg,2,[]},<br> {proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,227}]}]}<br>
<br>=ERROR REPORT==== 31-Oct-2012::02:19:08 ===<br>AMQP connection <0.1019.0>, channel 1 - error:<br>{function_clause,<br> [{presence_exchange,add_binding,<br> [none,<br> {exchange,<br> {resource,<<"/">>,exchange,<<"xpresence">>},<br>
'x-presence',true,false,false,[],undefined},<br> {binding,<br> {resource,<<"/">>,exchange,<<"xpresence">>},<br> <<>>,<br>
{resource,<<"/">>,queue,<br> <<"1ae1453a-5218-467d-9f10-b4cd10014d2a">>},<br> []}],<br> []},<br> {rabbit_binding,'-add/3-fun-0-',3,[]},<br>
{rabbit_channel,binding_action,9,[]},<br> {rabbit_channel,handle_cast,2,[]},<br> {gen_server2,handle_msg,2,[]},<br> {proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,227}]}]}<br><br>=WARNING REPORT==== 31-Oct-2012::02:19:08 ===<br>
Non-AMQP exit reason '{function_clause,<br> [{presence_exchange,add_binding,<br> [none,<br> {exchange,<br> {resource,<<"/">>,exchange,<<"xpresence">>},<br>
'x-presence',true,false,false,[],undefined},<br> {binding,<br> {resource,<<"/">>,exchange,<<"xpresence">>},<br>
<<>>,<br> {resource,<<"/">>,queue,<br> <<"1ae1453a-5218-467d-9f10-b4cd10014d2a">>},<br>
[]}],<br> []},<br> {rabbit_binding,'-add/3-fun-0-',3,[]},<br> {rabbit_channel,binding_action,9,[]},<br> {rabbit_channel,handle_cast,2,[]},<br>
{gen_server2,handle_msg,2,[]},<br> {proc_lib,init_p_do_apply,3,<br> [{file,"proc_lib.erl"},{line,227}]}]}' <br><br>Is any of you able to find a source of problem? We are using Java EE application with spring-rabbit and spring-amqp libraries.<br>
<br>Thank you.<br><br>Oldrich<br><br><div class="gmail_quote">2012/10/30 Oldřich Ešner <span dir="ltr"><<a href="mailto:olda.esner@gmail.com" target="_blank">olda.esner@gmail.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Thank you very much for the fastest fix I have ever seen :)<br><br>If you want to update downloads section, I'm including current ez build of presence plugin.<br><br>Regards,<br><br>Oldrich<div class="HOEnZb"><div class="h5">
<br><br><div class="gmail_quote">
2012/10/30 Simon MacMullen <span dir="ltr"><<a href="mailto:simon@rabbitmq.com" target="_blank">simon@rabbitmq.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div>On 30/10/12 14:18, Tony Garnock-Jones wrote:<br>
</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>
On 30 October 2012 00:27, Olda Ešner <<a href="mailto:olda.esner@gmail.com" target="_blank">olda.esner@gmail.com</a><br></div><div>
<mailto:<a href="mailto:olda.esner@gmail.com" target="_blank">olda.esner@gmail.com</a>>> wrote:<br>
<br>
after upgrading to RabbitMQ 2.8.6 from 2.8.5, presence-exchange<br>
plugin doesn't work. Is there any chance to fix it?<br>
<br>
<br>
It's a consequence of the removal from the server's core of support for<br>
"immediate" publication. At least rabbithub and the udp-exchange will<br>
also have to be updated. The fix should be straightforward.<br>
</div></blockquote>
<br>
...although that's happened on default, not 2.8.6.<br>
<br>
To the OP: you might need to get the un-updated version of the plugin source, and then build that against the 2.8.6 source download.<br>
<br>
Alternatively, whatever plugin binary you created for 2.8.5 should still work, I don't think any APIs changed?<div><br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I'll email again when I'm done. Shouldn't be long.<br>
</blockquote>
<br></div>
*clicks stopwatch* Six minutes, not bad :-)<br>
<br>
Cheers, Simon<span><font color="#888888"><br>
<br>
<br>
-- <br>
Simon MacMullen<br>
RabbitMQ, VMware<br>
</font></span></blockquote></div><br>
</div></div></blockquote></div><br>