Java Doc for ExternalDatabase.java in  » Database-DBMS » Ozone-1.1 » org » ozoneDB » Java Source Code / Java DocumentationJava Source Code and Java Documentation

Java Source Code / Java Documentation
1. 6.0 JDK Core
2. 6.0 JDK Modules
3. 6.0 JDK Modules com.sun
4. 6.0 JDK Modules com.sun.java
5. 6.0 JDK Modules sun
6. 6.0 JDK Platform
7. Ajax
8. Apache Harmony Java SE
9. Aspect oriented
10. Authentication Authorization
11. Blogger System
12. Build
13. Byte Code
14. Cache
15. Chart
16. Chat
17. Code Analyzer
18. Collaboration
19. Content Management System
20. Database Client
21. Database DBMS
22. Database JDBC Connection Pool
23. Database ORM
24. Development
25. EJB Server geronimo
26. EJB Server GlassFish
27. EJB Server JBoss 4.2.1
28. EJB Server resin 3.1.5
29. ERP CRM Financial
30. ESB
31. Forum
32. GIS
33. Graphic Library
34. Groupware
35. HTML Parser
36. IDE
37. IDE Eclipse
38. IDE Netbeans
39. Installer
40. Internationalization Localization
41. Inversion of Control
42. Issue Tracking
43. J2EE
44. JBoss
45. JMS
46. JMX
47. Library
48. Mail Clients
49. Net
50. Parser
51. PDF
52. Portal
53. Profiler
54. Project Management
55. Report
56. RSS RDF
57. Rule Engine
58. Science
59. Scripting
60. Search Engine
61. Security
62. Sevlet Container
63. Source Control
64. Swing Library
65. Template Engine
66. Test Coverage
67. Testing
68. UML
69. Web Crawler
70. Web Framework
71. Web Mail
72. Web Server
73. Web Services
74. Web Services apache cxf 2.0.1
75. Web Services AXIS2
76. Wiki Engine
77. Workflow Engines
78. XML
79. XML UI
Java
Java Tutorial
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
Photoshop Tutorials
Maya Tutorials
Flash Tutorials
3ds-Max Tutorials
Illustrator Tutorials
GIMP Tutorials
C# / C Sharp
C# / CSharp Tutorial
C# / CSharp Open Source
ASP.Net
ASP.NET Tutorial
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
Ruby
PHP
Python
Python Tutorial
Python Open Source
SQL Server / T-SQL
SQL Server / T-SQL Tutorial
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
Flash / Flex / ActionScript
VBA / Excel / Access / Word
XML
XML Tutorial
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
Java Source Code / Java Documentation » Database DBMS » Ozone 1.1 » org.ozoneDB 
Source Cross Reference  Class Diagram Java Document (Java Doc) 


java.lang.Object
   org.ozoneDB.AbstractDatabase
      org.ozoneDB.ExternalDatabase

All known Subclasses:   org.ozoneDB.RemoteDatabase,  org.ozoneDB.LocalDatabase,  org.ozoneDB.ClientCacheDatabase,
ExternalDatabase
abstract public class ExternalDatabase extends AbstractDatabase implements OzoneInterface(Code)
Base class for implementations of the OzoneInterface which are used from a client application to access an ozone.

Each thread is associated with a server connection. This connection is used if the thread is not associated with a transaction. Otherwise the connection of the transaction is used. So in case the thread has *joined* a transaction it does not use its own connection but the connection of the transaction. The prepare/commit/abort methods don't need to be called from the thread that is joined to the transaction.

Impl. note: The OzoneInterface methods don't need to be synchronized any longer because each threads has its own connection.


author:
   SMB
author:
   Medium.net
version:
   $Revision: 1.5 $Date: 2002/06/25 11:34:38 $
See Also:   OzoneInterface



Field Summary
final public static  StringPROP_DEBUG
    
final public static  StringPROP_DIR
    
final public static  StringPROP_HOST
    
final public static  StringPROP_PASSWD
    
final public static  StringPROP_PORT
    
final public static  StringPROP_USER
    

Constructor Summary
public  ExternalDatabase()
    

Method Summary
final protected  DbClientacquirePooledConnection()
     Get a connection from the connection pool.

Earlier versions kept one connection for each client thread.

public  Adminadmin()
     Return the administration object for this database.
public  voidbeginTX(AbstractTransaction tx)
     This method is never directly called from the client code.
public  voidcheckpointTX(AbstractTransaction tx)
     This method is never directly called from the client code.
public synchronized  voidclose()
     Close this database.
final protected  ObjectcommandTX(AbstractTransaction tx, DbTransaction command)
     This method is never directly called from the client code.
public  voidcommitTX(AbstractTransaction tx, boolean onePhase)
     This method is never directly called from the client code.
public  OzoneProxycopyObject(OzoneRemote obj)
    
public  OzoneProxycreateObject(String className, int access, String name, String sig, Object[] args)
    
protected static  HashtablecreateProps(String _url)
    
public  ExternalTransactioncurrentExternalTransaction()
     Obtain the ExternalTransaction that is assocaited to the caller's thread or null, if there is no such transaction.
public  AbstractTransactioncurrentTransaction()
     Obtain the transaction that is assocaited to the caller's thread or null, if there is no such transaction.
public  voiddeleteObject(OzoneRemote obj)
    
public  OzoneCompatiblefetch(OzoneProxy rObj, int lockLevel)
    
protected  voidfinalize()
    
public static  ExternalDatabaseforThread(Thread _thread)
     Static method to find a database connection that has an associated transaction that has been joined by the given thread.
final public  intgetStatusTX(AbstractTransaction tx)
     Obtain the _internal_ server status of this transaction. Status of the transaction.
final public  XAResourcegetXAResource()
     Return a new XAResource for this database connection.
public  Objectinvoke(OzoneProxy rObj, String methodName, String sig, Object[] args, int lockLevel)
    
public  Objectinvoke(OzoneProxy rObj, int methodIndex, Object[] args, int lockLevel)
    
public  booleanisOpen()
    
public  voidjoinTX(AbstractTransaction tx)
     This method is never directly called from the client code.
public  booleanleaveTX(AbstractTransaction tx)
     This method is never directly called from the client code.
protected  ExternalDatabaselinkForProxy(OzoneProxy proxy)
    
public  voidnameObject(OzoneRemote obj, String name)
    
abstract protected  DbClientnewConnection()
     The way for the actual database types to create a corresponding connection.
public  ExternalTransactionnewTransaction()
     Create a new transaction.
public  voidnotifyProxyDeath(OzoneProxy proxy)
     Internal method.
public  OzoneProxyobjectForHandle(String handle)
    
public  OzoneProxyobjectForName(String name)
    
public  OzoneProxy[]objectsOfClass(String name)
    
protected  voidopen(Hashtable _props)
     Open this database connection according to the specified properties.
public static  ExternalDatabaseopenDatabase(String _url, String _username, String _passwd)
     Factory method that creates a new database object.
public static  ExternalDatabaseopenDatabase(String _url)
     Factory method that creates a new database object.
public  voidprepareTX(AbstractTransaction tx)
     This method is never directly called from the client code.
final protected  voidreleasePooledConnection(DbClient connection)
     Release a formerly acquired pooled connection so that it may used by another request.
public  voidreloadClasses()
    
public  voidrollbackTX(AbstractTransaction tx)
     This method is never directly called from the client code.
final protected  ObjectsendCommand(DbCommand command, boolean waitForResult)
     Send the specified command to the server.
protected  ObjectsendCommand(DbCommand command, boolean waitForResult, DbClient connection)
     Send the specified command to the server.
protected synchronized  voidsetWrapper(ExternalDatabase _wrapper)
    
final protected  AbstractTransactiontxForThread(Thread thread)
    
public  NodexmlForObject(OzoneRemote rObj, Document domFactory)
    
public  voidxmlForObject(OzoneRemote rObj, ContentHandler ch)
    

Field Detail
PROP_DEBUG
final public static String PROP_DEBUG(Code)



PROP_DIR
final public static String PROP_DIR(Code)



PROP_HOST
final public static String PROP_HOST(Code)



PROP_PASSWD
final public static String PROP_PASSWD(Code)



PROP_PORT
final public static String PROP_PORT(Code)



PROP_USER
final public static String PROP_USER(Code)




Constructor Detail
ExternalDatabase
public ExternalDatabase()(Code)




Method Detail
acquirePooledConnection
final protected DbClient acquirePooledConnection() throws Exception(Code)
Get a connection from the connection pool.

Earlier versions kept one connection for each client thread. That is, client threads were directly mapped to server threads. Especially for servlet environment this produces a lot of connections (server threads), which in fact is not needed.

So we are using a pool of connections now. Connections are actually created and added to the pool when the pool is empty. Currently connections are never closed once they are added to the pool.
Parameters:
  DbClient - A connection from the pool.




admin
public Admin admin() throws Exception(Code)
Return the administration object for this database. The admin object for this database;



beginTX
public void beginTX(AbstractTransaction tx) throws TransactionExc, IOException(Code)
This method is never directly called from the client code.



checkpointTX
public void checkpointTX(AbstractTransaction tx) throws TransactionExc, IOException(Code)
This method is never directly called from the client code.



close
public synchronized void close() throws Exception(Code)
Close this database.



commandTX
final protected Object commandTX(AbstractTransaction tx, DbTransaction command) throws TransactionExc, IOException(Code)
This method is never directly called from the client code.



commitTX
public void commitTX(AbstractTransaction tx, boolean onePhase) throws TransactionExc, IOException(Code)
This method is never directly called from the client code.



copyObject
public OzoneProxy copyObject(OzoneRemote obj) throws Exception(Code)



createObject
public OzoneProxy createObject(String className, int access, String name, String sig, Object[] args) throws RuntimeException, ExceptionInOzoneObjectException(Code)



createProps
protected static Hashtable createProps(String _url) throws MalformedURLException(Code)

Parameters:
  _url - The URL of the database (ozonedb:remote://host:port orozonedb:local://datadir)



currentExternalTransaction
public ExternalTransaction currentExternalTransaction()(Code)
Obtain the ExternalTransaction that is assocaited to the caller's thread or null, if there is no such transaction. This does not necessarily mean that there is no transaction associated to this thread at all. For example there might be an XA transaction. The transaction that is associated to the caller's thread.
See Also:   ExternalDatabase.currentTransaction()



currentTransaction
public AbstractTransaction currentTransaction()(Code)
Obtain the transaction that is assocaited to the caller's thread or null, if there is no such transaction. The transaction might be an instance of any subclass of AbstractTransaction, which includes also non-user transactions like org.ozoneDB.xa.XATransaction . The transaction that is associated to the caller's thread.
See Also:   ExternalDatabase.currentExternalTransaction()



deleteObject
public void deleteObject(OzoneRemote obj) throws RuntimeException, ExceptionInOzoneObjectException(Code)



fetch
public OzoneCompatible fetch(OzoneProxy rObj, int lockLevel) throws Exception(Code)



finalize
protected void finalize() throws Throwable(Code)



forThread
public static ExternalDatabase forThread(Thread _thread)(Code)
Static method to find a database connection that has an associated transaction that has been joined by the given thread. Used by proxy constructors to determine its database. This method returns the first database that was found.
Parameters:
  _thread - The thread for which to find the corresponding database. The database for the given thread.



getStatusTX
final public int getStatusTX(AbstractTransaction tx) throws TransactionExc, IOException(Code)
Obtain the _internal_ server status of this transaction. Status of the transaction. Defined inorg.ozoneDB.core.Transaction.

This method is never directly called from the client code.




getXAResource
final public XAResource getXAResource()(Code)
Return a new XAResource for this database connection. new XAResource.



invoke
public Object invoke(OzoneProxy rObj, String methodName, String sig, Object[] args, int lockLevel) throws Exception(Code)



invoke
public Object invoke(OzoneProxy rObj, int methodIndex, Object[] args, int lockLevel) throws Exception(Code)



isOpen
public boolean isOpen() throws Exception(Code)



joinTX
public void joinTX(AbstractTransaction tx) throws TransactionExc(Code)
This method is never directly called from the client code.



leaveTX
public boolean leaveTX(AbstractTransaction tx)(Code)
This method is never directly called from the client code.



linkForProxy
protected ExternalDatabase linkForProxy(OzoneProxy proxy)(Code)



nameObject
public void nameObject(OzoneRemote obj, String name) throws Exception(Code)



newConnection
abstract protected DbClient newConnection() throws Exception(Code)
The way for the actual database types to create a corresponding connection.



newTransaction
public ExternalTransaction newTransaction()(Code)
Create a new transaction. Before using this transaction it must be started. The newly created transaction.



notifyProxyDeath
public void notifyProxyDeath(OzoneProxy proxy)(Code)
Internal method. This method is called by OzoneProxy s when they are dying (during finalize()). This is required, as the database may track the references the database client has to objects within the database in order to properly support garbage collection. If this method is called from anyone else than from the OzoneProxy .finalize()-Method, data loss may occur!
Parameters:
  proxy - the OzoneProxy object which is dying. It may call this method exaclty once.



objectForHandle
public OzoneProxy objectForHandle(String handle) throws Exception(Code)



objectForName
public OzoneProxy objectForName(String name) throws Exception(Code)



objectsOfClass
public OzoneProxy[] objectsOfClass(String name) throws Exception(Code)



open
protected void open(Hashtable _props) throws Exception(Code)
Open this database connection according to the specified properties.



openDatabase
public static ExternalDatabase openDatabase(String _url, String _username, String _passwd) throws Exception(Code)
Factory method that creates a new database object. The actual type of the database object ( ExternalDatabase or LocalDatabase ) depends on the specified database URL. The returned database connection is already open.



openDatabase
public static ExternalDatabase openDatabase(String _url) throws Exception(Code)
Factory method that creates a new database object. The actual type of the database object ( ExternalDatabase or LocalDatabase ) depends on the specified database URL. The returned database connection is already open.



prepareTX
public void prepareTX(AbstractTransaction tx) throws TransactionExc, IOException(Code)
This method is never directly called from the client code.



releasePooledConnection
final protected void releasePooledConnection(DbClient connection)(Code)
Release a formerly acquired pooled connection so that it may used by another request.
Parameters:
  connection - The pooled connection to be released
See Also:   ExternalDatabase.acquirePooledConnection



reloadClasses
public void reloadClasses() throws Exception(Code)



rollbackTX
public void rollbackTX(AbstractTransaction tx) throws TransactionExc, IOException(Code)
This method is never directly called from the client code.



sendCommand
final protected Object sendCommand(DbCommand command, boolean waitForResult) throws Exception(Code)
Send the specified command to the server. If there is a global transaction, its connection is used. Else, if the current thread is joined to a transaction the connection of the transaction is used. Otherwise a connection from the pool is used.



sendCommand
protected Object sendCommand(DbCommand command, boolean waitForResult, DbClient connection) throws Exception, ExceptionInOzoneObjectException(Code)
Send the specified command to the server. Use the specified connection. While working the connection is synchronized to allow multiple threads to use this connection.
Parameters:
  waitForResult - true: read the result from the external database and return itfalse: do not read the result from the external database and return null.This is dangerous if not properly used. In this case, the resultis not read from the stream and left to be read from the next reader.As this is not desireable, only supply false if the command does not return any result.



setWrapper
protected synchronized void setWrapper(ExternalDatabase _wrapper)(Code)



txForThread
final protected AbstractTransaction txForThread(Thread thread)(Code)



xmlForObject
public Node xmlForObject(OzoneRemote rObj, Document domFactory) throws Exception(Code)



xmlForObject
public void xmlForObject(OzoneRemote rObj, ContentHandler ch) throws Exception(Code)



Fields inherited from org.ozoneDB.AbstractDatabase
final public static int DefaultAccessRight(Code)(Java Doc)

Methods inherited from org.ozoneDB.AbstractDatabase
public OzoneProxy createObject(String className) throws RuntimeException(Code)(Java Doc)
public OzoneProxy createObject(String className, int access) throws RuntimeException(Code)(Java Doc)
public OzoneProxy createObject(String className, int access, String objName) throws RuntimeException(Code)(Java Doc)
public OzoneProxy createObject(String className, String sig, Object[] args) throws RuntimeException(Code)(Java Doc)
public OzoneProxy createObject(Class type) throws RuntimeException(Code)(Java Doc)
public OzoneProxy createObject(Class type, int access) throws RuntimeException(Code)(Java Doc)
public OzoneProxy createObject(Class type, int access, String objName) throws RuntimeException(Code)(Java Doc)
public OzoneProxy createObject(Class type, int access, String objName, String sig, Object[] args) throws RuntimeException(Code)(Java Doc)
public OzoneProxy createObject(Class type, String sig, Object[] args) throws RuntimeException(Code)(Java Doc)

Methods inherited from java.lang.Object
native protected Object clone() throws CloneNotSupportedException(Code)(Java Doc)
public boolean equals(Object obj)(Code)(Java Doc)
protected void finalize() throws Throwable(Code)(Java Doc)
final native public Class getClass()(Code)(Java Doc)
native public int hashCode()(Code)(Java Doc)
final native public void notify()(Code)(Java Doc)
final native public void notifyAll()(Code)(Java Doc)
public String toString()(Code)(Java Doc)
final native public void wait(long timeout) throws InterruptedException(Code)(Java Doc)
final public void wait(long timeout, int nanos) throws InterruptedException(Code)(Java Doc)
final public void wait() throws InterruptedException(Code)(Java Doc)

www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.