Did you bundle the class in your war file, or create a wildfly module for it? As far as I know, it needs to be loaded via module, and then the deployment has to add a dependency to the module, and specify "services" in the dependency.
Yes, I bundled it in my jar, and put it under WEB-INF/lib. I also included, under the WEB-INF/lib, a 3rd party jar which also has similar ServletContainerInitializer implementations. The odd is that, when starting my web deployment, those implementations in the 3rd party jar got invoked by undertow, while my implementation was not. I have no idea what else needs be done for my implementation.