@ Override public void registerFactories ( ChannelFactoryProvider provider ) { if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isEventEnabled ( ) ) { Tr . event ( tc , "Register factory provider; " + provider . getClass ( ) . getName ( ) ) ; } synchronized ( this . factories ) { for ( Entry < String , Class < ? extends ChannelFactory > > entry : provider . getTypes ( ) . entrySet ( ) ) { this . providers . put ( entry . getKey ( ) , provider ) ; Class < ? extends ChannelFactory > newFactory = entry . getValue ( ) ; if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isEventEnabled ( ) ) { Class < ? extends ChannelFactory > prevFactory = this . factories . get ( entry . getKey ( ) ) ; if ( null != prevFactory && newFactory != prevFactory ) { Tr . event ( tc , "WARNING: overlaying existing factory: " + prevFactory ) ; } } this . factories . put ( entry . getKey ( ) , newFactory ) ; } } // end-sync // now that we have a new factory type, tell ChannelUtils to process // any delayed config that might be waiting for it ChannelUtils . loadConfig ( null ) ; }
Set a factory provider .