i believe there is no version at this point. the jboss developers i have spoken to about Local interfaces dont think they are such a crash hot idea, and i tend to agree, so its probably low priority. i think that spec compliance is not usually a focus of jboss development, more something that just happens as a bi-product. this is not a dig, i think a stable, fast, hi-tech, configurable, extendable container is better than something that implements every single nuance of the spec.
Local interfaces are largely irrelevant in JBoss.
Unless your turn the optimization off, JBoss will use
local invocation even when you try to do remote invocation inside the same VM.
Sometimes, I think this was one of the major reasons why
JBoss was written in the first place. Just for this
Sepcifically on spec compliance, there are bugs in
in 2.4.4 with local invocation from the Web container
some of which (maybe all) will be fixed by 2.4.5
They are already fixed in 3.0
There is still an outstanding issue in both 2.4 and
3.0 with relative <ejb-link>s that I'm hoping to fix
before 3.0 goes final. But this isn't really a problem
with local interfaces, more with ejb-refs in general.
> Local interfaces are largely irrelevant in JBoss.
They're pretty important for CMP. CMR fields have to be local interfaces.
Local interfaces also have explicit pass-by-reference semantics. Optimized remote calls in JBoss use pass-by-reference but shouldn't - this can get you into trouble if you've got less experienced programmers who find they are able to use 'in/out' parameters in their remote calls!
(I'm not saying they *should*, simply that I *have* seen it happen. It made me shudder.)
Anyway, here is the answer:
JBoss supports local interfaces since 2.4.something (2, if I remember wel). In 2.4.x series, you can define local interfaces but you can't look them up in the global namespace -- you need an ejb-link to look them up. However, this is enough for most needs -- and is enough to plug in a complete CMP2 engine like MVCSoft Persistence Manager.
Starting from 3.0.x, JBoss fully supports local interfaces and you can even define JNDI names for local interfaces. Also, JBoss 3.0.x has it's own CMP2 Persistence Manager.