|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.jackrabbit.core.SessionImpl org.apache.jackrabbit.core.XASessionImpl
Session extension that provides XA support.
Field Summary |
Fields inherited from class org.apache.jackrabbit.core.SessionImpl |
accessMgr, ADD_NODE_ACTION, alive, attributes, hierMgr, itemMgr, itemStateMgr, listeners, lockTokens, loginContext, nsMappings, ntMgr, READ_ACTION, REMOVE_ACTION, rep, SET_PROPERTY_ACTION, subject, userId, valueFactory, versionMgr, wsp |
Fields inherited from interface javax.transaction.xa.XAResource |
TMENDRSCAN, TMFAIL, TMJOIN, TMNOFLAGS, TMONEPHASE, TMRESUME, TMSTARTRSCAN, TMSUCCESS, TMSUSPEND, XA_OK, XA_RDONLY |
Constructor Summary | |
protected |
XASessionImpl(RepositoryImpl rep,
AuthContext loginContext,
WorkspaceConfig wspConfig)
Create a new instance of this class. |
protected |
XASessionImpl(RepositoryImpl rep,
Subject subject,
WorkspaceConfig wspConfig)
Create a new instance of this class. |
Method Summary | |
void |
associate(TransactionContext tx)
Associate this session with a global transaction. |
void |
commit(Xid xid,
boolean onePhase)
|
protected ItemManager |
createItemManager(SessionItemStateManager itemStateMgr,
HierarchyManager hierMgr)
Create the item manager. |
protected VersionManager |
createVersionManager(RepositoryImpl rep)
Create the version manager. If we are not using XA, we may safely use the repository version manager. |
protected WorkspaceImpl |
createWorkspaceInstance(WorkspaceConfig wspConfig,
SharedItemStateManager stateMgr,
RepositoryImpl rep,
SessionImpl session)
Creates the workspace instance backing this session. |
void |
end(Xid xid,
int flags)
If TMSUCCESS is specified, we disassociate this session
from the transaction specified. |
void |
forget(Xid xid)
No recovery support yet. |
LockManager |
getLockManager()
Return the lock manager for this session. |
int |
getTransactionTimeout()
|
XAResource |
getXAResource()
Retrieves an XAResource object that the transaction manager
will use to manage this XASession object's participation in
a distributed transaction. |
boolean |
isSameRM(XAResource xares)
Two resources belong to the same resource manager if both connections (i.e. |
int |
prepare(Xid xid)
|
Xid[] |
recover(int flags)
No recovery support yet. |
void |
rollback(Xid xid)
|
boolean |
setTransactionTimeout(int seconds)
|
void |
start(Xid xid,
int flags)
If TMNOFLAGS is specified, we create a new transaction
context and associate it with this resource. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface javax.jcr.Session |
addLockToken, checkPermission, exportDocumentView, exportDocumentView, exportSystemView, exportSystemView, getAttribute, getAttributeNames, getImportContentHandler, getItem, getLockTokens, getNamespacePrefix, getNamespacePrefixes, getNamespaceURI, getNodeByUUID, getRepository, getRootNode, getUserID, getValueFactory, getWorkspace, hasPendingChanges, impersonate, importXML, isLive, itemExists, logout, move, refresh, removeLockToken, save, setNamespacePrefix |
Constructor Detail |
protected XASessionImpl(RepositoryImpl rep, AuthContext loginContext, WorkspaceConfig wspConfig) throws AccessDeniedException, RepositoryException
rep
- repositoryloginContext
- login context containing authenticated subjectwspConfig
- workspace configuration
AccessDeniedException
- if the subject of the given login context
is not granted access to the specified
workspace
RepositoryException
- if another error occursprotected XASessionImpl(RepositoryImpl rep, Subject subject, WorkspaceConfig wspConfig) throws AccessDeniedException, RepositoryException
rep
- repositorysubject
- authenticated subjectwspConfig
- workspace configuration
AccessDeniedException
- if the given subject is not granted access
to the specified workspace
RepositoryException
- if another error occursMethod Detail |
protected WorkspaceImpl createWorkspaceInstance(WorkspaceConfig wspConfig, SharedItemStateManager stateMgr, RepositoryImpl rep, SessionImpl session)
createWorkspaceInstance
in class SessionImpl
wspConfig
- The workspace configurationstateMgr
- The shared item state managerrep
- The repositorysession
- The session
WorkspaceImpl
class or an extension
thereof.protected VersionManager createVersionManager(RepositoryImpl rep) throws RepositoryException
createVersionManager
in class SessionImpl
RepositoryException
protected ItemManager createItemManager(SessionItemStateManager itemStateMgr, HierarchyManager hierMgr)
createItemManager
in class SessionImpl
public LockManager getLockManager() throws RepositoryException
getLockManager
in class SessionImpl
RepositoryException
public XAResource getXAResource()
XAResource
object that the transaction manager
will use to manage this XASession
object's participation in
a distributed transaction.
getXAResource
in interface XASession
XAResource
object.public int getTransactionTimeout()
getTransactionTimeout
in interface XAResource
public boolean setTransactionTimeout(int seconds)
setTransactionTimeout
in interface XAResource
public boolean isSameRM(XAResource xares) throws XAException
isSameRM
in interface XAResource
XAException
public void start(Xid xid, int flags) throws XAException
TMNOFLAGS
is specified, we create a new transaction
context and associate it with this resource.
If TMJOIN
is specified, this resource should use the
same transaction context as another, already known transaction.
If TMRESUME
is specified, we should resume work on
a transaction context that was suspended earlier.
All other flags generate an XAException
of type
XAER_INVAL
start
in interface XAResource
XAException
public void end(Xid xid, int flags) throws XAException
TMSUCCESS
is specified, we disassociate this session
from the transaction specified.
If TMFAIL
is specified, we disassociate this session from
the transaction specified and mark the transaction rollback only.
If TMSUSPEND
is specified, we disassociate this session
from the transaction specified.
All other flags generate an XAException
of type
XAER_INVAL
end
in interface XAResource
XAException
public int prepare(Xid xid) throws XAException
prepare
in interface XAResource
XAException
public void commit(Xid xid, boolean onePhase) throws XAException
commit
in interface XAResource
XAException
public void rollback(Xid xid) throws XAException
rollback
in interface XAResource
XAException
public Xid[] recover(int flags) throws XAException
recover
in interface XAResource
XAException
public void forget(Xid xid) throws XAException
forget
in interface XAResource
XAException
public void associate(TransactionContext tx)
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |