When a java programme is executed by using the command 'java classname' a process called the JVM or Java Virtual Machine is started to execute the bytecode in the specified class.
By starting JBoss and your application separately they are both running in their own JVMs and will both have their own java process running.
Local insterfaces can only be used by components running within the JBoss JVM, this is why your servlet is able to access them.
Generally access to entity beans should be wrapped by session beans and your remote application can then call the remote interface of the session bean that will then use the local interface of the entity beans. Switching to using remote interfaces for your entity beans will stop you from making use of CMR if you require it later.
tks for the quick reply...
I am guessing if i use local interface, I can't test it by writing a simple client code(since it'll be run on its own vm)....but I'll able to test it through a servlet connection or something.....
if I let my servlet use remote ejb interfaces to access ejb beans, would it be optimized by jboss?...for ex. jboss will notice that servlet and beans exist in same vm, and do something about it(make it reference locally or something?)..