|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.apache.jackrabbit.core.persistence.AbstractPersistenceManager
org.apache.jackrabbit.core.persistence.db.DatabasePersistenceManager
org.apache.jackrabbit.core.persistence.db.SimpleDbPersistenceManager
public class SimpleDbPersistenceManager
SimpleDbPersistenceManager is a generic JDBC-based
PersistenceManager for Jackrabbit that persists
ItemState and NodeReferences objects using a
simple custom binary serialization format (see Serializer) and a
very basic non-normalized database schema (in essence tables with one 'key'
and one 'data' column).
driver: the FQN name of the JDBC driver classurl: the database url of the form jdbc:subprotocol:subnameuser: the database userpassword: the user's passwordschema: type of schema to be used
(e.g. mysql, mssql, etc.); schemaObjectPrefix: prefix to be prepended to schema objectsexternalBLOBs: if true (the default) BINARY
values (BLOBs) are stored in the local file system;
if false BLOBs are stored in the databasegetClass().getResourceAsStream(schema + ".ddl").
Every line in the specified .ddl file is executed separatly by calling
java.sql.Statement.execute(String) where every occurence of the
the string "${schemaObjectPrefix}" has been replaced with the
value of the property schemaObjectPrefix.
The following is a fragment from a sample configuration using MySQL:
<PersistenceManager class="org.apache.jackrabbit.core.persistence.db.SimpleDbPersistenceManager">
<param name="driver" value="com.mysql.jdbc.Driver"/>
<param name="url" value="jdbc:mysql:///test?autoReconnect=true"/>
<param name="schema" value="mysql"/>
<param name="schemaObjectPrefix" value="${wsp.name}_"/>
<param name="externalBLOBs" value="false"/>
</PersistenceManager>
The following is a fragment from a sample configuration using Daffodil One$DB Embedded:
<PersistenceManager class="org.apache.jackrabbit.core.persistence.db.SimpleDbPersistenceManager">
<param name="driver" value="in.co.daffodil.db.jdbc.DaffodilDBDriver"/>
<param name="url" value="jdbc:daffodilDB_embedded:${wsp.name};path=${wsp.home}/../../databases;create=true"/>
<param name="user" value="daffodil"/>
<param name="password" value="daffodil"/>
<param name="schema" value="daffodil"/>
<param name="schemaObjectPrefix" value="${wsp.name}_"/>
<param name="externalBLOBs" value="false"/>
</PersistenceManager>
The following is a fragment from a sample configuration using DB2:
<PersistenceManager class="org.apache.jackrabbit.core.persistence.db.SimpleDbPersistenceManager">
<param name="driver" value="com.ibm.db2.jcc.DB2Driver"/>
<param name="url" value="jdbc:db2:test"/>
<param name="schema" value="db2"/>
<param name="schemaObjectPrefix" value="${wsp.name}_"/>
<param name="externalBLOBs" value="false"/>
</PersistenceManager>
The following is a fragment from a sample configuration using MSSQL:
<PersistenceManager class="org.apache.jackrabbit.core.persistence.db.SimpleDbPersistenceManager">
<param name="driver" value="com.microsoft.jdbc.sqlserver.SQLServerDriver"/>
<param name="url" value="jdbc:microsoft:sqlserver://localhost:1433;;DatabaseName=test;SelectMethod=Cursor;"/>
<param name="schema" value="mssql"/>
<param name="user" value="sa"/>
<param name="password" value=""/>
<param name="schemaObjectPrefix" value="${wsp.name}_"/>
<param name="externalBLOBs" value="false"/>
</PersistenceManager>
The following is a fragment from a sample configuration using Ingres:
<PersistenceManager class="org.apache.jackrabbit.core.persistence.db.SimpleDbPersistenceManager">
<param name="driver" value="com.ingres.jdbc.IngresDriver"/>
<param name="url" value="jdbc:ingres://localhost:II7/test"/>
<param name="schema" value="ingres"/>
<param name="user" value="ingres"/>
<param name="password" value="ingres"/>
<param name="schemaObjectPrefix" value="${wsp.name}_"/>
<param name="externalBLOBs" value="false"/>
</PersistenceManager>
The following is a fragment from a sample configuration using PostgreSQL:
<PersistenceManager class="org.apache.jackrabbit.core.persistence.db.SimpleDbPersistenceManager">
<param name="driver" value="org.postgresql.Driver"/>
<param name="url" value="jdbc:postgresql://localhost/test"/>
<param name="schema" value="postgresql"/>
<param name="user" value="postgres"/>
<param name="password" value="postgres"/>
<param name="schemaObjectPrefix" value="${wsp.name}_"/>
<param name="externalBLOBs" value="false"/>
</PersistenceManager>
JNDI can be used to get the connection. In this case, use the javax.naming.InitialContext as the driver,
and the JNDI name as the URL. If the user and password are configured in the JNDI resource,
they should not be configured here. Example JNDI settings:
<param name="driver" value="javax.naming.InitialContext" /> <param name="url" value="java:comp/env/jdbc/Test" />See also
DerbyPersistenceManager, OraclePersistenceManager.
| Field Summary | |
|---|---|
protected String |
driver
|
protected String |
password
|
protected String |
url
|
protected String |
user
|
| Constructor Summary | |
|---|---|
SimpleDbPersistenceManager()
|
|
| Method Summary | |
|---|---|
protected Connection |
getConnection()
Returns a JDBC connection acquired using the JDBC DriverManager. |
String |
getDriver()
|
String |
getPassword()
|
String |
getUrl()
|
String |
getUser()
|
void |
setConnectionFactory(ConnectionFactory connnectionFactory)
|
void |
setDriver(String driver)
|
void |
setPassword(String password)
|
void |
setUrl(String url)
|
void |
setUser(String user)
|
| Methods inherited from class org.apache.jackrabbit.core.persistence.db.DatabasePersistenceManager |
|---|
buildSQLStatements, checkSchema, close, closeConnection, closeResultSet, closeStatement, createSchemaSql, destroy, destroy, destroy, executeStmt, exists, exists, existsReferencesTo, getSchema, getSchemaDDL, getSchemaObjectPrefix, init, initConnection, initPreparedStatements, isExternalBLOBs, isSchemaCheckEnabled, load, load, loadReferencesTo, logException, prepareSchemaObjectPrefix, reestablishConnection, resetStatement, setExternalBLOBs, setExternalBLOBs, setSchema, setSchemaCheckEnabled, setSchemaObjectPrefix, store, store, store, store |
| Methods inherited from class org.apache.jackrabbit.core.persistence.AbstractPersistenceManager |
|---|
checkConsistency, createNew, createNew |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
protected String driver
protected String url
protected String user
protected String password
| Constructor Detail |
|---|
public SimpleDbPersistenceManager()
| Method Detail |
|---|
public void setConnectionFactory(ConnectionFactory connnectionFactory)
setConnectionFactory in interface DatabaseAwarepublic String getUrl()
public void setUrl(String url)
public String getUser()
public void setUser(String user)
public String getPassword()
public void setPassword(String password)
public String getDriver()
public void setDriver(String driver)
protected Connection getConnection()
throws RepositoryException,
SQLException
DriverManager.
getConnection in class DatabasePersistenceManagerSQLException
RepositoryException - if the driver could not be loaded
SQLException - if the connection could not be establishedDatabasePersistenceManager.getConnection()
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||