I'm using SimpleModule to register the MixIn with Serialization and Deserialization. I am unable to make it work. The classes are shown below. WHen I print the serialized string I see the size printed and properties are not named as I specified in the mixin. It is printing {"w":5,"h":10,"size":50}. So mix-in registration with both serializer and deserialization configurations was unsuccessful. What am I doing wrong.
MixIn Class:
import org.codehaus.jackson.annotate.JsonIgnore;
import org.codehaus.jackson.annotate.JsonProperty;
    abstract class MixIn {
        MixIn(@JsonProperty("width") int w, @JsonProperty("height") int h) {
        }
        @JsonProperty("width")
        abstract int getW();
        @JsonProperty("height")
        abstract int getH();
        @JsonIgnore
        abstract int getSize();
    }
Rectangle Class:
 public final class Rectangle {
    final private int w, h;
    public Rectangle(int w, int h) {
        this.w = w;
        this.h = h;
    }
    public int getW() {
        return w;
    }
    public int getH() {
        return h;
    }
    public int getSize() {
        return w * h;
    }
}
Registering MixIn:
import org.codehaus.jackson.Version;
import org.codehaus.jackson.map.module.SimpleModule;
public class MyModule extends SimpleModule {
    public MyModule() {
        super("ModuleName", new Version(0, 0, 1, null));
    }
    @Override
    public void setupModule(SetupContext context) {
        context.setMixInAnnotations(Rectangle.class, MixIn.class);
        // and other set up, if any
    }
}
Test Class:
import java.io.IOException;
import org.codehaus.jackson.map.ObjectMapper;
import org.junit.Test;
public class DeserializationTest {
    @Test
    public void test() throws IOException {
        ObjectMapper objectMapper = new ObjectMapper();
        // objectMapper.getSerializationConfig().addMixInAnnotations(Rectangle.class, MixIn.class);
        // objectMapper.getDeserializationConfig().addMixInAnnotations(Rectangle.class, MixIn.class);
        String str = objectMapper.writeValueAsString(new Rectangle(5, 10));
        System.out.println(str);
        Rectangle r = objectMapper.readValue(str, Rectangle.class);
    }
}