2012-08-23 7 views
1

여기에 설명 된대로 jpa 멱등 원 리포지토리를 구현하려고하는데, 대문자 내보내기 오류가 발생합니다.낙타의 ftp jpa 멱등 원 저장소를 등록하는 중 오류가 발생했습니다.

내 application-context.xml에 다음 섹션이 있습니다.

<bean id="mvStore" class="org.apache.camel.processor.idempotent.jpa.JpaMessageIdRepository" lazy-init="false"> 
     <!-- Here we refer to the spring jpaTemplate --> 
     <constructor-arg index="0" ref="jpaTemplate" /> 
     <!-- This 2nd parameter is the name (= a cateogry name). You can have different repositories with different names --> 
     <constructor-arg index="1" value="FileConsumer" /> 
    </bean> 
<context:mbean-server id="mbeanServer" /> 
<context:mbean-export server="mbeanServer" registration="replaceExisting" default-domain="br.com.touchtec"/> 

위의 섹션을 제거하면 서버 (tomcat)가 정상적으로 시작됩니다. 아무도 이걸 도와 줄 수 없나요?

여기 스택의 모든의

Caused by: org.springframework.jmx.export.UnableToRegisterMBeanException: Unable to register MBean [o[email protected]6df960c4] with key 'mvStore'; nested exception is javax.management.MalformedObjectNameException: Key properties cannot be empty 
    at org.springframework.jmx.export.MBeanExporter.registerBeanNameOrInstance(MBeanExporter.java:602) 
    at org.springframework.jmx.export.MBeanExporter.registerBeans(MBeanExporter.java:527) 
    at org.springframework.jmx.export.MBeanExporter.afterPropertiesSet(MBeanExporter.java:413) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1477) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1417) 
    ... 50 more 

Caused by: javax.management.MalformedObjectNameException: Key properties cannot be empty 
    at javax.management.ObjectName.construct(ObjectName.java:467) 
    at javax.management.ObjectName.<init>(ObjectName.java:1403) 
    at javax.management.ObjectName.getInstance(ObjectName.java:1285) 
    at org.springframework.jmx.support.ObjectNameManager.getInstance(ObjectNameManager.java:62) 
    at org.springframework.jmx.export.naming.MetadataNamingStrategy.getObjectName(MetadataNamingStrategy.java:114) 
    at org.springframework.jmx.export.MBeanExporter.getObjectName(MBeanExporter.java:728) 
    at org.springframework.jmx.export.MBeanExporter.registerBeanInstance(MBeanExporter.java:631) 
    at org.springframework.jmx.export.MBeanExporter.registerBeanNameOrInstance(MBeanExporter.java:592) 
    ... 54 more 

답변

0

첫째, 난 당신이 JMX 부분이 멱등 원 (冪 等 元) 저장소 작업을 할 필요가 없습니다 사실에 분명히있어 바랍니다. 오류는 순수한 JMX/Spring 오류이며 Camel에 연결되지 않았습니다.

MBeanExporter를 사용하려면 Spring JMX의 공식 설명서를 읽고이 문제를보다 잘 이해해야합니다.

<bean id="exporter" class="org.springframework.jmx.export.MBeanExporter"> 
    <property name="beans"> 
     <map> 
     <entry key="bean:name=mvStore" value-ref="mvStore"/> 
     </map> 
    </property> 
    <property name="server" ref="mbeanServer"/> 
    </bean> 
+0

예, 내가 알고 있어요처럼

귀하의 MBeanExporter에 정의가 보일 수 있습니다. 그러나 필자의 구성은 공식 문서의 22.4.3 절과 비슷하게 나타나기 전에 낙타 멱등 원을 넣기 전에 작동하고있었습니다. 그래서, 왜 이런 일이 생길까요? 낙타의 클래스가 기본 spring-jmx config에서 작동 할 정도로 똑똑해야하지 않습니까? – user1607938