Project: springxd
Issue XD-467: JMX shouldn't register taps or streams if the creation fails
There's a lifecycle problem when a tap creation fails (e.g. because the DSL syntax is wrong). Subsequent attempts to create the tap will fail with an error: [{"links":[],"logref":"MessageHandlingException","message":"org.springframework.context.ApplicationContextException: Failed to start bean 'org.springframework.integration.monitor.IntegrationMBeanExporter#0#92e27d20-4c48-4131-866c-91b6cb642ca2'; nested exception is org.springframework.jmx.export.UnableToRegisterMBeanException: Unable to register MBean [MessageChannelMonitor: [name=nullChannel, sends=0, receives=0]] with key 'xd.tap1:type=MessageChannel,name=nullChannel,index=1,module=log'; nested exception is javax.management.InstanceAlreadyExistsException: xd.tap1:type=MessageChannel,name=nullChannel,index=1,module=log"}] Disabling JMX solves the issue. reproduce Create a bad stream definition name 'bad' Try to recreate with the same name, but correct stream definitions. The system will report that the stream already exists.
Story points: 3