You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

The embedded ActiveMQ in ServiceMix is configured to use network multicasts to discover other broker instances on the network. Sometimes, multicasts are disabled by policy, causing this exception:

ERROR - BrokerService - Failed to start ActiveMQ JMS Message Broker. Reason: java.net.SocketException: error setting options

The solution is to disable the multicast feature for ActiveMQ. In conf/activemq.xml, change...

    <transportConnectors>
      <transportConnector uri="tcp://localhost:61616" discoveryUri="multicast://default"/>
    </transportConnectors>
 
    <networkConnectors>
      <networkConnector uri="multicast://default"/>
    </networkConnectors>

... to ...

    <transportConnectors>
      <transportConnector uri="tcp://localhost:61616"/>
    </transportConnectors>
 
    <networkConnectors>
    </networkConnectors>

ServiceMix 4

In ServiceMix 4, the ActiveMQ broker configuration file is called etc/activemq-broker.xml instead. After updating the file, you need to reload the configuration by updating the generated OSGi bundle.

First, find the bundle id for the activemq-broker.xml bundle

karaf@root> osgi:list | grep broker
[  53] [Active     ] [Created     ] [       ] [   60] activemq-broker.xml (0.0.0)

Next, use the osgi:update command to update the generated bundle with the new configuration information

karaf@root> osgi:update 53
  • No labels