# ---------------------------------------------------------------------------
# JOnAS: Java(TM) Open Application Server
# Copyright (C) 1999-2012 Bull S.A.S.
# Contact: jonas-team@ow2.org
#
# 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.1 of the License, or 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
#
#
# ---------------------------------------------------------------------------
# $Id: jonas-base.properties.template 22279 2012-03-22 15:51:56Z boukadam $
# ---------------------------------------------------------------------------


###################### JOnAS Server configuration
#  The current file is in the <jonas-install>/conf directory. It can be copied and
#  customized in JONAS_BASE/conf directory
######################

#  Name of the JOnAS server
#  default value is "jonas"
jonas.name    jonas

#  Name of the JOnAS domain
#  default value is "jonas"
domain.name    jonas

#  Enable the Security context propagation (for jrmp)
jonas.security.propagation    true

#  Enable the Security manager
#  default value is true (if not set)
#  Setting this to false implies a collocated registry and setting in carol.properties:
#  carol.jvm.rmi.local.registry=true
jonas.security.manager    false

#  Enable csiv2
jonas.csiv2.propagation    true

#  Enable the Transaction context propagation
jonas.transaction.propagation    true

#  Set the name of log configuration file
jonas.log.configfile    trace

#  Set the work directory used by JOnAS (relative or absolute)
#  A relative directory name will be prefixed by JONAS_BASE/
#  An absolute path will be used directly
jonas.workdirectory    work

#  Set to true if the server is a master
jonas.master    false

#  Set to true in order to execute the JOnAS Server in development mode.
#
#  WAR archive deployment case in development mode (for single or EAR packaged WARs):
#  Each modified WAR archive will be unpacked in the working directory of the JOnAS Server
#  in a different folder to avoid file locks. This is especially useful in a Windows environment.
jonas.development    true

#  Set the list of the services launched in the JOnAS Server.
#  Possible services are: jtm,db,dbm,validation,resource,mail,cmi,ha,versioning,ejb2,ejb3,
#  jaxrpc,jaxws,web,ear,depmonitor,discovery,resourcemonitor,smartclient,audit,cdi,jaxrs,
#  jndi,ssh,multitenant
#
#  Notes:
#   - registry, security and jmx services are always started
#   - some services may start automatically if required (depending on the server configuration and deployed applications)
#  See 'Configuring JOnAS services' in JOnAS documentation for more information
#
jonas.services    web,jaxrs,depmonitor


#
###################### JOnAS Admin Client configuration
#
#  If JMX security is enabled, the JOnAS Admin Client requires its parameters
#  To be passed using -username and -password arguments. These two parameters
#  pass these arguments to the JOnAS Admin Client internally.
jonas.adminClient.username    jonas
jonas.adminClient.password    jonas

#
###################### JOnAS Deployment Monitor
#
# Set the name of the implementation class of the depmonitor service
#
jonas.service.depmonitor.class          org.ow2.jonas.deployablemonitor.DeployableMonitorService

# Set the execution mode (three possible values):
# - inherit: inherit of the value of the "jonas.development" key
# - true   : development mode
# - false  : production mode
jonas.service.depmonitor.development    inherit

jonas.service.depmonitor.directories
# List (comma separated) of exclusion patterns (based on names, not directories)
jonas.service.depmonitor.exclusions     README

# Monitor interval in milliseconds
jonas.service.depmonitor.monitorInterval    5000

# Ordering used by the depmonitor service when deploying new deployables.
# Note: Tweaking this ordering may lead to deployable missing some stuff
#       (for example if repository deployables are deployed at the end,
#         this will lead to errors for deployable referencing these repositories
jonas.service.depmonitor.ordering    Repository, \
                                     OSGi, \
                                     RAR, \
                                     Datasource, \
                                     ConfigAdmin, \
                                     DeploymentPlan, \
                                     EJB2, \
                                     EJB3, \
                                     EAR, \
                                     WAR


#
###################### JOnAS JAX-RS service configuration
#
#  Set the name of the implementation class of the jaxrs service
jonas.service.jaxrs.class    org.ow2.jonas.jaxrs.jersey.internal.JerseyService

#
###################### JOnAS JMX service configuration
#
#  Set the name of the implementation class of the JMX service
jonas.service.jmx.class    org.ow2.jonas.jmx.internal.JOnASJMXService

#  Set to true if the JMXRemote interface should require the client to provide
#  authentication information. That information is provided when establishing
#  the JMX connection, using the JMXConnector.CREDENTIALS key.
#
#  Note that if you enable JMX security for a server, all clients (including
#  any administration tool such as the domain master) connecting to this
#  instance via JMX must provide a valid user name and password.
jonas.service.jmx.secured    false

#  If jonas.service.jmx.secured is set to true, defines the authentication
#  method and the method's parameter. For example, to use file-based
#  authentication using the conf/jmx.passwords file, define:
#jonas.service.jmx.authentication.method    jmx.remote.x.password.file
#jonas.service.jmx.authentication.parameter    conf/jmx.passwords
#  You are free to use the authentication provider you wish.
jonas.service.jmx.authentication.method    jmx.remote.x.password.file
jonas.service.jmx.authentication.parameter    conf/jmx.passwords
#  You may for example choose to use JAAS LoginModule for authentication.
#  In this case define the used configuration in the JAAS configuration file
#  using the jonas.service.jmx.authentication.parameter:
#jonas.service.jmx.authentication.method    jmx.remote.x.login.config
#jonas.service.jmx.authentication.parameter    jaas-jmx

#  If jonas.service.jmx.secured is set to true, defines the authorization
#  method and the method's parameter. For example, to use file-based
#  authorization using the conf/jmx.access file, define:
#jonas.service.jmx.authorization.method    jmx.remote.x.access.file
#jonas.service.jmx.authorization.parameter    conf/jmx.access
#  You are free to use the authorization provider you wish.
jonas.service.jmx.authorization.method    jmx.remote.x.access.file
jonas.service.jmx.authorization.parameter    conf/jmx.access
#  You may for example choose to use role-based authorization manager
#  configured using conf/jmx.rolebased.access file. In this case, define:
#jonas.service.jmx.authorization.method    jmx.remote.x.access.rolebased.file
#jonas.service.jmx.authorization.parameter    conf/jmx.rolebased.access

#
###################### JOnAS Registry service configuration
#
#  Set the name of the implementation class of the Registry service
jonas.service.registry.class org.ow2.jonas.registry.carol.CarolRegistryService

#  Set the Registry launching mode
#  If set to 'automatic', the registry is launched in the same JVM as Application Server,
#                         if it's not already started.
#  If set to 'collocated', the registry is launched in the same JVM as Application Server
#  If set to 'remote', the registry has to be launched before in a separate JVM
jonas.service.registry.mode    collocated

#
###################### JOnAS SECURITY service configuration
#
#  Set the name of the implementation class of the security service
jonas.service.security.class  org.ow2.jonas.security.internal.JonasSecurityServiceImpl

# Realm used for CsiV2 authentication
jonas.service.security.csiv2.realm    memrlm_1

# Realm used for Web Service authentication
jonas.service.security.ws.realm    memrlm_1

# Registration of realm resources into JNDI
# Disable by default so configuration is not available with clients
jonas.service.security.realm.jndi.registration    false

# Enable security context check on Remote Login Module
jonas.service.security.context.check    false

# Path to the keystore file
jonas.service.security.context.check.keystoreFile /tmp/keystore

# Pass used for the keystore file
jonas.service.security.context.check.keystorePass keystorepass

# Alias (stored in the keystore)
jonas.service.security.context.check.alias FB

#
###################### JOnAS/EasyBeans Smartclient service configuration
#
#  Set the name of the implementation class of the smartclient service.
jonas.service.smartclient.class    org.ow2.jonas.smartclient.internal.SmartclientServiceImpl
# port number the Smartclient service listens on
jonas.service.smartclient.port    2503

#
###################### JOnAS WorkCleaner service configuration
#
#  Set the name of the implementation class of the wc service
jonas.service.wc.class    org.ow2.jonas.workcleaner.internal.JOnASWorkCleanerService

#  Set the clean period in seconds
jonas.service.wc.period   300

#
###################### JOnAS Web container service configuration
#
#  Set the name of the implementation class of the web container service.
jonas.service.web.class    org.ow2.jonas.web.tomcat7.Tomcat7Service

#  Set the XML deployment descriptors parsing mode for the WEB container
#  service (with or without validation).
jonas.service.web.parsingwithvalidation    true

#  If true, the onDemand feature is enabled. A proxy is listening on the http port and will make actions like starting or deploying applications.
#  The web container instance is started on another port number (that can be specified) but all access are proxified.
#  It means that the web container will be started only when a connection is done on the http port.
#  The .war file is also loaded upon request.
#  This feature cannot be enabled in production mode.
jonas.service.web.ondemand.enabled    true

#  The redirect port number is used to specify the port number of the http web container.
#  The proxy will listen on the http web container port and redirect all requests on this redirect port
#  0 means that a random port is used.
jonas.service.web.ondemand.redirectPort    0


#  If true, the web container will search in every war files the EJB components and deploy
#  them if some EJB are found. This is a Java EE 6 feature.
jonas.service.web.ejbinwar    true

#
###################### JOnAS WorkManager service configuration
#
#  Set the name of the implementation class of the wm service
jonas.service.wm.class    org.ow2.jonas.workmanager.internal.JOnASWorkManagerService

#  Set the size of the worker thread pool
jonas.service.wm.minworkthreads   3

#  Set the maximun size of the worker thread pool
jonas.service.wm.maxworkthreads   80

#  Set the max # of seconds that a thread will wait for work
#  This is used to shrink the worker thread pool back to minimum
jonas.service.wm.threadwaittimeout 60

