but when I use CDI I can not use immutable objects with Decorator or Proxy then CDI forces me to use mutable objects...
I think you can use immutable objects. How does it force you to use mutable objects? A simple workaround for this constructor requirement is to add a "dummy" no-args constructor with package private visibility (so that CDI is able to create a proxy class instance).
|