###############################################################################
# Speedo: an implementation of JDO compliant personality on top of JORM generic
# I/O sub-system.
# Copyright (C) 2001-2003 France Telecom R&D
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY 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 along with this library; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
#
# Contact: speedo@objectweb.org (users list)
#          or sebastien.chassande-barrioz@rd.francetelecom.com (project chief)
#
###############################################################################
# This file is the configuration file of Speedo.
VendorName ObjectWeb Consortium
VersionNumber 1.0


###############################################################################
#                         PersistenceManagerFactory                           #
###############################################################################
# Class implementing the PersistenceManagerFactory interface.
# Note: The real role of this class is to initialize the component architecture
# (http://fractal.objectweb.org) of Speedo with the initial properies specified
# in this file. The PersistenceManagerFactory role is delegated to the real
# implementation (the SpeedoPersistenceManagerFactory class).
#
# This property must not be changed. It is used by the JDOHelper to knwon the
# PersistenceManagerFactory class of the JDO driver.
#
javax.jdo.PersistenceManagerFactoryClass org.objectweb.speedo.Speedo


###############################################################################
#                                  Data Access                                #
###############################################################################
# This section contains the configuration of the access to the data support.
#
# The first property (org.objectweb.speedo.mapperName) MUST be defined for the
# enhancement time and the runtime. It characterizes the data source type.
#
# In a second part of this data access section, you must choose the way for
# Speedo to reach the data support. The first mean is through a JDBC
# driver and the second is through a connection factory.

#==============================#
#       Data source type       #
#==============================#
#mapper name corresponding to your data support type
#org.objectweb.speedo.mapperName rdb.postgres
#org.objectweb.speedo.mapperName rdb.oracle
org.objectweb.speedo.mapperName rdb.mysql
#Other possible values:
# rdb.oracle8, rdb.sqlserver, rdb.firebird, rdb.mckoi, rdb.sapdb, rdb.sybase

#===============================================#
# JDBC Driver directly (local transaction only) #
#===============================================#
#Driver class name
#javax.jdo.option.DriverName org.postgresql.Driver
#javax.jdo.option.DriverName oracle.jdbc.driver.OracleDriver
javax.jdo.option.DriverName com.mysql.jdbc.Driver
#javax.jdo.option.DriverName com.p6spy.engine.spy.P6SpyDriver

#url of the database
#javax.jdo.option.ConnectionURL jdbc:postgresql:speedoTest
#javax.jdo.option.ConnectionURL jdbc:oracle:thin:@10.194.3.226:1521:test1
javax.jdo.option.ConnectionURL jdbc\:mysql\://127.0.0.1/siprp

#user name
javax.jdo.option.ConnectionUserName root

#password of the user
javax.jdo.option.ConnectionPassword UNIXLuvsU

# connection pool size
org.objectweb.speedo.connection.pool.min 0
org.objectweb.speedo.connection.pool.max 20
# TTL of the unused connection in term of seconds
# 0 => no TTL (default)
org.objectweb.speedo.connection.pool.ttl 300
#the max time to wait a free connection in millisecond
org.objectweb.speedo.connection.pool.timeout 500


#======================================#
# Connection factory registred in JNDI #
#======================================#

# This property is the jndi name of a registered connection factory. A
# connection factory must an implementation of one of these interfaces:
#  - javax.sql.Datasource
#  - javax.resource.cci.ConnectionFactory
#
#javax.jdo.option.ConnectionFactoryName connFacJndiName

###############################################################################
#                           Transaction management                            #
###############################################################################
# Speedo can be used in stand alone mode or integrated into an application
# server. In the first case (stand alone), the user must demarcates transactions
# in its application code. In the second case (into an application server) the
# transaction can be dermacated by the container of Session bean. Then the
# transactions are potentialy distributed and therefore managed by a
# transactional monitor.
#
# To use speedo in an application server with transactions demarcated by the
# EJB container, the transaction manager instance (implements
# javax.transaction.TransactionManager) MUST be registered into JNDI. If no
# name is specified several attempts are done with classical jndi names used
# in some application servers:
#
# -----------------------------------------------------------
# | Apps Server  | JNDI Name of TransactionManager instance |
# |--------------|------------------------------------------|
# |     JOnAS    | javax.transaction.UserTransaction        |
# |     JBoss    | java:/TransactionManager                 |
# |   WebLogic   | javax.transaction.TransactionManager     |
# |   WebSphere  | ???                                      |
# |     Orion    | java:comp/UserTransaction                |
# -----------------------------------------------------------
#
# The default value is the one used in JOnAS, our objectweb partners.
#
#org.objectweb.speedo.jca.TMName javax.transaction.UserTransaction

# Indicates if transaction are optimisitic or pessimitic. In the optimisitic
# case several threads can use a same persistent object. In case of optimistic
# transaction, each persistent object has several state: one for each user
# (thread). The default case is pessimistic (false).
#
#javax.jdo.option.Optimistic true


###############################################################################
#                           Others JDO Options                                #
###############################################################################
# Indicates if queries and extends must ingore the instance modified in memory
# and not yet committed into the support. The default value is false (the
# modified instance are flushed into the support before queries).
#
javax.jdo.option.IgnoreCache false


# Indicates if several threads can manipulate a same PersistenceManager instance
# in same time (concurrency). The default value is false (no additionnal
# synchronization for concurrent access to a PersistentManager instance).
#
#javax.jdo.option.Multithreaded false

# when a transaction is commit this property specifies if the modified
# persistent object must be kept in the memory cache. The default value is true
# (persistent objects are kept).
#javax.jdo.option.RetainValues false


###############################################################################
#                           Unsupported JDO Options                           #
###############################################################################
#javax.jdo.option.RestoreValues false
#javax.jdo.option.NontransactionalRead
#javax.jdo.option.NontransactionalWrite

###############################################################################
#                                Speedo Tunning                               #
###############################################################################
# To active the debug mode
#org.objectweb.speedo.debug true

#Activation of the data prefetching on each query
#default value is 'on'
#org.objectweb.speedo.query.prefetch off

# This property permits to the user to listen the transaction life cycle in
# implementing the TransactionListener interface provided in Speedo. However
# Speedo provides a simple implementation calculating statistics. To active the
# use of a listener, you simply have to specify the implementation of the
# interface.
#org.objectweb.speedo.txListener org.objectweb.speedo.workingset.lib.WorkingSetStatistic

#===========================#
# Data structure Management #
#===========================#
# Specify the mapping structure (ex SQL tables) management. The possibles
# values are the following:
# DO_NOTHING : nothing is done. Then the mapping structures already exist at
#              the Speedo starting
# CREATE_IF_REQUIRED : The mapping structures are created if they are not
#                      already present (default).
# FORCE_CREATE: The mapping structures are removed (if they already exist), and
#               and created.
# DELETE_DATA: The data present in the mapping structure are removed. Of course
#              if the mapping structure do not exist, they are created.
#
#org.objectweb.speedo.mappingStructure CREATE_IF_REQUIRED

#=========================#
# Memory Cache Management #
#=========================#
# Memory cache size
#org.objectweb.speedo.cache.size noLimit

# When the cache is full or when the treshold is reached this property indicates
# how many entry must be tried to free. The possible values are absolute
# value (234) or a percent of the maximal cache size (12%). The default
# value is 7%.
#org.objectweb.speedo.cache.autoCleanSize 7%

# Is the number of entries since the cache must try to evict entries. The number
# of entries to evict is specified by the 'autoCleanSize' property. The possible
# values are absolute value (234) or a percent of the maximal cache size (75%).
# By default there is no threshold, then there is no auto cleaning process.
org.objectweb.speedo.cache.autoCleanThreshold 0

# Replacement politic of the cache: LRU, MRU or FIFO
# The default value is LRU
#org.objectweb.speedo.cache.policy LRU

#========================================#
# PersistenceManager Pools configuration #
#========================================#
# Size of the pool of PersistenceManager instances
#org.objectweb.speedo.persistencemanager.pool.min 0
#org.objectweb.speedo.persistencemanager.pool.max 20
#org.objectweb.speedo.persitencemanager.pool.ttl 300
#the max time to wait a free persistence manager in millisecond
org.objectweb.speedo.persitencemanager.pool.timeout 1000

#=================================#
# Compiled query Cache Management #
#=================================#
# Memory cache size in term of number of persistent objects
#org.objectweb.speedo.compiledquery.cache.size nolimit

# When the cache is full or when the treshold is reached this property indicates
# how many entry must be tried to free. The possible values are absolute
# value (234) or a percent of the maximal cache size (12%). The default
# value is 7%.
#org.objectweb.speedo.compiledquery.cache.autoCleanSize 7%

# Is the number of entries since the cache must try to evict entries. The number
# of entries to evict is specified by the 'autoCleanSize' property. The possible
# values are absolute value (234) or a percent of the maximal cache size (75%).
# By default there is no threshold, then there is no auto cleaning process.
#org.objectweb.speedo.compiledquery.cache.autoCleanThreshold 80%

# Replacement politic of the cache: LRU, MRU or FIFO
# The default value is LRU
#org.objectweb.speedo.compiledquery.cache.policy LRU
