On 16 Mar 2011, at 18:14, Galder Zamarreño wrote:

> 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.

Why don't we do annotation scanning?  We maintain a table of externalizers 
keyed on class, right?  So why not scan each new type (the first time we 
encounter it) for @Marshallable to compile this externalizer table on the fly?

Is it to do with classloader leaks?  If so, a weak map could be used for this 
table... 

Cheers
Manik

--
Manik Surtani
[email protected]
twitter.com/maniksurtani

Lead, Infinispan
http://www.infinispan.org




_______________________________________________
infinispan-dev mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/infinispan-dev

Reply via email to