Bad news, plugins seems to work in management console (x-presence exchange isn&#39;t in &quot;red&quot; 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 &lt;0.131.0&gt; terminating<br>** Last message in was {&#39;$gen_cast&#39;,<br>                           {submit_async,#Fun&lt;rabbit_binding.3.58413561&gt;}}<br>** When Server state == 2<br>** Reason for termination == <br>
** {function_clause,<br>       [{presence_exchange,add_binding,<br>            [none,<br>             {exchange,<br>                 {resource,&lt;&lt;&quot;/&quot;&gt;&gt;,exchange,&lt;&lt;&quot;xpresence&quot;&gt;&gt;},<br>
                 &#39;x-presence&#39;,true,false,false,[],undefined},<br>             {binding,<br>                 {resource,&lt;&lt;&quot;/&quot;&gt;&gt;,exchange,&lt;&lt;&quot;xpresence&quot;&gt;&gt;},<br>                 &lt;&lt;&gt;&gt;,<br>
                 {resource,&lt;&lt;&quot;/&quot;&gt;&gt;,queue,&lt;&lt;&quot;qpresence&quot;&gt;&gt;},<br>                 []}],<br>            []},<br>        {rabbit_binding,x_callback,4,[]},<br>        {rabbit_binding,&#39;-recover_semi_durable_route/3-fun-0-&#39;,3,[]},<br>
        {worker_pool_worker,handle_cast,2,[]},<br>        {gen_server2,handle_msg,2,[]},<br>        {proc_lib,init_p_do_apply,3,[{file,&quot;proc_lib.erl&quot;},{line,227}]}]} <br><br>=ERROR REPORT==== 31-Oct-2012::02:19:08 ===<br>
** Generic server &lt;0.1023.0&gt; terminating<br>** Last message in was {&#39;$gen_cast&#39;,<br>                           {method,<br>                               {&#39;queue.bind&#39;,0,<br>                                   &lt;&lt;&quot;1ae1453a-5218-467d-9f10-b4cd10014d2a&quot;&gt;&gt;,<br>
                                   &lt;&lt;&quot;xpresence&quot;&gt;&gt;,&lt;&lt;&gt;&gt;,false,[]},<br>                               none,noflow}}<br>** When Server state == {ch,running,rabbit_framing_amqp_0_9_1,1,&lt;0.1019.0&gt;,<br>
                            &lt;0.1021.0&gt;,&lt;0.1019.0&gt;,<br>                            &quot;<a href="http://127.0.0.1:54877">127.0.0.1:54877</a> -&gt; <a href="http://127.0.0.1:5672">127.0.0.1:5672</a>&quot;,<br>                            {token,&lt;0.1022.0&gt;,false},<br>
                            none,1,<br>                            {[],[]},<br>                            {[],[]},<br>                            [],[],<br>                            {user,&lt;&lt;&quot;guest&quot;&gt;&gt;,<br>
                                [administrator],<br>                                rabbit_auth_backend_internal,<br>                                {internal_user,&lt;&lt;&quot;guest&quot;&gt;&gt;,<br>                                    &lt;&lt;238,155,95,210,98,65,149,74,208,144,18,<br>
                                      191,58,228,155,137,230,224,252,199&gt;&gt;,<br>                                    [administrator]}},<br>                            &lt;&lt;&quot;/&quot;&gt;&gt;,<br>                            &lt;&lt;&quot;1ae1453a-5218-467d-9f10-b4cd10014d2a&quot;&gt;&gt;,<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>                            &lt;0.1017.0&gt;,<br>                            {state,fine,5000,#Ref&lt;0.0.0.8440&gt;},<br>                            false,1,<br>                            {{0,nil},{0,nil}},<br>
                            [],<br>                            [{&lt;&lt;&quot;exchange_exchange_bindings&quot;&gt;&gt;,bool,true},<br>                             {&lt;&lt;&quot;consumer_cancel_notify&quot;&gt;&gt;,bool,true},<br>
                             {&lt;&lt;&quot;basic.nack&quot;&gt;&gt;,bool,true},<br>                             {&lt;&lt;&quot;publisher_confirms&quot;&gt;&gt;,bool,true}],<br>                            none}<br>** Reason for termination == <br>
** {function_clause,<br>       [{presence_exchange,add_binding,<br>            [none,<br>             {exchange,<br>                 {resource,&lt;&lt;&quot;/&quot;&gt;&gt;,exchange,&lt;&lt;&quot;xpresence&quot;&gt;&gt;},<br>
                 &#39;x-presence&#39;,true,false,false,[],undefined},<br>             {binding,<br>                 {resource,&lt;&lt;&quot;/&quot;&gt;&gt;,exchange,&lt;&lt;&quot;xpresence&quot;&gt;&gt;},<br>                 &lt;&lt;&gt;&gt;,<br>
                 {resource,&lt;&lt;&quot;/&quot;&gt;&gt;,queue,<br>                     &lt;&lt;&quot;1ae1453a-5218-467d-9f10-b4cd10014d2a&quot;&gt;&gt;},<br>                 []}],<br>            []},<br>        {rabbit_binding,&#39;-add/3-fun-0-&#39;,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,&quot;proc_lib.erl&quot;},{line,227}]}]}<br>
<br>=ERROR REPORT==== 31-Oct-2012::02:19:08 ===<br>AMQP connection &lt;0.1019.0&gt;, channel 1 - error:<br>{function_clause,<br>    [{presence_exchange,add_binding,<br>         [none,<br>          {exchange,<br>              {resource,&lt;&lt;&quot;/&quot;&gt;&gt;,exchange,&lt;&lt;&quot;xpresence&quot;&gt;&gt;},<br>
              &#39;x-presence&#39;,true,false,false,[],undefined},<br>          {binding,<br>              {resource,&lt;&lt;&quot;/&quot;&gt;&gt;,exchange,&lt;&lt;&quot;xpresence&quot;&gt;&gt;},<br>              &lt;&lt;&gt;&gt;,<br>
              {resource,&lt;&lt;&quot;/&quot;&gt;&gt;,queue,<br>                  &lt;&lt;&quot;1ae1453a-5218-467d-9f10-b4cd10014d2a&quot;&gt;&gt;},<br>              []}],<br>         []},<br>     {rabbit_binding,&#39;-add/3-fun-0-&#39;,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,&quot;proc_lib.erl&quot;},{line,227}]}]}<br><br>=WARNING REPORT==== 31-Oct-2012::02:19:08 ===<br>
Non-AMQP exit reason &#39;{function_clause,<br>                       [{presence_exchange,add_binding,<br>                         [none,<br>                          {exchange,<br>                           {resource,&lt;&lt;&quot;/&quot;&gt;&gt;,exchange,&lt;&lt;&quot;xpresence&quot;&gt;&gt;},<br>
                           &#39;x-presence&#39;,true,false,false,[],undefined},<br>                          {binding,<br>                           {resource,&lt;&lt;&quot;/&quot;&gt;&gt;,exchange,&lt;&lt;&quot;xpresence&quot;&gt;&gt;},<br>
                           &lt;&lt;&gt;&gt;,<br>                           {resource,&lt;&lt;&quot;/&quot;&gt;&gt;,queue,<br>                            &lt;&lt;&quot;1ae1453a-5218-467d-9f10-b4cd10014d2a&quot;&gt;&gt;},<br>
                           []}],<br>                         []},<br>                        {rabbit_binding,&#39;-add/3-fun-0-&#39;,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,&quot;proc_lib.erl&quot;},{line,227}]}]}&#39; <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">&lt;<a href="mailto:olda.esner@gmail.com" target="_blank">olda.esner@gmail.com</a>&gt;</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&#39;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">&lt;<a href="mailto:simon@rabbitmq.com" target="_blank">simon@rabbitmq.com</a>&gt;</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 &lt;<a href="mailto:olda.esner@gmail.com" target="_blank">olda.esner@gmail.com</a><br></div><div>
&lt;mailto:<a href="mailto:olda.esner@gmail.com" target="_blank">olda.esner@gmail.com</a>&gt;&gt; wrote:<br>
<br>
    after upgrading to RabbitMQ 2.8.6 from 2.8.5, presence-exchange<br>
    plugin doesn&#39;t work. Is there any chance to fix it?<br>
<br>
<br>
It&#39;s a consequence of the removal from the server&#39;s core of support for<br>
&quot;immediate&quot; 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&#39;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&#39;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&#39;ll email again when I&#39;m done. Shouldn&#39;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>