Hi,
i succeed in deploying activemq webconsole in tomee+ (1.7.0) with this
configuration :
- tomee.xml
<Resource id="MyJmsResourceAdapter" type="ActiveMQResourceAdapter">
BrokerXmlConfig =
broker:(tcp://IPOfMyServer:61616)&useJmx=true&usekahadb=true&kahadb.directory=../jmsdata&persistent=true
</Resource>
- system.properties
webconsole.type = invm
openejb.classloader.forced-skip = org.apache.activemq.broker.
openejb.classloader.forced-load = org.apache.xbean.spring.
But now... i'm trying to make the activemq webconsole (deployed in "admin"
folder) running in 2 tomee+ deployed in the same server. Each tomee+ has it
own IP (IpOfMyServer1 and IpOfMyServer2). When i start first tomee
(IpOfMyServer1), webconsole is working, but when i start the second one :
-IpOfMyServer1:8080/admin/queues.jsp is working
-IpOfMyServer2:8080/admin/queues.jsp display an error message (and doesn't
display queues). In the log i can see :
/GRAVE: Servlet.service() for servlet [jsp] in context with path [/admin]
threw exception [javax.el.ELException: Error reading 'name' on type
$Proxy201] with root cause
javax.management.InstanceNotFoundException:
org.apache.activemq:type=Broker,brokerName=localhost,destinationType=Queue,destinationName=MyQueueName
at
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getMBean(DefaultMBeanServerInterceptor.java:1094)
at
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getAttribute(DefaultMBeanServerInterceptor.java:662)
at
com.sun.jmx.mbeanserver.JmxMBeanServer.getAttribute(JmxMBeanServer.java:638)
at
javax.management.MBeanServerInvocationHandler.invoke(MBeanServerInvocationHandler.java:263)
at $Proxy201.getName(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at javax.el.BeanELResolver.getValue(BeanELResolver.java:99)
at
org.apache.jasper.el.JasperELResolver.getValue(JasperELResolver.java:104)
at org.apache.el.parser.AstValue.getValue(AstValue.java:183)
at
org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:184)
at
org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate(PageContextImpl.java:967)
at
org.apache.jsp.queues_jsp._jspx_meth_c_005fparam_005f0(queues_jsp.java:749)
at
org.apache.jsp.queues_jsp._jspx_meth_c_005furl_005f8(queues_jsp.java:719)
at
org.apache.jsp.queues_jsp._jspx_meth_c_005fforEach_005f0(queues_jsp.java:613)
at org.apache.jsp.queues_jsp._jspService(queues_jsp.java:256)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
at
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at
org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99)
at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.activemq.web.SessionFilter.doFilter(SessionFilter.java:45)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at
org.apache.activemq.web.filter.ApplicationContextFilter.doFilter(ApplicationContextFilter.java:102)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
at org.apache.tomee.catalina.OpenEJBValve.invoke(OpenEJBValve.java:44)
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
at
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1070)
at
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
at
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:662)/
I think the problem is coming from "localhost" used somewhere in activemq
and/or tomee (but perhaps you have an other idea?)
When i start the server, i can see this log :
/org.apache.activemq.broker.jmx.ManagementContext$1 run
INFO: JMX consoles can connect to
service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi/
How can i configure "ManagementContext" to use "IpOfMyServer" instead of
"localhost" ?
Thanks in advance for your help
Clément
--
View this message in context:
http://tomee-openejb.979440.n4.nabble.com/activemq-webconsole-multi-tomee-tp4673183.html
Sent from the TomEE Users mailing list archive at Nabble.com.