Connecting to ActiveMQ Artemis Docker Container with Core API

I am attempting to use the ActiveMQ Artemis Core API to connect to ActiveMQ Artemis running in a docker container.

I am using the following code to attempt the connection.

  • ActiveMQ within Wildfly on a Docker container gives: Invalid “host” value “” detected
  • How to connect spring application on docker to a cluster of activemq on docker
  • Docker Tomcat with ActiveMQ linked
  • Can't reach ActiveMQ from inside Docker container
  • Authenticating a dockerized Spring Boot app against a dockerized & linked ActiveMQ
  • ActiveMQ topic wildcards not working
  • Map<String,Object> connectionParams = new HashMap<String, Object>();
    connectionParams.put(TransportConstants.PORT_PROP_NAME, "61616");
    connectionParams.put(TransportConstants.HOST_PROP_NAME, "localhost");
    TransportConfiguration tc = new TransportConfiguration(NettyConnectorFactory.class.getName(),connectionParams);
    ServerLocator locator = ActiveMQClient.createServerLocatorWithoutHA(tc);
    ClientSessionFactory queueFactory = locator.createSessionFactory();

    Upon running I get the following error when I attempt to create the session factory.

    ActiveMQNotConnectedException[errorType=NOT_CONNECTED message=AMQ119007: Cannot connect to server(s). Tried with all available servers.]

    It seems to be that I am missing a critical configuration step when trying to connect to the ActiveMQ Artemis broker. Is there an XML file I need to place somewhere in my Java client application or can I set the proper settings in code?

    The Docker image for AtiveMQ Artemis I am using:

  • How to build sidekiq and rails image with docker?
  • Docker doesn't open ports
  • Running 'docker-compose up' raises “No module named fnctl” error on Windows
  • How to re-add a container in Bluemix
  • How do I run a docker instance from a DockerFile?
  • How to monitor host's filesystem in a dockerized Topbeat
  • One Solution collect form web for “Connecting to ActiveMQ Artemis Docker Container with Core API”

    Maybe you forgot to expose the port publicly via -p 61616:61616

    Docker will be the best open platform for developers and sysadmins to build, ship, and run distributed applications.