|
Some more thoughts related to this:
-
We probably want to also split the java serialization part out and using ServiceLoader to detect and load the available serializer. Module wise I thought about serialization/avro and serialization/javaserialization.
-
Right now the SerializationProvider is hard coded in SerializationProviderService. This would be dynamic and cannot reference a concrete implementation
-
Taking this one step further, one might even consider to extract the spi for serialization and add it to its own module. This code is really only needed when one of the remote indexing solutions come into play
On a tangent, StandardServiceManager seems to imply the use of ServiceLoader by using META-INF/services, but it is in reality a different homegrown solution. If nothing else it should not use META-INF/services. However, I think making proper use of ServiceLoader would make more sense.
|