The invoker defined in $JBOSS_HOME/server/$PROFILE/deploy/ejb3-connectors-jboss-beans.xml is specifying the port 3873, this hard coded value does not allow it to be specified using the Service Binding Manager.
The invokerLocator should use the SBM value-factory to get the value. Such as:
Edit $JBOSS_HOME/server/$PROFILE/deploy/ejb3-connectors-jboss-beans.xml
Change the invokerLocator from:
<bean name="org.jboss.ejb3.RemotingConnector"
class="org.jboss.remoting.transport.Connector">
<property name="invokerLocator">
<value-factory bean="ServiceBindingManager"
method="getStringBinding">
<parameter>
jboss.remoting:type=Connector,name=DefaultEjb3Connector,handler=ejb3
</parameter>
<parameter>
<null />
</parameter>
<parameter>socket://${jboss.bind.address}:${port}?timeout=300000</parameter>
<parameter>
<null />
</parameter>
<parameter>3873</parameter>
</value-factory>
</property>
<property name="serverConfiguration">
<inject bean="ServerConfiguration" />
</property>
</bean>
to this:
<bean name="org.jboss.ejb3.RemotingConnector"
class="org.jboss.remoting.transport.Connector">
<property name="invokerLocator">
<value-factory bean="ServiceBindingManager" method="getStringBinding">
<parameter>jboss.remoting:type=Connector,name=DefaultEjb3Connector,handler=ejb3</parameter>
<parameter><null/></parameter>
<parameter>socket://${jboss.bind.address}:${port}?timeout=300000</parameter>
</value-factory>
</property>
<property name="serverConfiguration">
<inject bean="ServerConfiguration" />
</property>
</bean>
Edit $JBOSS_HOME/server/$PROFILE/conf/bindingservice.beans/META-INF/bindings-jboss-beans.xml
Find this section:
<!-- ********************* deploy/ejb3-connectors-service.xml **************** -->
<!-- EJB3 wants to have the service create its own ServiceBinding object
dynamically. See the value-factory usage in deploy/ejb3-connectors-service.xml -->
And add this:
<!-- ********************* deploy/ejb3-connectors-service.xml **************** -->
<!-- EJB3 wants to have the service create its own ServiceBinding object
dynamically. See the value-factory usage in deploy/ejb3-connectors-service.xml -->
<bean class="org.jboss.services.binding.ServiceBindingMetadata">
<property name="serviceName">jboss.remoting:type=Connector,name=DefaultEjb3Connector,handler=ejb3</property>
<property name="port">3873</property>
<property name="description">invokerLocator for ejb3</property>
</bean>