【问题标题】:Excpetion while configuring camel jmx in jboss在 jboss 中配置骆驼 jmx 时出现异常
【发布时间】:2019-05-08 20:17:25
【问题描述】:

我在 Jboss 6.3.0 中部署了 jmxAgent。下面是代码sn-p:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
          xmlns:camel="http://camel.apache.org/schema/spring"
          xmlns:context="http://www.springframework.org/schema/context"
            xmlns:util="http://www.springframework.org/schema/util"
         xsi:schemaLocation=" http://www.springframework.org/schema/beans
                http://www.springframework.org/schema/beans/spring-beans.xsd 
                 http://camel.apache.org/schema/spring 
                 http://camel.apache.org/schema/spring/camel-spring.xsd   
                http://www.springframework.org/schema/util     
                http://www.springframework.org/schema/util/spring-util-3.0.xsd
               http://www.springframework.org/schema/context  
               http://www.springframework.org/schema/context/spring-context.xsd ">

    <context:annotation-config />

    <!-- start : Files import to camel context-->
    <!-- Active MQ message broker -->
    <!-- <import resource="classpath:META-INF/spring/message-borker/integration-message-broker.xml" /> -->
    <import resource="file:${FIS_HOME}/COMMON/database-context.xml" />
    <import resource="file:${FIS_HOME}/CA/job-scheduer-route-context.xml" />
    <import resource="file:${FIS_HOME}/CA/jobs-process-route-context.xml" />
    <import resource="file:${FIS_HOME}/CA/pci-jobs-process-route-context.xml" />
    <import resource="file:${FIS_HOME}/CA/archiving_reports.xml" />
    <import resource="file:${FIS_HOME}/COMMON/powercard-sqlFetcher-route-context.xml" />
    <import resource="file:${FIS_HOME}/COMMON/rest/rest-context.xml" />
    <!-- End : Files import to camel context-->

    <camelContext xmlns="http://camel.apache.org/schema/spring" trace="true" streamCache="true"
                  lazyLoadTypeConverters="true" id="main">


        <properties>
            <property key="CamelLogEipName" value="com.hp.rcu.rtsp.filemanager.route"/>
        </properties>

        <propertyPlaceholder id="properties"
                             location="file:${FIS_HOME}/COMMON/routes.properties"
                             xmlns="http://camel.apache.org/schema/spring"/>

        <jmxAgent id="agent" createConnector="true"/>

</camelContext>

虽然部署成功,但我可以在日志中看到以下异常:

13:50:47,163 ERROR [stderr] (Camel Thread #2 - Camel Thread #1 - JMXConnector: service:jmx:rmi:///jndi/rmi://uspnsvulx785.elabs.svcs.lxp.com:1099/jmxrmi/camel) Exception in thread "Camel Thread #2 - Camel Thread #1 - JMXConnector: service:jmx:rmi:///jndi/rmi://205.239.212.91:1099/jmxrmi/camel" java.lang.UnsupportedOperationException: JBAS011859: Naming context is read-only
13:50:47,164 ERROR [stderr] (Camel Thread #2 - Camel Thread #1 - JMXConnector: service:jmx:rmi:///jndi/rmi://uspnsvulx785.elabs.svcs.lxp.com:1099/jmxrmi/camel)         at org.jboss.as.naming.WritableServiceBasedNamingStore.requireOwner(WritableServiceBasedNamingStore.java:155)
13:50:47,165 ERROR [stderr] (Camel Thread #2 - Camel Thread #1 - JMXConnector: service:jmx:rmi:///jndi/rmi://uspnsvulx785.elabs.svcs.lxp.com:1099/jmxrmi/camel)         at org.jboss.as.naming.WritableServiceBasedNamingStore.bind(WritableServiceBasedNamingStore.java:63)
13:50:47,165 ERROR [stderr] (Camel Thread #2 - Camel Thread #1 - JMXConnector: service:jmx:rmi:///jndi/rmi://uspnsvulx785.elabs.svcs.lxp.com:1099/jmxrmi/camel)         at org.jboss.as.naming.NamingContext.bind(NamingContext.java:248)
13:50:47,165 ERROR [stderr] (Camel Thread #2 - Camel Thread #1 - JMXConnector: service:jmx:rmi:///jndi/rmi://uspnsvulx785.elabs.svcs.lxp.com:1099/jmxrmi/camel)         at org.jboss.as.naming.InitialContext$DefaultInitialContext.bind(InitialContext.java:268)
13:50:47,167 ERROR [stderr] (Camel Thread #2 - Camel Thread #1 - JMXConnector: service:jmx:rmi:///jndi/rmi://uspnsvulx785.elabs.svcs.lxp.com:1099/jmxrmi/camel)         at org.jboss.as.naming.NamingContext.bind(NamingContext.java:257)
13:50:47,167 ERROR [stderr] (Camel Thread #2 - Camel Thread #1 - JMXConnector: service:jmx:rmi:///jndi/rmi://uspnsvulx785.elabs.svcs.lxp.com:1099/jmxrmi/camel)         at javax.naming.InitialContext.bind(InitialContext.java:425)
13:50:47,168 ERROR [stderr] (Camel Thread #2 - Camel Thread #1 - JMXConnector: service:jmx:rmi:///jndi/rmi://uspnsvulx785.elabs.svcs.lxp.com:1099/jmxrmi/camel)         at javax.naming.InitialContext.bind(InitialContext.java:425)
13:50:47,168 ERROR [stderr] (Camel Thread #2 - Camel Thread #1 - JMXConnector: service:jmx:rmi:///jndi/rmi://uspnsvulx785.elabs.svcs.lxp.com:1099/jmxrmi/camel)         at javax.management.remote.rmi.RMIConnectorServer.bind(RMIConnectorServer.java:644)
13:50:47,168 ERROR [stderr] (Camel Thread #2 - Camel Thread #1 - JMXConnector: service:jmx:rmi:///jndi/rmi://uspnsvulx785.elabs.svcs.lxp.com:1099/jmxrmi/camel)         at javax.management.remote.rmi.RMIConnectorServer.start(RMIConnectorServer.java:427)
13:50:47,169 ERROR [stderr] (Camel Thread #2 - Camel Thread #1 - JMXConnector: service:jmx:rmi:///jndi/rmi://uspnsvulx785.elabs.svcs.lxp.com:1099/jmxrmi/camel)         at org.apache.camel.management.DefaultManagementAgent$1.run(DefaultManagementAgent.java:570)
13:50:47,170 ERROR [stderr] (Camel Thread #2 - Camel Thread #1 - JMXConnector: service:jmx:rmi:///jndi/rmi://uspnsvulx785.elabs.svcs.lxp.com:1099/jmxrmi/camel)         at java.lang.Thread.run(Thread.java:748)

我也无法从 jconsole 连接到上述 url。

注意:jboss 容器不在我的本地和另一台服务器中。所以 JMX url 是 service:jmx:rmi:///jndi/rmi://uspnsvulx785.elabs.svcs.lxp.com:1099/jmxrmi/camel

骆驼版:2.23.2

【问题讨论】:

    标签: apache-camel jmx jboss6.x spring-dsl


    【解决方案1】:

    你可以检查这个 - http://camel.apache.org/camel-jmx.html。 这里有一个 JBoss 部分可以帮助您配置它。

    【讨论】:

    • 是的,我在实施之前已经这样做了。仍然得到异常
    【解决方案2】:

    好的,现在我有一个解决方法。我没有在 Camel 中实现 jmx 连接器,而是使用了 Jboss 本身的连接器。您可以在其中看到 jboss 的所有 mbean。你会在 org.apache.camel 下找到骆驼的所有 mbean。

    它不会修复上述异常,但您可以监控骆驼路线和处理器。

    如果使用 jboss 连接器,您还可以从 camel-context.xml 中删除下面给出的 jmxAgent 行。

    <jmxAgent id="agent" createConnector="true"/>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-03-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多