code: public void setRecoveryID(int recoveryId) throws ResourceException
      {
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
          {
              Tr.entry(tc, "MEF.setRecoveryID for enterprise class " + beanMetaData.enterpriseBeanName);
          }
  
          if (ivRecoveryIdKnown)
          {
              if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              {
                  Tr.exit(tc, "MEF.setRecoveryID for enterprise class " + beanMetaData.enterpriseBeanName);
              }
              throw new ApplicationServerInternalException("setRecoveryId can only be called once per factory");
          }
          else
          {
              ivRecoveryId = recoveryId;
              ivRecoveryIdKnown = true;
          }
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
          {
              Tr.exit(tc, "MEF.setRecoveryID for enterprise class " + beanMetaData.enterpriseBeanName);
          }
      }
docs: Sets the recovery ID assigned to this instance of a WsMessageEndpointFactory
  object. The recovery ID is used so that a WsMessageEndpointFactory object is
  able to enlist the XAResource passed to it on the createEndpoint method call
  with the websphere transaction service when necessary. The websphere TX service
  requires a recovery ID to be passed to it during the enlistment.
  <dl>
  <dt>
  pre-condition
  <dd>
  This method must be called prior to the endpointActivation method being called
  on the javax.resource.spi.ResourceAdapter interface. The reason for this requirement
  is to ensure the WsMessageEndpointFactory object knows the recovery ID prior to
  the createEndpoint method of the javax.resource.spi.endpoint.MessageEndpointFactory
  interface being called by the ResourceAdapter object. This eliminates the need for
  MessageEndpointFactory to throw a UnavailableException if createEndpoint is called
  before recovery ID is known.
  <dd>
  This method can only be called once per WsMessageEndpointFactory object.
  <dt>
  post-condition
  <dd>
  </dl>
  
  @throws ResourceException if this method was previously called for
  this MessageEndpointFactory instance.