[jboss-cvs] JBossAS SVN: r79235 - projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/jndiregistrar.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Tue Oct 7 18:22:19 EDT 2008
Author: ALRubinger
Date: 2008-10-07 18:22:19 -0400 (Tue, 07 Oct 2008)
New Revision: 79235
Modified:
projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/jndiregistrar/JndiSessionRegistrarBase.java
Log:
[EJBTHREE-1515] Bind every explicit JNDI Binding
Modified: projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/jndiregistrar/JndiSessionRegistrarBase.java
===================================================================
--- projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/jndiregistrar/JndiSessionRegistrarBase.java 2008-10-07 22:21:45 UTC (rev 79234)
+++ projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/jndiregistrar/JndiSessionRegistrarBase.java 2008-10-07 22:22:19 UTC (rev 79235)
@@ -37,7 +37,6 @@
import org.jboss.aop.Dispatcher;
import org.jboss.ejb3.common.registrar.spi.DuplicateBindException;
import org.jboss.ejb3.common.registrar.spi.Ejb3RegistrarLocator;
-import org.jboss.ejb3.common.registrar.spi.NotBoundException;
import org.jboss.ejb3.common.string.StringUtils;
import org.jboss.ejb3.proxy.factory.ProxyFactory;
import org.jboss.ejb3.proxy.factory.session.SessionProxyFactory;
@@ -52,7 +51,6 @@
import org.jboss.metadata.ejb.spec.BusinessRemotesMetaData;
import org.jboss.naming.Util;
import org.jboss.remoting.InvokerLocator;
-import org.jboss.remoting.transport.Connector;
/**
* JndiSessionRegistrarBase
@@ -216,6 +214,16 @@
remoteBinding = bindings.get(0);
url = remoteBinding.getClientBindUrl();
}
+ // No bindings specified
+ else
+ {
+ // Create some stub objects
+ //FIXME Hacky
+ bindings = new ArrayList<RemoteBindingMetaData>();
+ smd.setRemoteBindings(bindings);
+ remoteBinding = new RemoteBindingMetaData();
+ smd.getRemoteBindings().add(remoteBinding);
+ }
}
// The bindings were empty
catch (IndexOutOfBoundsException ioobe)
@@ -226,12 +234,13 @@
}
// If no explicit Client Bind URL is specified
- if (url == null || url.trim().equals(""))
+ if (url == null || url.trim().length()==0)
{
// Use the binding on the EJB3 Remoting Connector
url = ProxyRemotingUtils.getDefaultClientBinding();
remoteBinding.setClientBindUrl(url);
}
+
// Create and register a remote proxy factory
String remoteProxyFactoryKey = this.getProxyFactoryRegistryKey(smd, false);
SessionProxyFactory factory = this.createRemoteProxyFactory(remoteProxyFactoryKey, containerName,
@@ -312,7 +321,30 @@
+ defaultRemoteAddress + "\"");
bindingSet.addDefaultRemoteBinding(new JndiReferenceBinding(defaultRemoteAddress, defaultRemoteRef));
+
+ /*
+ * Bind all explicitly-declared remote bindings
+ */
+
+ // For each of the explicitly-defined @RemtoeBindings
+ List<RemoteBindingMetaData> remoteBindings = smd.getRemoteBindings();
+ for (RemoteBindingMetaData binding : remoteBindings)
+ {
+ // Get the defined JNDI Name
+ String jndiName = binding.getJndiName();
+ // If the JNDI Name is defined
+ if (jndiName != null && jndiName.trim().length() > 0)
+ {
+ // And if it's not the default remote binding
+ if (!jndiName.equals(defaultRemoteAddress))
+ {
+ // Add the binding
+ bindingSet.addDefaultRemoteBinding(new JndiReferenceBinding(jndiName, defaultRemoteRef));
+ }
+ }
+ }
+
// Bind ObjectFactory specific to each Remote Business Interface
if (businessRemotes != null)
{
More information about the jboss-cvs-commits
mailing list