Instead of passing ResourceLoader from API clients, register it from producers because they are the only ones that know where the portlet.properties file lives in.