Would you consider making the setFactoryService() method in ResourceFactory be public?
My Drools-as-a-JEE-compliant-resource-adapter project currently needs to invoke this through a setAccessible() hack: http://code.google.com/p/drools-jca/source/browse/trunk/drools-jca/src/main/java/com/google/code/drools/jca/DroolsResourceAdapter.java#319
This is because I'm attempting to (ultimately) override the usage of Threads and re-express the asynchronous intent of the KnowledgeAgent by using container APIs such as Timer, WorkManager, etc.
My project does this successfully, but I had to hack access to this method to do it.
There is a constructor in ProcessChangeSet as well that I think should be public. Currently I get at it like this: