1

In order to use the "parallel deployment" in tomcat 7 (deploy a new versión while maintaining the old one) we need to configure the JMX beans as "replace existing"

This was easy with our beans, just adding the

<property name="registrationBehaviorName" value="REGISTRATION_REPLACE_EXISTING"/>

but, for the spring integration channels, automatically created with

<jmx:mbean-export default-domain="com.mycompany.app" server="mbean-server" />

Here "registration" does not works, that is the only reference I could found

I cant found where/how to set the same behaviour, so the app fails on deploy because the channels etc already have a JMX bean and the new one can not work

Maybe sounds easy but I have been searching/googling a lot and didn't found the answer

Thanks a lot

earroyoron
  • 192
  • 1
  • 10
  • `mbean-export` has nothing to do with Spring integration it i just the namespace support [from Spring](http://docs.spring.io/spring-framework/docs/current/spring-framework-reference/html/jmx.html#jmx-exporting) (at least what I see). And this has a `registration` [property]() which you should be able to set. You should use the value `replaceExisting`. – M. Deinum Aug 25 '14 at 08:35
  • I am sorry but this has this result: cvc-complex-type.3.2.2: Attribute 'registration' is not allowed to appear in element 'jmx:mbean-export' – earroyoron Aug 25 '14 at 09:37
  • Which Spring version are you using? And make sure you are using version-less xsd so that you always have to most recent version of a schema. – M. Deinum Aug 25 '14 at 09:46
  • Also there is nothing prevent you from still using the beans instead of the namespace support. Adding a `AnnotationMBeanExporter` and configure it as you need will do the same. – M. Deinum Aug 25 '14 at 09:48
  • I am using version-less and spring 3.2.0 & spring integration 3.0.0 The thing is that jmx:bean-export will create for me all JMX facilities for each channel and executor, etc. of my spring integration app – earroyoron Aug 25 '14 at 09:56

0 Answers0