You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@camel.apache.org by "kraythe ." <kr...@gmail.com> on 2013/11/09 03:34:41 UTC

How to get JMX running on EAP 6.1.1 (JBoss 7+)

When I start the camel context, I get the following exceptions:

[Server:Local01] 20:30:49,901 INFO
 [org.apache.camel.component.servletlistener.CamelServletContextListener]
(ServerService Thread Pool -- 149) CamelContextServletListener initializing
...
[Server:Local01] 20:30:55,152 INFO
 [org.apache.camel.component.servletlistener.CamelServletContextListener]
(ServerService Thread Pool -- 149) JMXAgent enabled
[Server:Local01] 20:31:00,277 INFO
 [org.apache.camel.component.servletlistener.ServletCamelContext]
(ServerService Thread Pool -- 149) Apache Camel 2.12.1 (CamelContext:
CaseAutomationRoutes) is starting
[Server:Local01] 20:31:00,278 INFO
 [org.apache.camel.management.ManagedManagementStrategy] (ServerService
Thread Pool -- 149) JMX is enabled
[Server:Local01] 20:31:05,288 ERROR [stderr] (Camel Thread #1 - Camel
Thread #0 - JMXConnector:
service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi/camel) Exception in
thread "Camel Thread #1 - Camel Thread #0 - JMXConnector:
service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi/camel"
java.lang.UnsupportedOperationException: JBAS011859: Naming context is
read-only
[Server:Local01] 20:31:05,288 ERROR [stderr] (Camel Thread #1 - Camel
Thread #0 - JMXConnector:
service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi/camel) at
org.jboss.as.naming.WritableServiceBasedNamingStore.requireOwner(WritableServiceBasedNamingStore.java:144)
[Server:Local01] 20:31:05,289 ERROR [stderr] (Camel Thread #1 - Camel
Thread #0 - JMXConnector:
service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi/camel) at
org.jboss.as.naming.WritableServiceBasedNamingStore.bind(WritableServiceBasedNamingStore.java:62)
[Server:Local01] 20:31:05,289 ERROR [stderr] (Camel Thread #1 - Camel
Thread #0 - JMXConnector:
service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi/camel) at
org.jboss.as.naming.NamingContext.bind(NamingContext.java:248)
[Server:Local01] 20:31:05,289 ERROR [stderr] (Camel Thread #1 - Camel
Thread #0 - JMXConnector:
service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi/camel) at
org.jboss.as.naming.InitialContext.bind(InitialContext.java:147)
[Server:Local01] 20:31:05,290 ERROR [stderr] (Camel Thread #1 - Camel
Thread #0 - JMXConnector:
service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi/camel) at
org.jboss.as.naming.NamingContext.bind(NamingContext.java:257)
[Server:Local01] 20:31:05,290 ERROR [stderr] (Camel Thread #1 - Camel
Thread #0 - JMXConnector:
service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi/camel) at
javax.naming.InitialContext.bind(InitialContext.java:419)
[Server:Local01] 20:31:05,290 ERROR [stderr] (Camel Thread #1 - Camel
Thread #0 - JMXConnector:
service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi/camel) at
javax.management.remote.rmi.RMIConnectorServer.bind(RMIConnectorServer.java:643)
[Server:Local01] 20:31:05,290 ERROR [stderr] (Camel Thread #1 - Camel
Thread #0 - JMXConnector:
service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi/camel) at
javax.management.remote.rmi.RMIConnectorServer.start(RMIConnectorServer.java:426)
[Server:Local01] 20:31:05,291 ERROR [stderr] (Camel Thread #1 - Camel
Thread #0 - JMXConnector:
service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi/camel) at
org.apache.camel.management.DefaultManagementAgent$1.run(DefaultManagementAgent.java:443)
[Server:Local01] 20:31:05,291 ERROR [stderr] (Camel Thread #1 - Camel
Thread #0 - JMXConnector:
service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi/camel) at
java.lang.Thread.run(Thread.java:724)

Clearly the JNDI context is read only for JBoss and I confirmed that as a
design decision. Only the deployer can write to the JNDI context. So what I
am wondering is how I can get camel JMX working in this constraint.

Thanks for your time.

*Robert Simmons Jr. MSc. - Lead Java Architect @ EA*
*Author of: Hardcore Java (2003) and Maintainable Java (2012)*
*LinkedIn: **http://www.linkedin.com/pub/robert-simmons/40/852/a39
<http://www.linkedin.com/pub/robert-simmons/40/852/a39>*

Re: How to get JMX running on EAP 6.1.1 (JBoss 7+)

Posted by Claus Ibsen <cl...@gmail.com>.
Hi

How have you configured the jmx agent in Camel?

JMX is enabled by default, and without creating a special Camel
connector. It looks like you have enabled that with
createConnector="true".

If you do not do that you ought to still be able to see Camel MBeans
if you connect to the JBoss AS JMX connector its usual way. Camel will
still enlist its MBean in the default mbean server.

Though there is some JMX Agent options you can tweak.
http://camel.apache.org/camel-jmx.html

Maybe take a look at that and there is some hints for using an older
JBoss. Maybe that still applies for JBoss AS 7.

On Sat, Nov 9, 2013 at 3:34 AM, kraythe . <kr...@gmail.com> wrote:
> When I start the camel context, I get the following exceptions:
>
> [Server:Local01] 20:30:49,901 INFO
>  [org.apache.camel.component.servletlistener.CamelServletContextListener]
> (ServerService Thread Pool -- 149) CamelContextServletListener initializing
> ...
> [Server:Local01] 20:30:55,152 INFO
>  [org.apache.camel.component.servletlistener.CamelServletContextListener]
> (ServerService Thread Pool -- 149) JMXAgent enabled
> [Server:Local01] 20:31:00,277 INFO
>  [org.apache.camel.component.servletlistener.ServletCamelContext]
> (ServerService Thread Pool -- 149) Apache Camel 2.12.1 (CamelContext:
> CaseAutomationRoutes) is starting
> [Server:Local01] 20:31:00,278 INFO
>  [org.apache.camel.management.ManagedManagementStrategy] (ServerService
> Thread Pool -- 149) JMX is enabled
> [Server:Local01] 20:31:05,288 ERROR [stderr] (Camel Thread #1 - Camel
> Thread #0 - JMXConnector:
> service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi/camel) Exception in
> thread "Camel Thread #1 - Camel Thread #0 - JMXConnector:
> service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi/camel"
> java.lang.UnsupportedOperationException: JBAS011859: Naming context is
> read-only
> [Server:Local01] 20:31:05,288 ERROR [stderr] (Camel Thread #1 - Camel
> Thread #0 - JMXConnector:
> service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi/camel) at
> org.jboss.as.naming.WritableServiceBasedNamingStore.requireOwner(WritableServiceBasedNamingStore.java:144)
> [Server:Local01] 20:31:05,289 ERROR [stderr] (Camel Thread #1 - Camel
> Thread #0 - JMXConnector:
> service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi/camel) at
> org.jboss.as.naming.WritableServiceBasedNamingStore.bind(WritableServiceBasedNamingStore.java:62)
> [Server:Local01] 20:31:05,289 ERROR [stderr] (Camel Thread #1 - Camel
> Thread #0 - JMXConnector:
> service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi/camel) at
> org.jboss.as.naming.NamingContext.bind(NamingContext.java:248)
> [Server:Local01] 20:31:05,289 ERROR [stderr] (Camel Thread #1 - Camel
> Thread #0 - JMXConnector:
> service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi/camel) at
> org.jboss.as.naming.InitialContext.bind(InitialContext.java:147)
> [Server:Local01] 20:31:05,290 ERROR [stderr] (Camel Thread #1 - Camel
> Thread #0 - JMXConnector:
> service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi/camel) at
> org.jboss.as.naming.NamingContext.bind(NamingContext.java:257)
> [Server:Local01] 20:31:05,290 ERROR [stderr] (Camel Thread #1 - Camel
> Thread #0 - JMXConnector:
> service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi/camel) at
> javax.naming.InitialContext.bind(InitialContext.java:419)
> [Server:Local01] 20:31:05,290 ERROR [stderr] (Camel Thread #1 - Camel
> Thread #0 - JMXConnector:
> service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi/camel) at
> javax.management.remote.rmi.RMIConnectorServer.bind(RMIConnectorServer.java:643)
> [Server:Local01] 20:31:05,290 ERROR [stderr] (Camel Thread #1 - Camel
> Thread #0 - JMXConnector:
> service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi/camel) at
> javax.management.remote.rmi.RMIConnectorServer.start(RMIConnectorServer.java:426)
> [Server:Local01] 20:31:05,291 ERROR [stderr] (Camel Thread #1 - Camel
> Thread #0 - JMXConnector:
> service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi/camel) at
> org.apache.camel.management.DefaultManagementAgent$1.run(DefaultManagementAgent.java:443)
> [Server:Local01] 20:31:05,291 ERROR [stderr] (Camel Thread #1 - Camel
> Thread #0 - JMXConnector:
> service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi/camel) at
> java.lang.Thread.run(Thread.java:724)
>
> Clearly the JNDI context is read only for JBoss and I confirmed that as a
> design decision. Only the deployer can write to the JNDI context. So what I
> am wondering is how I can get camel JMX working in this constraint.
>
> Thanks for your time.
>
> *Robert Simmons Jr. MSc. - Lead Java Architect @ EA*
> *Author of: Hardcore Java (2003) and Maintainable Java (2012)*
> *LinkedIn: **http://www.linkedin.com/pub/robert-simmons/40/852/a39
> <http://www.linkedin.com/pub/robert-simmons/40/852/a39>*



-- 
Claus Ibsen
-----------------
Red Hat, Inc.
Email: cibsen@redhat.com
Twitter: davsclaus
Blog: http://davsclaus.com
Author of Camel in Action: http://www.manning.com/ibsen