Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * JBoss, Home of Professional Open Source
   * Copyright 2006, Red Hat Middleware LLC, and individual contributors 
   * as indicated by the @author tags. 
   * See the copyright.txt in the distribution for a
   * full listing of individual contributors. 
   * This copyrighted material is made available to anyone wishing to use,
   * modify, copy, or redistribute it subject to the terms and conditions
   * of the GNU Lesser General Public License, v. 2.1.
  * This program is distributed in the hope that it will be useful, but WITHOUT A 
  * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
  * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
  * You should have received a copy of the GNU Lesser General Public License,
  * v.2.1 along with this distribution; if not, write to the Free Software
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
  * MA  02110-1301, USA.
  * 
  * (C) 2005-2006,
  * @author JBoss Inc.
  */
 /*
  * Copyright (C) 1999-2001 by HP Bluestone Software, Inc. All rights Reserved.
  *
  * HP Arjuna Labs,
  * Newcastle upon Tyne,
  * Tyne and Wear,
  * UK.
  *
  * $Id: TransactionStatusManagerItem.java 2342 2006-03-30 13:06:17Z  $
  */
 
 package com.arjuna.ats.internal.arjuna.recovery ;
 
 import java.util.Date;
 
 
 // similar to FactoryContactItem
 {
    
Create the instance of a Transaction Status Manager contact item.

Deprecated:
Only used in tests
 
     public static boolean createAndSaveint port )
     {
 	boolean ret_status = true ;
 	
 	if (  == null )
 	    {
 		
 		ret_status = .saveThis();
 	    }
 	return ret_status ;
     }
 
     public static boolean createAndSave(String hostAddressint port )
     {
         boolean ret_status = true ;
 
         if (  == null )
         {
              = new TransactionStatusManagerItem(hostAddressport );
 
             ret_status = .saveThis();
         }
         return ret_status ;
     }

    
Get a reference to the Object Store.
 
     private static ParticipantStore getStore()
     {
         return StoreManager.getCommunicationStore();
     }
    
    
Accessor method for host in format xxx.xxx.xxx.xxx
 
     public String host()
     {
 	return  ;
     }
    
    
Accessor method for the port used by this object.
    public int port()
    {
	return  ;
    }
    
    
The process has died.
    public void markAsDead()
    {
	// ignore if done previously
	if ( !  )
	    {
		// the host/port won't work any more, so forget it
		 = true ;
		 = new Date() ;
	    }
    }
    
    
Return time when process marked dead.
 
    public Date getDeadTime()
    {
	return  ;
    }
    
    
Returns reference to this transaction status manager item.
   
    public static TransactionStatusManagerItem get()
    {
	return  ;
    }
    
    
Crash Recovery uses this method to recreate a representation of the Transaction Status Managers host/port pair contact.
    public static TransactionStatusManagerItem recreate ( Uid uid )
    {
	    theItem = new TransactionStatusManagerItemuid ) ;
	if ( theItem.restoreThis() )
	    {
		return theItem ;
	    }
	else
	    {
         return null;
	    }
    }
    
    
Destroy the host/port pair for the specified process Uid.
 
    public static boolean removeThisUid pidUid )
    {
	boolean ret_status = false ;
      try
	  {
	      ret_status = getStore().remove_committedpidUid ) ;
	  }
      catch ( ObjectStoreException ex ) {
      }
      
      return ret_status ;
    }
    
    
Type used as path into object store for a TransactionStatusManagerItem.
    public static String typeName()
    {
	return  ;
   }
    
    
Read host/port pair from the ObjectStore using the process Uid as a unique identifier.
    private boolean restoreThis()
   {
       boolean ret_status = false ;
       
       try
      { 
								  ) ;
	  
	  if ( restore_stateobjstate) )
	      {
            return ret_status = true ;
	      }
      }
       catch ( ObjectStoreException ex ) {
           ret_status = false;
       }
       
       return ret_status ;
   }
    
    
Retrieve host/port pair from the Object Store.
    private boolean restore_state ( InputObjectState objstate )
    {
	boolean ret_status = false ;
	try
        {
	     = objstate.unpackString() ;
	     = objstate.unpackInt() ;
	     = objstate.unpackBoolean() ;
	    
	    if (  )
		{
		    long deadtime = objstate.unpackLong() ;
		     = new Datedeadtime ) ;
		}  
            
	    ret_status = true ;
	}
	catch ( IOException ex ) {
    }
	return ret_status ;
    }
   
    
Save host/port pair to the Object Store.
    private boolean save_state ( OutputObjectState objstate )
    {
	boolean ret_status = false ;
	try
	    {
		objstate.packString ) ;
		objstate.packInt ) ;
		objstate.packBoolean ) ;
		if (  )
		    {
            objstate.packLong.getTime() ) ;
		    }
		ret_status = true ;
	    }
	catch ( IOException ex ) {
    }
	return ret_status ;
    }
    
    
Write host/port pair to the ObjectStore using the process Uid as a unique identifier.
   private boolean saveThis()
    {
	boolean ret_status = false ;
	try
	    {
		if ( save_state(objstate) )
		    {
			ret_status = getStore().write_committed ( 
								  
								  objstate ) ;
         }
	    }
	catch ( ObjectStoreException ex ) {
    }
	return ret_status ;
   }
    
    
Constructor which obtains the process uid and host for use with the specified port.
   private TransactionStatusManagerItem ( int port )
    {
	 = Utility.getProcessUid() ;
	 = port ;
	try
	{
	     = InetAddress.getLocalHost().getHostAddress() ;
         
	}
	catch ( UnknownHostException ex ) {
    }
    }

    
Constructor which obtains the process uid for use with the specified host and port.
    private TransactionStatusManagerItem (String hostint port )
    {
         = Utility.getProcessUid() ;
         = port ;
        try
        {
            // make sure the passed in host is valid
            Utility.hostNameToInetAddress(host);
             = host;
        }
        catch ( UnknownHostException ex ) {
        }
    }

    
Used by a Recovery Manager to recreate a Transaction status manager contact item.
    private TransactionStatusManagerItemUid uid )
    {
	 = new Uiduid ) ;
    }
    
    // Process Uid.
    private Uid _pidUid ;
   
    // Relative location in object store for this 'type'.
    private static String _typeName = "/Recovery/TransactionStatusManager" ;
    
    // Host/port pair on which to connect to the Transaction status manager.
    private String _host ;
    private int    _port ;
    
    // The singleton instance of this class.
    private static TransactionStatusManagerItem _singularItem = null ;
    
    // Time at which the process for this item has died.
    private Date _deadTime = null ;
    
    // flag indicates dead TSM
    private boolean _markedDead = false ;
New to GrepCode? Check out our FAQ X