Search code examples
windows-subsystem-for-linuxactivemq-artemis

ActiveMQ Artemis: can't create broker: function not implemented


I used to create brokers in ActiveMQ Artemis on both Windows, Linux and in WSL. There was never a problem. Except on one of my machine having Windows and running WSL2.

I did everything the same when installing artemis:

sudo groupadd artemis
sudo useradd -s /bin/false -g artemis -d /opt/artemis artemis
cd /opt
sudo wget https://archive.apache.org/dist/activemq/activemq-artemis/2.12.0/apache-artemis-2.12.0-bin.tar.gz
sudo tar -xvzf apache-artemis-2.12.0-bin.tar.gz
sudo mv apache-artemis-2.12.0 artemis
sudo chown -R artemis: artemis
sudo chmod o+x /opt/artemis/bin/
sudo rm apache-artemis-2.12.0-bin.tar.gz

It installs, but when I try to create my own broker instance:

/opt/artemis/bin/artemis create --user app --password pwd --allow-anonymous test

I've got the following error message:

Cannot initialize queue:Function not implemented

I've tried it several times, even uninstalled ActiveMQ Artemis and removed the user and group and started the whole process again, but the result was always the same.

I can't figure out what the difference would be or how to fix the problem. Any help would be highly appreciated!

UPDATE 1: There is not much log, but turning on verbose mode gives the following lines:

Executing org.apache.activemq.artemis.cli.commands.Create create --verbose --user app --password pwd --allow-anonymous test
Home::/opt/artemis, Instance::null
Cannot initialize queue:Function not implemented

Solution

  • As far as I can tell the message "Cannot initialize queue:Function not implemented" comes from the AIO integration layer. I recommend you try creating the instance using --nio to force the broker to use the Java-based NIO storage interface rather than the native AIO layer which appears to be malfunctioning in your environment.