Closed alex-arriaga closed 6 years ago
I have Ubuntu 16.04 as operating system, here are the outputs when running commands to check the status.
# Running this command gives me
epmd -names
epmd: up and running on port 4369 with data:
name rabbit at port 25672
I have enabled the RabbitMQ's STOMP plugin using
rabbitmq-plugins enable rabbitmq_stomp
And then double-checking the status I am receiving:
rabbitmqctl status
Status of node rabbit@localhost ... [{pid,5064}, {running_applications, [{rabbitmq_stomp,"RabbitMQ STOMP plugin","3.7.2"}, {amqp_client,"RabbitMQ AMQP Client","3.7.2"}, {rabbit,"RabbitMQ","3.7.2"}, {mnesia,"MNESIA CXC 138 12","4.15.3"}, {rabbit_common, "Modules shared by rabbitmq-server and rabbitmq-erlang-client", "3.7.2"}, {jsx,"a streaming, evented json parsing toolkit","2.8.2"}, {ranch_proxy_protocol,"Ranch Proxy Protocol Transport","1.4.4"}, {ranch,"Socket acceptor pool for TCP protocols.","1.4.0"}, {ssl,"Erlang/OTP SSL application","8.2.3"}, {public_key,"Public key infrastructure","1.5.2"}, {asn1,"The Erlang ASN1 compiler version 5.0.4","5.0.4"}, {inets,"INETS CXC 138 49","6.4.5"}, {xmerl,"XML parser","1.3.16"}, {os_mon,"CPO CXC 138 46","2.4.4"}, {recon,"Diagnostic tools for production use","2.3.2"}, {crypto,"CRYPTO","4.2"}, {lager,"Erlang logging framework","3.5.1"}, {goldrush,"Erlang event stream processor","0.1.9"}, {compiler,"ERTS CXC 138 10","7.1.4"}, {syntax_tools,"Syntax tools","2.1.4"}, {sasl,"SASL CXC 138 11","3.1.1"}, {stdlib,"ERTS CXC 138 10","3.4.3"}, {kernel,"ERTS CXC 138 10","5.4.1"}]}, {os,{unix,linux}}, {erlang_version, "Erlang/OTP 20 [erts-9.2] [source] [64-bit] [smp:2:2] [ds:2:2:10] [async-threads:64] [hipe] [kernel-poll:true]\n"}, {memory, [{connection_readers,0}, {connection_writers,0}, {connection_channels,0}, {connection_other,29528}, {queue_procs,0}, {queue_slave_procs,0}, {plugins,70064}, {other_proc,24958824}, {metrics,184544}, {mgmt_db,0}, {mnesia,74280}, {other_ets,1931504}, {binary,1129520}, {msg_index,28976}, {code,25637151}, {atom,1082561}, {other_system,10064816}, {allocated_unused,12001448}, {reserved_unallocated,0}, {strategy,rss}, {total,[{erlang,65191768},{rss,74334208},{allocated,77193216}]}]}, {alarms,[]}, {listeners,[{clustering,25672,"::"},{amqp,5672,"::"},{stomp,61613,"::"}]}, {vm_memory_calculation_strategy,rss}, {vm_memory_high_watermark,0.4}, {vm_memory_limit,1652257587}, {disk_free_limit,50000000}, {disk_free,45763788800}, {file_descriptors, [{total_limit,924},{total_used,3},{sockets_limit,829},{sockets_used,1}]}, {processes,[{limit,1048576},{used,226}]}, {run_queue,0}, {uptime,21883}, {kernel,{net_ticktime,60}}]
If you notice, I have now a listener of RabbitMQ on port 61613
{listeners,[{clustering,25672,"::"},{amqp,5672,"::"},{stomp,61613,"::"}]},
Checking the logs using docker I see a Java exception:
docker logs carbonldp-platform --follow
WARN [c.c.m.OnlineTransactionalMessagingService][5d04ce6b] -- Message couldn't be send
org.springframework.messaging.MessageDeliveryException: Message broker not active. Consider subscribing to receive BrokerAvailabilityEvent's from an ApplicationListener Spring bean.
at org.springframework.messaging.simp.stomp.StompBrokerRelayMessageHandler.handleMessageInternal(StompBrokerRelayMessageHandler.java:446) ~[spring-messaging-5.0.2.RELEASE.jar:5.0.2.RELEASE]
at org.springframework.messaging.simp.broker.AbstractBrokerMessageHandler.handleMessage(AbstractBrokerMessageHandler.java:241) ~[spring-messaging-5.0.2.RELEASE.jar:5.0.2.RELEASE]
at org.springframework.messaging.support.ExecutorSubscribableChannel$SendTask.run(ExecutorSubscribableChannel.java:138) ~[spring-messaging-5.0.2.RELEASE.jar:5.0.2.RELEASE]
at org.springframework.messaging.support.ExecutorSubscribableChannel.sendInternal(ExecutorSubscribableChannel.java:94) ~[spring-messaging-5.0.2.RELEASE.jar:5.0.2.RELEASE]
at org.springframework.messaging.support.AbstractMessageChannel.send(AbstractMessageChannel.java:119) ~[spring-messaging-5.0.2.RELEASE.jar:5.0.2.RELEASE]
at org.springframework.messaging.support.AbstractMessageChannel.send(AbstractMessageChannel.java:105) ~[spring-messaging-5.0.2.RELEASE.jar:5.0.2.RELEASE]
at org.springframework.messaging.simp.SimpMessagingTemplate.sendInternal(SimpMessagingTemplate.java:187) ~[spring-messaging-5.0.2.RELEASE.jar:5.0.2.RELEASE]
at org.springframework.messaging.simp.SimpMessagingTemplate.doSend(SimpMessagingTemplate.java:179) ~[spring-messaging-5.0.2.RELEASE.jar:5.0.2.RELEASE]
at org.springframework.messaging.simp.SimpMessagingTemplate.doSend(SimpMessagingTemplate.java:48) ~[spring-messaging-5.0.2.RELEASE.jar:5.0.2.RELEASE]
at org.springframework.messaging.core.AbstractMessageSendingTemplate.send(AbstractMessageSendingTemplate.java:108) ~[spring-messaging-5.0.2.RELEASE.jar:5.0.2.RELEASE]
at com.carbonldp.messaging.OnlineTransactionalMessagingService._send(OnlineTransactionalMessagingService.java:106) [carbonldp-platform.jar:?]
at com.carbonldp.messaging.OnlineTransactionalMessagingService.access$1(OnlineTransactionalMessagingService.java:104) [carbonldp-platform.jar:?]
at com.carbonldp.messaging.OnlineTransactionalMessagingService$MessageTransactionSynchronization.afterCompletion(OnlineTransactionalMessagingService.java:179) [carbonldp-platform.jar:?]
at org.springframework.transaction.support.TransactionSynchronizationUtils.invokeAfterCompletion(TransactionSynchronizationUtils.java:171) [spring-tx-5.0.2.RELEASE.jar:5.0.2.RELEASE]
at org.springframework.transaction.support.AbstractPlatformTransactionManager.invokeAfterCompletion(AbstractPlatformTransactionManager.java:988) [spring-tx-5.0.2.RELEASE.jar:5.0.2.RELEASE]
at org.springframework.transaction.support.AbstractPlatformTransactionManager.triggerAfterCompletion(AbstractPlatformTransactionManager.java:963) [spring-tx-5.0.2.RELEASE.jar:5.0.2.RELEASE]
at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:784) [spring-tx-5.0.2.RELEASE.jar:5.0.2.RELEASE]
at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:710) [spring-tx-5.0.2.RELEASE.jar:5.0.2.RELEASE]
at org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:532) [spring-tx-5.0.2.RELEASE.jar:5.0.2.RELEASE]
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:304) [spring-tx-5.0.2.RELEASE.jar:5.0.2.RELEASE]
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:98) [spring-tx-5.0.2.RELEASE.jar:5.0.2.RELEASE]
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185) [spring-aop-5.0.2.RELEASE.jar:5.0.2.RELEASE]
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92) [spring-aop-5.0.2.RELEASE.jar:5.0.2.RELEASE]
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185) [spring-aop-5.0.2.RELEASE.jar:5.0.2.RELEASE]
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212) [spring-aop-5.0.2.RELEASE.jar:5.0.2.RELEASE]
at com.sun.proxy.$Proxy50.createChild(Unknown Source) [?:?]
at com.carbonldp.ldp.web.BaseRDFPostRequestHandler.createChild(BaseRDFPostRequestHandler.java:19) [carbonldp-platform.jar:?]
at com.carbonldp.ldp.web.AbstractRDFPostRequestHandler.handlePOSTToContainer(AbstractRDFPostRequestHandler.java:92) [carbonldp-platform.jar:?]
at com.carbonldp.ldp.web.AbstractRDFPostRequestHandler.handleRequest(AbstractRDFPostRequestHandler.java:58) [carbonldp-platform.jar:?]
at com.carbonldp.ldp.web.AbstractRDFPostRequestHandler$$FastClassBySpringCGLIB$$ada266ad.invoke(<generated>) [carbonldp-platform.jar:?]
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) [spring-core-5.0.2.RELEASE.jar:5.0.2.RELEASE]
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:747) [spring-aop-5.0.2.RELEASE.jar:5.0.2.RELEASE]
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) [spring-aop-5.0.2.RELEASE.jar:5.0.2.RELEASE]
at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:136) [spring-aop-5.0.2.RELEASE.jar:5.0.2.RELEASE]
at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:124) [spring-aop-5.0.2.RELEASE.jar:5.0.2.RELEASE]
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185) [spring-aop-5.0.2.RELEASE.jar:5.0.2.RELEASE]
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:689) [spring-aop-5.0.2.RELEASE.jar:5.0.2.RELEASE]
at com.carbonldp.ldp.web.BaseRDFPostRequestHandler$$EnhancerBySpringCGLIB$$481cded9.handleRequest(<generated>) [carbonldp-platform.jar:?]
at com.carbonldp.ldp.web.DefaultLDPController.handleRDFPost(DefaultLDPController.java:47) [carbonldp-platform.jar:?]
at sun.reflect.GeneratedMethodAccessor39.invoke(Unknown Source) ~[?:?]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_131]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_131]
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:209) [spring-web-5.0.2.RELEASE.jar:5.0.2.RELEASE]
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:136) [spring-web-5.0.2.RELEASE.jar:5.0.2.RELEASE]
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:102) [spring-webmvc-5.0.2.RELEASE.jar:5.0.2.RELEASE]
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:871) [spring-webmvc-5.0.2.RELEASE.jar:5.0.2.RELEASE]
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:777) [spring-webmvc-5.0.2.RELEASE.jar:5.0.2.RELEASE]
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) [spring-webmvc-5.0.2.RELEASE.jar:5.0.2.RELEASE]
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:991) [spring-webmvc-5.0.2.RELEASE.jar:5.0.2.RELEASE]
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:925) [spring-webmvc-5.0.2.RELEASE.jar:5.0.2.RELEASE]
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:978) [spring-webmvc-5.0.2.RELEASE.jar:5.0.2.RELEASE]
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:881) [spring-webmvc-5.0.2.RELEASE.jar:5.0.2.RELEASE]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:707) [javax.servlet-api-3.1.0.jar:3.1.0]
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:855) [spring-webmvc-5.0.2.RELEASE.jar:5.0.2.RELEASE]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) [javax.servlet-api-3.1.0.jar:3.1.0]
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:841) [jetty-servlet-9.4.6.v20170531.jar:9.4.6.v20170531]
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1650) [jetty-servlet-9.4.6.v20170531.jar:9.4.6.v20170531]
at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99) [spring-web-5.0.2.RELEASE.jar:?]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-5.0.2.RELEASE.jar:?]
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637) [jetty-servlet-9.4.6.v20170531.jar:9.4.6.v20170531]
at org.springframework.web.filter.HTTPFilterBean.doFilter(HTTPFilterBean.java:49) [carbonldp-platform.jar:?]
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637) [jetty-servlet-9.4.6.v20170531.jar:9.4.6.v20170531]
at org.springframework.web.filter.HTTPFilterBean.doFilter(HTTPFilterBean.java:49) [carbonldp-platform.jar:?]
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1629) [jetty-servlet-9.4.6.v20170531.jar:9.4.6.v20170531]
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533) [jetty-servlet-9.4.6.v20170531.jar:9.4.6.v20170531]
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) [jetty-server-9.4.6.v20170531.jar:9.4.6.v20170531]
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548) [jetty-security-9.4.6.v20170531.jar:9.4.6.v20170531]
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132) [jetty-server-9.4.6.v20170531.jar:9.4.6.v20170531]
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:190) [jetty-server-9.4.6.v20170531.jar:9.4.6.v20170531]
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595) [jetty-server-9.4.6.v20170531.jar:9.4.6.v20170531]
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:188) [jetty-server-9.4.6.v20170531.jar:9.4.6.v20170531]
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1253) [jetty-server-9.4.6.v20170531.jar:9.4.6.v20170531]
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:168) [jetty-server-9.4.6.v20170531.jar:9.4.6.v20170531]
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473) [jetty-servlet-9.4.6.v20170531.jar:9.4.6.v20170531]
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564) [jetty-server-9.4.6.v20170531.jar:9.4.6.v20170531]
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:166) [jetty-server-9.4.6.v20170531.jar:9.4.6.v20170531]
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1155) [jetty-server-9.4.6.v20170531.jar:9.4.6.v20170531]
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) [jetty-server-9.4.6.v20170531.jar:9.4.6.v20170531]
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132) [jetty-server-9.4.6.v20170531.jar:9.4.6.v20170531]
at org.eclipse.jetty.server.Server.handle(Server.java:564) [jetty-server-9.4.6.v20170531.jar:9.4.6.v20170531]
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:317) [jetty-server-9.4.6.v20170531.jar:9.4.6.v20170531]
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251) [jetty-server-9.4.6.v20170531.jar:9.4.6.v20170531]
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:279) [jetty-io-9.4.6.v20170531.jar:9.4.6.v20170531]
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:110) [jetty-io-9.4.6.v20170531.jar:9.4.6.v20170531]
at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:124) [jetty-io-9.4.6.v20170531.jar:9.4.6.v20170531]
at org.eclipse.jetty.util.thread.Invocable.invokePreferred(Invocable.java:128) [jetty-util-9.4.6.v20170531.jar:9.4.6.v20170531]
at org.eclipse.jetty.util.thread.Invocable$InvocableExecutor.invoke(Invocable.java:222) [jetty-util-9.4.6.v20170531.jar:9.4.6.v20170531]
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:294) [jetty-util-9.4.6.v20170531.jar:9.4.6.v20170531]
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:199) [jetty-util-9.4.6.v20170531.jar:9.4.6.v20170531]
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:673) [jetty-util-9.4.6.v20170531.jar:9.4.6.v20170531]
at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:591) [jetty-util-9.4.6.v20170531.jar:9.4.6.v20170531]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_131]
Port 61613 in my host is open:
netstat --listen
Result
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 *:ssh *:* LISTEN
tcp 0 0 *:25672 *:* LISTEN
tcp 0 0 *:http *:* LISTEN
tcp 0 0 *:epmd *:* LISTEN
tcp6 0 0 [::]:8083 [::]:* LISTEN
tcp6 0 0 [::]:ssh [::]:* LISTEN
tcp6 0 0 [::]:8000 [::]:* LISTEN
tcp6 0 0 [::]:amqp [::]:* LISTEN
tcp6 0 0 [::]:61613 [::]:* LISTEN
tcp6 0 0 [::]:http [::]:* LISTEN
tcp6 0 0 [::]:epmd [::]:* LISTEN
Active UNIX domain sockets (only servers)
Proto RefCnt Flags Type State I-Node Path
unix 2 [ ACC ] STREAM LISTENING 36608 /var/run/docker/metrics.sock
unix 2 [ ACC ] STREAM LISTENING 1804993 @/containerd-shim/moby/7521c7d9408c793363eeed8ccf21bf887c93e7b5c609a473ae8cbb064d2c6521/shim.sock@
unix 2 [ ACC ] STREAM LISTENING 319775 @/containerd-shim/moby/0fdcb9c4061df47623585d50b5b6a566e26a3d639a280e9e4afbd1388017e0f3/shim.sock@
unix 2 [ ACC ] STREAM LISTENING 1799780 /run/user/0/systemd/private
unix 2 [ ACC ] STREAM LISTENING 14694 /var/run/dbus/system_bus_socket
unix 2 [ ACC ] STREAM LISTENING 14697 /run/uuidd/request
unix 2 [ ACC ] STREAM LISTENING 37265 /run/docker/libnetwork/787893f9a76ead32f7b07dbb7196d037d65aed98b16620621b055c3d29064faf.sock
unix 2 [ ACC ] STREAM LISTENING 1969 /run/systemd/private
unix 2 [ ACC ] STREAM LISTENING 1981 /run/systemd/fsck.progress
unix 2 [ ACC ] SEQPACKET LISTENING 1992 /run/udev/control
unix 2 [ ACC ] STREAM LISTENING 1998 /run/systemd/journal/stdout
unix 2 [ ACC ] STREAM LISTENING 36579 /var/run/docker.sock
unix 2 [ ACC ] STREAM LISTENING 36597 /var/run/docker/containerd/docker-containerd-debug.sock
unix 2 [ ACC ] STREAM LISTENING 36599 /var/run/docker/containerd/docker-containerd.sock
After debugging @alex-arriaga's server, we nailed the cause of the problem to an issue with authentication on the RabbitMQ server.
RabbitMQ is configured by default to allow only guest
users to connect when they are coming from localhost
. In @alex-arriaga's case, the Carbon LDP server was accessing it from outside, so the logs of RabbitMQ showed a login failed
error.
See https://www.rabbitmq.com/access-control.html#loopback-users
Thank you @MiguelAraCo
Created an issue to track support for authentication on message brokers:
CarbonLDP/carbonldp-platform#9
Created an issue to track documentation of this topic:
CarbonLDP/carbonldp-website#204
Hi I have installed Rabbit MQ in order to subscribe my app to several real time events. However, I am receiving following error: