Trouble with JNDI aliases in standalone-ha.xml
wesleydstrickland Aug 15, 2013 2:27 PMWhen the server starts up it prints out the following binding:
11:13:44,237 INFO [org.jboss.as.ejb3.deployment.processors.EjbJndiBindingsDeploymentUnitProcessor] (MSC service thread 1-2) JNDI bindings for session bean named CountryCodeService in deployment unit subdeployment "MT_MAAS_CountryCodeBeans.jar" of deployment "MT_MAAS_OpsEar.ear" are as follows:
java:global/MT_MAAS_OpsEar/MT_MAAS_CountryCodeBeans/CountryCodeService!com.gdais.maas.ejb.CountryCodeServiceRemote
java:app/MT_MAAS_CountryCodeBeans/CountryCodeService!com.gdais.maas.ejb.CountryCodeServiceRemote
java:module/CountryCodeService!com.gdais.maas.ejb.CountryCodeServiceRemote
java:jboss/exported/MT_MAAS_OpsEar/MT_MAAS_CountryCodeBeans/CountryCodeService!com.gdais.maas.ejb.CountryCodeServiceRemote
java:global/MT_MAAS_OpsEar/MT_MAAS_CountryCodeBeans/CountryCodeService
java:app/MT_MAAS_CountryCodeBeans/CountryCodeService
java:module/CountryCodeService
In our client code, we do the following which works great:
// Create the proxy | |
StatelessEJBLocator<CountryCodeServiceRemote> locator = new StatelessEJBLocator<>(CountryCodeServiceRemote.class, "MT_MAAS_OpsEar", | |
"MT_MAAS_CountryCodeBeans", "CountryCodeService", ""); |
ccOps = EJBClient.createProxy(locator); |
I attempted to create an alias for this in my standalone-ha.xml like this:
<subsystem xmlns="urn:jboss:domain:naming:1.2">
<bindings>
<lookup name="java:jboss/exported/OpsEar/CountryCodeBeans/CountryCodeService" lookup="java:jboss/exported/MT_MAAS_OpsEar/MT_MAAS_CountryCodeBeans/CountryCodeService"/>
</bindings>
</subsystem>
And then change the client code to:
StatelessEJBLocator<CountryCodeServiceRemote> locator = new StatelessEJBLocator<>(CountryCodeServiceRemote.class, "OpsEar", | |
"CountryCodeBeans", "CountryCodeService", ""); |
ccOps = EJBClient.createProxy(locator); |
But when I run the client, I get back an error that there is no EJB receiver available:
java.lang.IllegalStateException: EJBCLIENT000025: No EJB receiver available for handling [appName:OpsEar, moduleName:CountryCodeBeans, distinctName:] combination for invocation context org.jboss.ejb.client.EJBClientInvocationContext@1527c4f
Any help would be appreciated!
Thanks!
-Wes