I still cannot get a definitive view of the jndi name to use for the resolved jndi name
output from the resolving deployers because the default jndi policy is not used in the
metadata layer. I resolve an ejb link to the approriate JBossSessionBeanMetaData, but its
determineJndiName() result does not match what the BaseSessionProxyFactory ends up using.
Here the MappedReferenceMetaDataResolverDeployer sees the resolvedJndiName to be
HelloWorldBean (defaulting to the ejb-name), while the BaseSessionProxyFactory uses the
PackagingBasedJndiBindingPolicy default of ee5client-test/HelloWorldBean/remote:
| 2008-04-23 11:07:17,658 DEBUG
[org.jboss.deployment.MappedReferenceMetaDataResolverDeployer] (RMI TCP
Connection(4)-127.0.0.1) Processing unit=ee5client-test.jar, structure:
| ee5client-test.ear
|
| +ee5client-test-client.jar
| ++@EJB(helloWorldService) -> mappedName=null| resolvedJndiName=HelloWorldBean
|
| +ee5client-test.jar
|
++EjbEndpoint:ejbName=HelloWorldBean,ejbClass=org.jboss.test.ee5client.ejb.HelloWorldBean,BusinessRemotes:
[org.jboss.test.ee5client.ejb.HelloWorldService]
|
++EjbEndpoint:ejbName=MessageReplierBean,ejbClass=org.jboss.test.ee5client.ejb.MessageReplierBean
|
| ...
|
| 2008-04-23 11:07:18,672 DEBUG [org.jboss.ejb3.ProxyFactoryHelper] (RMI TCP
Connection(4)-127.0.0.1) Obtaining JNDI name from policy
org.jboss.ejb3.jndipolicy.impl.PackagingBasedJndiBindingPolicy
| 2008-04-23 11:07:18,690 DEBUG [org.jboss.ejb3.session.BaseSessionProxyFactory] (RMI
TCP Connection(4)-127.0.0.1) Binding proxy for HelloWorldBean in JNDI at
ee5client-test/HelloWorldBean/remote
|
|
The jndi names of an ejb need to be available to the resolving deployer so that the
metadata can be used as the defining set of info for references and dependencies.
The metadata needs to have the org.jboss.ejb3.jndipolicy.DefaultJndiBindingPolicy
interface with ejb3 providing the implementations. The metadata needs to be able to load
the implementation as part of its determineJndiName behavior.
The RemoteBindingMetaData change Alexey made was for the legacy ejb2x detached invoker
bindings. The equivalent in the ejb3 container is sitting off in some aop config that is
not available via the JBossMetaData info. I'm not sure if one can specify alternate
jndi bindings for the remoting layer there or not.
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4146290#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...