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 topic wildcards not working
  • JBoss Fuse, creating container with ActiveMQ
  • Connecting to remote activemq instance running on docker container
  • Improving performance of inserting into Mongo from ActiveMQ
  • Can't reach ActiveMQ from inside Docker container
  • Cannot receieve response from activemq when using docker
  • 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:

  • Spring boot docker plugin requires removing the image everytime
  • How to get ng serve to work with host name on a VirtualBox Docker set up
  • How to reach docker containers by name instead of IP address?
  • Golang websocket server on docker container won't send out message to outside world
  • Docker and Mysql: cannot open shared object file: Permission denied
  • Sandbox docker container
  • 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.