Package com.sun.enterprise.resource
Class ResourceHandle
- java.lang.Object
-
- com.sun.enterprise.resource.ResourceHandle
-
- All Implemented Interfaces:
ResourceHandle
,TransactionalResource
- Direct Known Subclasses:
AssocWithThreadResourceHandle
public class ResourceHandle extends Object implements ResourceHandle, TransactionalResource
ResourceHandle encapsulates a resource connection. Equality on the handle is based on the id field- Author:
- Tony Ng
-
-
Constructor Summary
Constructors Constructor Description ResourceHandle(Object resource, ResourceSpec spec, ResourceAllocator alloc, ClientSecurityInfo info)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
closeUserConnection()
void
decrementCount()
void
destroyResource()
void
enlistedInTransaction(jakarta.transaction.Transaction tran)
Indicates that a resource has been enlisted in the transaction.boolean
equals(Object other)
void
fillInResourceObjects(Object userConnection, XAResource xaRes)
ClientSecurityInfo
getClientSecurityInfo()
Object
getComponentInstance()
long
getId()
long
getLastValidated()
jakarta.resource.spi.ConnectionEventListener
getListener()
String
getName()
int
getPartition()
Object
getResource()
ResourceAllocator
getResourceAllocator()
ResourceSpec
getResourceSpec()
ResourceState
getResourceState()
int
getShareCount()
Subject
getSubject()
int
getUsageCount()
Object
getUserConnection()
XAResource
getXAResource()
boolean
hasConnectionErrorOccurred()
int
hashCode()
void
incrementCount()
void
incrementUsageCount()
boolean
isBusy()
boolean
isEnlisted()
boolean
isEnlistmentSuspended()
To check whether lazy enlistment is suspended or not.
If true, TM will not do enlist/lazy enlist.boolean
isMarkedForReclaim()
To check if the resourceHandle is marked for leak reclaim or not.boolean
isShareable()
boolean
isTransactional()
Does this resource need enlistment to transaction manager?void
markForReclaim(boolean reclaim)
void
setBusy(boolean isBusy)
void
setComponentInstance(Object instance)
void
setConnectionErrorOccurred()
void
setEnlistmentSuspended(boolean enlistmentSuspended)
void
setLastValidated(long lastValidated)
void
setListener(jakarta.resource.spi.ConnectionEventListener l)
void
setPartition(int partition)
void
setResourceSpec(ResourceSpec spec)
void
setResourceState(ResourceState state)
void
setSubject(Subject subject)
boolean
supportsLazyAssociation()
boolean
supportsLazyEnlistment()
boolean
supportsXA()
String
toString()
-
-
-
Field Detail
-
lock
public final Object lock
-
-
Constructor Detail
-
ResourceHandle
public ResourceHandle(Object resource, ResourceSpec spec, ResourceAllocator alloc, ClientSecurityInfo info)
-
-
Method Detail
-
isTransactional
public boolean isTransactional()
Does this resource need enlistment to transaction manager?- Specified by:
isTransactional
in interfaceResourceHandle
- Specified by:
isTransactional
in interfaceTransactionalResource
-
isEnlistmentSuspended
public boolean isEnlistmentSuspended()
To check whether lazy enlistment is suspended or not.
If true, TM will not do enlist/lazy enlist.- Specified by:
isEnlistmentSuspended
in interfaceResourceHandle
- Specified by:
isEnlistmentSuspended
in interfaceTransactionalResource
- Returns:
- boolean
-
setEnlistmentSuspended
public void setEnlistmentSuspended(boolean enlistmentSuspended)
- Specified by:
setEnlistmentSuspended
in interfaceResourceHandle
-
markForReclaim
public void markForReclaim(boolean reclaim)
-
isMarkedForReclaim
public boolean isMarkedForReclaim()
To check if the resourceHandle is marked for leak reclaim or not.- Returns:
- boolean
-
supportsXA
public boolean supportsXA()
- Specified by:
supportsXA
in interfaceResourceHandle
- Specified by:
supportsXA
in interfaceTransactionalResource
-
getResourceAllocator
public ResourceAllocator getResourceAllocator()
-
getResource
public Object getResource()
-
getClientSecurityInfo
public ClientSecurityInfo getClientSecurityInfo()
-
setResourceSpec
public void setResourceSpec(ResourceSpec spec)
-
getResourceSpec
public ResourceSpec getResourceSpec()
-
getXAResource
public XAResource getXAResource()
- Specified by:
getXAResource
in interfaceResourceHandle
- Specified by:
getXAResource
in interfaceTransactionalResource
-
getUserConnection
public Object getUserConnection()
-
setComponentInstance
public void setComponentInstance(Object instance)
- Specified by:
setComponentInstance
in interfaceResourceHandle
- Specified by:
setComponentInstance
in interfaceTransactionalResource
-
closeUserConnection
public void closeUserConnection() throws PoolingException
- Specified by:
closeUserConnection
in interfaceResourceHandle
- Specified by:
closeUserConnection
in interfaceTransactionalResource
- Throws:
PoolingException
-
getComponentInstance
public Object getComponentInstance()
- Specified by:
getComponentInstance
in interfaceResourceHandle
- Specified by:
getComponentInstance
in interfaceTransactionalResource
-
getId
public long getId()
-
fillInResourceObjects
public void fillInResourceObjects(Object userConnection, XAResource xaRes)
-
incrementCount
public void incrementCount()
-
decrementCount
public void decrementCount()
-
getShareCount
public int getShareCount()
-
setSubject
public void setSubject(Subject subject)
-
getSubject
public Subject getSubject()
-
setConnectionErrorOccurred
public void setConnectionErrorOccurred()
-
hasConnectionErrorOccurred
public boolean hasConnectionErrorOccurred()
-
setResourceState
public void setResourceState(ResourceState state)
-
getResourceState
public ResourceState getResourceState()
-
setListener
public void setListener(jakarta.resource.spi.ConnectionEventListener l)
-
getListener
public jakarta.resource.spi.ConnectionEventListener getListener()
-
isShareable
public boolean isShareable()
- Specified by:
isShareable
in interfaceResourceHandle
- Specified by:
isShareable
in interfaceTransactionalResource
-
destroyResource
public void destroyResource()
- Specified by:
destroyResource
in interfaceResourceHandle
- Specified by:
destroyResource
in interfaceTransactionalResource
-
isEnlisted
public boolean isEnlisted()
- Specified by:
isEnlisted
in interfaceResourceHandle
- Specified by:
isEnlisted
in interfaceTransactionalResource
-
getLastValidated
public long getLastValidated()
-
setLastValidated
public void setLastValidated(long lastValidated)
-
getUsageCount
public int getUsageCount()
-
incrementUsageCount
public void incrementUsageCount()
-
getPartition
public int getPartition()
-
setPartition
public void setPartition(int partition)
-
getName
public String getName()
- Specified by:
getName
in interfaceTransactionalResource
- Returns:
- the String that can identify this resource
-
supportsLazyEnlistment
public boolean supportsLazyEnlistment()
-
supportsLazyAssociation
public boolean supportsLazyAssociation()
-
enlistedInTransaction
public void enlistedInTransaction(jakarta.transaction.Transaction tran) throws IllegalStateException
Description copied from interface:TransactionalResource
Indicates that a resource has been enlisted in the transaction.- Specified by:
enlistedInTransaction
in interfaceTransactionalResource
- Parameters:
tran
- Transaction to which the resource is enlisted- Throws:
IllegalStateException
- when unable to enlist the resource
-
setBusy
public void setBusy(boolean isBusy)
-
isBusy
public boolean isBusy()
-
-