Hi,
Some feedback has come saying that it'd be nice to be able to configure externalizers
using annotations. Now, in a previous discussion
(
http://lists.jboss.org/pipermail/infinispan-dev/2010-December/007047.html) it was agreed
that for framework developers this is not nice since it makes it hard to abstract the
Infinispan layer, but end users might be interested in using annotations rather than
having to implement getId(), getTypeClasses() in Externalizer interface - see
http://community.jboss.org/docs/DOC-16198
To be able to support this, @Marshallable annotation that would be used wth externalizer
implementations would have to be brought back with id and typeClasses attributes.
That'd make it a 3rd way to define ids, after XML and getId() implementations.
Clearly, getId() and getTypeClasses() would be moved to a different interface, so that
people that chose to use @Marshallable could just provide read/writeObject method
implementations.
The gain from having end users use @Marshallable is not that great IMO cos we don't do
annotation scanning, so there would still be a need to register externalizers.
Thoughts?
--
Galder Zamarreño
Sr. Software Engineer
Infinispan, JBoss Cache