[ https://issues.apache.org/jira/browse/AMQ-6960?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Maor Blumenfeld updated AMQ-6960: --------------------------------- Description: After a broker has started, when adding a network connector (broker2), the first one goes OK: {{// create network connector over JMX ObjectName brokerObjectName = new ObjectName("org.apache.activemq:type=Broker,brokerName=" + broker1Name); BrokerViewMBean proxyBroker = (BrokerViewMBean) broker.getManagementContext().newProxyInstance(brokerObjectName, BrokerViewMBean.class, true); // let's add the NC String networkConnectorName = proxyBroker.addNetworkConnector("static://"+urlBroker2); }} Sometime after I try to add another network connector (broker3): {{ brokerObjectName = new ObjectName("org.apache.activemq:type=Broker,brokerName=" + broker1Name); proxyBroker = (BrokerViewMBean) broker.getManagementContext().newProxyInstance(brokerObjectName, BrokerViewMBean.class, true); // let's add the NC networkConnectorName = proxyBroker.addNetworkConnector("static://"+urlBroker3); }} This time it fails with this exception: Caused by: javax.management.InstanceAlreadyExistsException: org.apache.activemq:type=Broker,brokerName=ig2-1,connector=networkConnectors,networkConnectorName=NC at com.sun.jmx.mbeanserver.Repository.addMBean(Repository.java:437) This appears to be a consequence of the fact that org.apache.activemq.network.NetworkBridgeConfiguration.name is defaulted to "NC" and there's not a way to set it to another value when calling org.apache.activemq.broker.jmx.BrokerView.addNetworkConnector(String) nor to rename it after it's created. To solve this problem, please add support for the following method: BrokerView.addNetworkConnector(String discoveryAddress, String networkConnectorName) to allow the network connector name to be specified by the caller. Thanks, Maor was: After a broker has started, when adding a network connector (broker2), the first one goes OK: {{// create network connector over JMX ObjectName brokerObjectName = new ObjectName("org.apache.activemq:type=Broker,brokerName=" + broker1Name); BrokerViewMBean proxyBroker = (BrokerViewMBean) broker.getManagementContext().newProxyInstance(brokerObjectName, BrokerViewMBean.class, true); // let's add the NC String networkConnectorName = proxyBroker.addNetworkConnector("static://"+urlBroker2); }} Sometime after I try to add another network connector (broker3): {{brokerObjectName = new ObjectName("org.apache.activemq:type=Broker,brokerName=" + broker1Name); proxyBroker = (BrokerViewMBean) broker.getManagementContext().newProxyInstance(brokerObjectName, BrokerViewMBean.class, true); // let's add the NC networkConnectorName = proxyBroker.addNetworkConnector("static://"+urlBroker3); }} This time it fails with this exception: Caused by: javax.management.InstanceAlreadyExistsException: org.apache.activemq:type=Broker,brokerName=ig2-1,connector=networkConnectors,networkConnectorName=NC at com.sun.jmx.mbeanserver.Repository.addMBean(Repository.java:437) This appears to be a consequence of the fact that org.apache.activemq.network.NetworkBridgeConfiguration.name is defaulted to "NC" and there's not a way to set it to another value when calling org.apache.activemq.broker.jmx.BrokerView.addNetworkConnector(String) nor to rename it after it's created. To solve this problem, please add support for the following method: BrokerView.addNetworkConnector(String discoveryAddress, String networkConnectorName) to allow the network connector name to be specified by the caller. Thanks, Maor > Add method BrokerView.addNetworkConnector(String discoveryAddress, String > networkConnectorName) > ------------------------------------------------------------------------------------------------ > > Key: AMQ-6960 > URL: https://issues.apache.org/jira/browse/AMQ-6960 > Project: ActiveMQ > Issue Type: New Feature > Components: Broker > Reporter: Maor Blumenfeld > Priority: Major > > After a broker has started, when adding a network connector (broker2), > the first one goes OK: > {{// create network connector over JMX > ObjectName brokerObjectName = new > ObjectName("org.apache.activemq:type=Broker,brokerName=" + broker1Name); > BrokerViewMBean proxyBroker = (BrokerViewMBean) > broker.getManagementContext().newProxyInstance(brokerObjectName, > BrokerViewMBean.class, true); > // let's add the NC String > networkConnectorName = > proxyBroker.addNetworkConnector("static://"+urlBroker2); }} > Sometime after I try to add another network connector (broker3): > {{ > brokerObjectName = new > ObjectName("org.apache.activemq:type=Broker,brokerName=" + broker1Name); > proxyBroker = (BrokerViewMBean) > broker.getManagementContext().newProxyInstance(brokerObjectName, > BrokerViewMBean.class, true); > // let's add the NC networkConnectorName = > proxyBroker.addNetworkConnector("static://"+urlBroker3); }} > This time it fails with this exception: > Caused by: javax.management.InstanceAlreadyExistsException: > org.apache.activemq:type=Broker,brokerName=ig2-1,connector=networkConnectors,networkConnectorName=NC > at com.sun.jmx.mbeanserver.Repository.addMBean(Repository.java:437) > This appears to be a consequence of the fact that > org.apache.activemq.network.NetworkBridgeConfiguration.name is defaulted to > "NC" and there's not a way to set it to another value when calling > org.apache.activemq.broker.jmx.BrokerView.addNetworkConnector(String) nor > to rename it after it's created. > To solve this problem, please add support for the following method: > BrokerView.addNetworkConnector(String discoveryAddress, String > networkConnectorName) > to allow the network connector name to be specified by the caller. > Thanks, > Maor -- This message was sent by Atlassian JIRA (v7.6.3#76005)