The JMSServerControl is an MBean and it cannot be injected. You should ensure that JMX management is enabled on the HornetQ instance (e.g. <jmx-management-enabled>true</jmx-management-enabled>) and then you can look up the MBean from the platform's MBean server. HornetQ ships with an example demonstrating how to do this from a remote client. The example is named "jmx" and it's available in the HornetQ distribution.
You could also use programmatic access to the Wildfly management interface and create topics that way.
thank you for your help.
I now do it like this:
MBeanServer mBeanServer = ManagementFactory.getPlatformMBeanServer();
ObjectName oName = new ObjectName("org.hornetq:module=JMS,type=Server");
JMSServerControl serverControl = MBeanServerInvocationHandler.newProxyInstance(mBeanServer, oName, JMSServerControl.class, false);
Maybe it will help someone else aswell.