It's not super important, but would the marker interface be a wicket type or a terracotta type? I could imagine it could be either actually, just wondering which one you had in mind.
It would be a Wicket type, as we don't want a compile time dependency on Terracotta, and it wouldn't introduce a dependency of Terracotta on Wicket.
Clusterable extends Serializable? Why the coupling?
As Wicket is a generic framework, it should be able to work in a decent fashion with other cluster technologies (such as the typical app server constructions) which typically rely on Java's serialization mechanism and thus on objects implementing Serializable.
Finally, (and please excuse my ignorance of annotations), is it feasible to introduce an annotation without adding any compile time dependencies?
I don't think so. And as we're targetting Wicket 1.3 for JDK 1.4 and up, annotations are out of the question for us. Regards, Eelco