This page aims at collecting misc tips, idea, etc. that are likely to be useful when adding a new subsystem integration on AS 7, even if only to save some time debugging and looking for the reason of issues; feel free to contribute also adding new categories below.
Modules and classloading
Service API
The services attribute of the module element allows for enabling import of META-INF/services/... declarations in dependency modules. That's useful for instance when doing something like classLoader.getResourceAsStream("META-INF/service/foo") and expecting all the META-INF/services/.. declarations in the modules contributing to defining the classloader to be considered, not only those in the main module the classloader comes from.
e.g.
<module xmlns="urn:jboss:module:1.0" name="org.jboss.as.webservices">
<resources>
</resources>
<dependencies>
...
<module name="org.jboss.ws.common" />
<module name="org.jboss.ws.cxf.jbossws-cxf-factories" services="import"/>
...
</dependencies>
</module>