Uploaded image for project: 'JBoss Enterprise Application Platform 4 and 5'
  1. JBoss Enterprise Application Platform 4 and 5
  2. JBPAPP-5921

Unable to configure the ejb3 invoker port in the Service Binding Manager

    XMLWordPrintable

Details

    • Workaround Exists
    • Hide

      Change the ejb3-connectors-jboss-beans.xml and bindings-jboss-beans.xml as described in the description.

      Show
      Change the ejb3-connectors-jboss-beans.xml and bindings-jboss-beans.xml as described in the description.
    • Hide
      CAUSE

      CONSEQUENCE

      FIX

      RESULT
      Show
      CAUSE CONSEQUENCE FIX RESULT
    • Not Required

    Description

      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>

      Attachments

        Activity

          People

            rhn-engineering-cdewolf Carlo de Wolf
            rhn-support-bmaxwell Brad Maxwell
            Russell Dickenson Russell Dickenson (Inactive)
            Votes:
            1 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: