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

EAP 5.1.2 Patch to add idempotency to remoting (JBREM-1316)

XMLWordPrintable

    • Icon: Support Patch Support Patch
    • Resolution: Done
    • Icon: Major Major
    • None
    • EAP_EWP 5.1.2
    • Remoting
    • None
    • Hide
      PATCH NAME:
              JBPAPP-10610 EAP 5.1.2 Patch to add idempotency to remoting (JBREM-1316)

      PRODUCT NAME:
              JBoss Enterprise Application Platform

      VERSION:
              5.1.2
          
      SHORT DESCRIPTION:
              add idempotency to remoting (JBREM-1316)

      LONG DESCRIPTION:
              There is now a new configuration parameter, "idempotent", which, when set to false (default value is true), configures MicroSocketClientInvoker to retry an invocation only when the writing of the invocation payload has not
              completed. Once the payload has been written, there will be no retries, and, if there is a subsequent failure while trying to read the response, an org.jboss.remoting.InvocationFailureException will be thrown, which is the
              current behavior after all retries have been exhausted.

      MANUAL INSTALL INSTRUCTIONS:
              ex: "Rename %JBOSS_HOME%/common/lib/jboss-remoting.jar to "jboss-remoting.jar.old" and move to a safe place
              Copy the new jboss-remoting.jar to %JBOSS_HOME%/common/lib/

      COMPATIBILITY:
              EAP 5.1.2 without previous jboss-remoting.jar patches

      DEPENDENCIES:
              none

      SUPERSEDES:
              n/a

      SUPERSEDED BY:
              n/a

      CREATOR:
              Shaun Appleton

      DATE:
              31st January 2013
      Show
      PATCH NAME:          JBPAPP-10610 EAP 5.1.2 Patch to add idempotency to remoting (JBREM-1316) PRODUCT NAME:         JBoss Enterprise Application Platform VERSION:         5.1.2      SHORT DESCRIPTION:         add idempotency to remoting (JBREM-1316) LONG DESCRIPTION:         There is now a new configuration parameter, "idempotent", which, when set to false (default value is true), configures MicroSocketClientInvoker to retry an invocation only when the writing of the invocation payload has not         completed. Once the payload has been written, there will be no retries, and, if there is a subsequent failure while trying to read the response, an org.jboss.remoting.InvocationFailureException will be thrown, which is the         current behavior after all retries have been exhausted. MANUAL INSTALL INSTRUCTIONS:         ex: "Rename %JBOSS_HOME%/common/lib/jboss-remoting.jar to "jboss-remoting.jar.old" and move to a safe place         Copy the new jboss-remoting.jar to %JBOSS_HOME%/common/lib/ COMPATIBILITY:         EAP 5.1.2 without previous jboss-remoting.jar patches DEPENDENCIES:         none SUPERSEDES:         n/a SUPERSEDED BY:         n/a CREATOR:         Shaun Appleton DATE:         31st January 2013
    • NEW

      This patch applies the fix for https://issues.jboss.org/browse/JBREM-1316 to the EAP 5.1.2 version of remoting.

      Description of JBREM-1316:

      There is now a new configuration parameter, "idempotent", which, when set to false (default value is true), configures MicroSocketClientInvoker to retry an invocation only when the writing of the invocation payload has not completed.
      Once the payload has been written, there will be no retries, and, if there is a subsequent failure while trying to read the response, an org.jboss.remoting.InvocationFailureException will be thrown, which is the current behavior after all retries have been exhausted.

      To set the flag the files to alter are -

      • JBossMessaging: $JBOSS_HOME/server/$PROFILE/deploy/messaging/remoting-bisocket-service.xml

      You could add the parameter here:

      <server>
      <mbean code="org.jboss.remoting.transport.Connector"
      name="jboss.messaging:service=Connector,transport=bisocket"
      display-name="Bisocket Transport Connector">
      <attribute name="Configuration">
      <config>
      <invoker transport="bisocket">
      ...
      <attribute name="idempotent" isParam="true">true</attribute>
      ...
      </invoker>

      • EJB2: $JBOSS_HOME/server/$PROFILE/deploy/remoting-jboss-beans.xml

      You could add the parameter here:

      <deployment xmlns="urn:jboss:bean-deployer:2.0">
      ...

      <!-- Remoting server configuration -->
      <bean name="UnifiedInvokerConfiguration" class="org.jboss.remoting.ServerConfiguration">
      ...
      <!-- Parameters visible to both client and server -->
      <property name="invokerLocatorParameters">
      <map keyClass="java.lang.String" valueClass="java.lang.String">
      ...
      <entry>
      <key>idempotent</key>
      <value>true</value>
      </entry>
      ...

      • EJB3: $JBOSS_HOME/server/$PROFILE/deploy/ejb3-connectors-jboss-beans.xml

      You could add the parameter here:

      <deployment xmlns="urn:jboss:bean-deployer:2.0">
      ...
      <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&invokerDestructionDelay=5000&idempotent=true</parameter>
      <parameter>
      <null />
      </parameter>
      <parameter>3873</parameter>
      </value-factory>
      ...

              jbn-patch-team JBN Patch Team list
              rhn-support-sappleton Shaun Appleton
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: