#
#  Licensed to the Apache Software Foundation (ASF) under one
#  or more contributor license agreements.  See the NOTICE file
#  distributed with this work for additional information
#  regarding copyright ownership.  The ASF licenses this file
#  to you under the Apache License, Version 2.0 (the
#  "License"); you may not use this file except in compliance
#  with the License.  You may obtain a copy of the License at
#
#   http://www.apache.org/licenses/LICENSE-2.0
#
#  Unless required by applicable law or agreed to in writing,
#  software distributed under the License is distributed on an
#   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
#  KIND, either express or implied.  See the License for the
#  specific language governing permissions and limitations
#  under the License.
#

#synapse.threads.core = 20
#synapse.threads.max = 100
#synapse.threads.keepalive = 5
#synapse.threads.qlen = 10
#synapse.threads.group = synapse-thread-group
#synapse.threads.idprefix = SynapseWorker

#synapse.datasources=lookupds,reportds
#synapse.datasources.icFactory=com.sun.jndi.rmi.registry.RegistryContextFactory
#synapse.datasources.providerUrl=rmi://localhost:2199
#synapse.datasources.providerPort=2199
#
#synapse.datasources.lookupds.type=BasicDataSource
#synapse.datasources.lookupds.driverClassName=org.apache.derby.jdbc.ClientDriver
#synapse.datasources.lookupds.url=jdbc:derby://localhost:1527/lookupdb;create=false
#synapse.datasources.lookupds.username=synapse
#synapse.datasources.lookupds.password=synapse
#synapse.datasources.lookupds.dsName=lookupdb
#synapse.datasources.lookupds.maxActive=100
#synapse.datasources.lookupds.maxIdle=20
#synapse.datasources.lookupds.maxWait=10000
#
#synapse.datasources.reportds.type=PerUserPoolDataSource
#synapse.datasources.reportds.cpdsadapter.factory=org.apache.commons.dbcp.cpdsadapter.DriverAdapterCPDS
#synapse.datasources.reportds.cpdsadapter.className=org.apache.commons.dbcp.cpdsadapter.DriverAdapterCPDS
#synapse.datasources.reportds.cpdsadapter.name=cpds
#synapse.datasources.reportds.dsName=reportdb
#synapse.datasources.reportds.driverClassName=org.apache.derby.jdbc.ClientDriver
#synapse.datasources.reportds.url=jdbc:derby://localhost:1527/reportdb;create=false
#synapse.datasources.reportds.username=synapse
#synapse.datasources.reportds.password=synapse
#synapse.datasources.reportds.maxActive=100
#synapse.datasources.reportds.maxIdle=20
#synapse.datasources.reportds.maxWait=10000
