答案是不;它会抛出一个 SocketException . 我实现了上面指定的 [::0] 实现,并且在我们的一台机器上抛出了以下异常:
2014-06-02 11:51:14,050 [localhost-startStop-1] ERROR Could not initialize broker Failed to bind to server socket: tcp://[::0]:61616/broker due to: java.net.SocketException: Protocol family unavailable
java.io.IOException: Failed to bind to server socket: tcp://[::0]:61616/broker due to: java.net.SocketException: Protocol family unavailable
at org.apache.activemq.util.IOExceptionSupport.create(IOExceptionSupport.java:33)
at org.apache.activemq.transport.tcp.TcpTransportServer.bind(TcpTransportServer.java:133)
at org.apache.activemq.transport.tcp.TcpTransportFactory.doBind(TcpTransportFactory.java:56)
at org.apache.activemq.transport.TransportFactorySupport.bind(TransportFactorySupport.java:40)
at org.apache.activemq.broker.BrokerService.createTransportConnector(BrokerService.java:2294)
at org.apache.activemq.broker.BrokerService.addConnector(BrokerService.java:289)
at org.apache.activemq.broker.BrokerService.addConnector(BrokerService.java:279)
[...]
好吧,值得一试 .