Can any body tell me the reason why can not we use final modifiers in ejb.
You can use static finals, but you can't use static.
The restriction is there so you don't shoot yourself in the foot. You may thing that by having a static, you have a singleton, but in fact that may not be the case depending on how many JVMs are running, the class loaders, etc etc.
See this thread why you need to be careful using statics at all.