Singleton BOMs

An important factor to bear in mind when developing the class is that BOM implementations are singletons. That is, a single BOM instance will be created and used for all processing of a Business Object Type. So, if two Change Sets containing instances if the same Business Object Type are being processed at the same time, the same BOM instance will be used. BOM implementations must therefore be capable of being used by multiple threads simultaneously – i.e. must be thread-safe. The best mechanism for achieving this is to avoid storing Business Object (instance) -specific state in BOM implementations.