Just a reminder when doing api's Stage interfaces in internal-api and make sure you do factories for them, almost never expose "new" constructors to users. We provide both static factories and a service registry, and we ideally should continue to support both. i.e. we have KnowledgeBuilderFactory (static method factory, actually wraps below) KnowledgeBuilderFactoryService (singleton service)
static example: KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder() singleton service exmaple: KnowledgeBuilderFactoryService kbuilderfs = ServiceRegistry.getInstance().get( KnowledgeBuilderFactoryService.class ) KnowledgeBuilder kbuilder = kbuilderfs .newKnowledgeBuilder() All of our factory services should be registered in org.drools.util.ServiceRegistryImpl, this has delegation to say OSGi if it exists (via the service locator pattern). So we become much more friendly to OSGi or other container environments that are service locator oriented. "new" should almost never be used, apart from when construcing say default or debug listener implementations. Mark _______________________________________________ rules-dev mailing list [email protected] https://lists.jboss.org/mailman/listinfo/rules-dev
