3.7.2.4.3 Arguments

stroid
Specifies the object ID in string format. The object ID uniquely identifies this instance of the class.

Note:

The restriction on the length of the object ID has been removed in this release.
reason
Indicates the event that caused this method to be invoked. The reason code can be one of the following:
DR_METHOD_END
Indicates that the object is being deactivated after the completion of a method. It is used if the object’s deactivation policy is:
  • - method
  • - transaction (only if there is no transaction in effect)
  • - process (if TP::deactivateEnable() called)
DR_SERVER_SHUTDOWN
Indicates that the object is being deactivated because the server is being shut down in an orderly fashion. It is used if the object’s deactivation policy is:
  • - transaction (only if transaction is active)
  • - process

    Note:

    When a server is shut down in an orderly fashion, all transactions that the server is involved in are marked for rollback.
DR_TRANS_ABORTED
This reason code is used only for objects that have the transaction activation policy. It can occur when the transaction is started by either the client or automatically by the system. When the deactivate_object() method is invoked with this reason code, the transaction is marked for rollback only.
DR_TRANS_COMMITTING
This reason code is used only for objects that have the transaction activation policy. It can occur when the transaction is started by either the client or the TP Framework. It indicates that a Current.commit() operation was invoked for the transaction in which the object is involved. The deactivate_object() method is invoked just before the transaction manager’s two-phase commit algorithm begins; that is, before prepare is sent to the resource managers.
The CORBA object is allowed to vote on the outcome of the transaction when the deactivate_object() method is invoked with the DR_TRANS_COMMITTING reason code. By invoking Current.rollback_only(), the method can force the transaction to be rolled back; otherwise, the two-phase commit algorithm continues. The transaction is not necessarily committed just because the Current.rollback_only() is not invoked in this method. Any other CORBA object or resource manager involved in the transaction could also vote to roll back the transaction.
DR_EXPLICIT_DEACTIVATE
Indicates that the object is being deactivated because the application executed a TP::deactivateEnable(-,-,-) on this object. This can happen only for objects that have the process activation policy.