Does this mean nobody can answer this doubt?
It seems strange that the constructor would be called twice (in anything). Try printing out the toString() in the constructor to see if the two instances are the same. These aren't singletons, so it is possible that there could be multiple instances.
The problem is that with a managed bean environment, bean construction is as much out of your hands as memory allocation is in a memory managed environment like java.
This is a JVM level restriction, however JVM's usually have a platform specific way of creating a bean without using the constructor. To enable this in weld put an empty file in
and the constructor will not get called. You may need a more up to date version of weld though, as I am not sure when this was added.