当前位置: 首页 > 知识库问答 >
问题:

在jboss中配置camel jmx时的异常

尉迟子民
2023-03-14

我正在Jboss 6.3.0中部署Come jmxAgent。下面是代码片段:

<?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>

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

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)

此外,我无法从jConnor连接到上述url。

注意:jboss容器不在我的本地服务器和其他服务器中。因此JMX url是服务:JMX:rmi:///jndi/rmi://uspnsvulx785.elabs.svcs.lxp.com:1099/jmxrmi/camel

骆驼版:2.23.2

共有2个答案

葛修真
2023-03-14

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

它不会修复上述异常,但您可以监视驼峰路由和处理器。

此外,您还可以从camel上下文中删除下面给出的jmxAgent行。如果使用jboss连接器,则为xml。

<jmxAgent id="agent" createConnector="true"/>
戚正业
2023-03-14

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

 类似资料:
  • 我刚刚开始使用Java EE。有人知道我在这里错过了什么吗?如果你需要更多的信息请告诉我。我正在使用intelliJ和JBoss EAP。 [2016-02-21 11:57:19,930]工件HelloWorld:War:工件部署期间出错。有关详细信息,请参阅服务器日志。[2016-02-21 11:57:19,931]项目helloworld:war:java.lang.exception:{

  • 我想在REDHAT JBoss EAP7.0中为Mariadb配置XA数据源。我 创建了一个非XA数据源,详细信息如下,连接工作正常。 驱动程序:mysql-connector-java-5.1.46.jar_com.mysql.jdbc.driver_5_1 连接URL:jdbc:mysql:/localhost:3306/test 但是,当我尝试为分布式事务创建新的XA数据源时,它失败了,并出

  • 在jboss中配置日志记录的最佳方法是什么,我已经尝试了2种方法(都失败了):1.)使用jboss内置,根据一些文章我只需要添加对slf4j-api的依赖,就像提供的范围: *这里的问题是在eclipse控制台中没有显示日志。 2.)使用logback,所以我在jboss-deployment-structure.xml中排除了slf4j和impl,并且在我的war项目中包含了slf4j/logb

  • 我在一个集群中有两个节点;我允许用户有节点特定的配置,如日志级别,本地缓存设置等;有时,管理这些设置变得非常困难,因为用户必须知道或记住应用在特定节点上的配置--在找到该特定节点之前移动一个又一个节点;是否有任何标准或已知的方法可以从单个地方管理这些节点?比如,从httpd服务器本身还是将一个节点作为主节点并记住其他节点?

  • 正如我所知,hive支持sql就像Multi-Select中的一个一样,我的sql是这样的: 我尝试一个查询多选择,但配置单元返回异常:“编译语句时出错:failed:SemanticException Exception在处理时异常” 有人知道为什么会这样吗?如何解决?谢谢,高尔。

  • 然后错误显示在蜂巢: 失败:执行错误,从org.apache.hadoop.hive.ql.exec.mr.MapRedWork返回代码-101。org.apache.hadoop.mapreduce.v2.util.MRApps.setEnvFromInputProperties(Ljava/util/Map;Ljava/lang/String;Ljava/lang/String;Lorg/ap