# ---------------------------------------------------------------------------
# JOnAS: Java(TM) Open Application Server
# Copyright (C) 1999-2010 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 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,security,resource,mail,cmi,ha,versioning,ejb2,ejb3,
#  jaxrpc,jaxws,web,ear,depmonitor,discovery,resourcemonitor,smartclient,audit,cdi
#
#  Notes: 
#   - registry 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    jtm,db,dbm,security,resource,ejb3,jaxws,web,ear,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 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 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 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 CDI service configuration
#
#  Set the name of the implementation class of the cdi service
jonas.service.cdi.class    org.ow2.jonas.cdi.weld.internal.DefaultWeldService

#
###################### 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


#
###################### JOnAS EJB 2 Container service configuration
#
#  Set the name of the implementation class of the ejb2 service
jonas.service.ejb2.class    org.ow2.jonas.ejb2.internal.JOnASEJBService

#  Set the XML deployment descriptors parsing mode (with or without validation)
jonas.service.ejb2.parsingwithvalidation    true

# If enabled, the GenIC tool will be called if :
#  - JOnAS version of the ejb-jar is not the same version than the running JOnAS instance
#  - Stubs/Skels stored in the ejb-jar are not the same than the JOnAS current protocols.
# By default, this is enabled
jonas.service.ejb2.auto-genic    true

# Arguments for the auto GenIC (-invokecmd, -verbose, etc.)
jonas.service.ejb2.auto-genic.args -invokecmd


#  Note: these two settings can be overriden by the EJB descriptor.
#
#  If EJB monitoring is enabled, statistics about method call times will be
#  collected. This is a very lightweight measurement and should not have much
#  impact on performance.
jonas.service.ejb2.monitoringEnabled true
#  If EJB monitoring is enabled, this value indicates after how many
#  milliseconds spent executing an EJB method a warning message should be
#  displayed. If 0, no warning will ever be displayed.
jonas.service.ejb2.warningThreshold 20000


#
###################### JOnAS EJB 3 container service configuration
#
#  Set the name of the implementation class of the EJB 3 service.
jonas.service.ejb3.class    org.ow2.jonas.ejb.easybeans.EasyBeansService

#  Set the JPA provider: hibernate,eclipselink,openjpa,eclipselink2,hibernate3.5,openjpa2
jonas.service.ejb3.jpa.provider    hibernate


#
###################### JOnAS Versioning service configuration
#
#  Set the name of the implementation class of the versioning service.
jonas.service.versioning.class          org.ow2.jonas.versioning.internal.VersioningServiceImpl

#  Content types to filter. Set this list to empty for the versioning
#  service not to filter any content in Web responses.
jonas.service.versioning.filteredContentTypes   text/html, \
                                                application/javascript, \
                                                text/javascript, \
                                                text/css, \
                                                text/xml


#
###################### 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.tomcat6.Tomcat6Service
#jonas.service.web.class    org.ow2.jonas.web.jetty6.Jetty6Service

#  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


#
###################### JOnAS JAX-RPC service configuration
#
#  Set the name of the implementation class of the jaxrpc service.
jonas.service.jaxrpc.class    org.ow2.jonas.ws.axis.AxisService

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

# Set the Generator to use with wsgen
jonas.service.jaxrpc.wsgen.generator.factory     org.ow2.jonas.generators.wsgen.generator.ews.EWSGeneratorFactory

# Set the prefix that will be used to compute URL endpoints for web services
# Example of prefix: http://www.mydomain.com:8888
jonas.service.jaxrpc.url-prefix

# Set automatic WsGen mode on/off
# If set to 'true', WsGen will automatically be applied to all deployed archives (EjbJars, Webapps, Applications)
jonas.service.jaxrpc.auto-wsgen.engaged true


#
###################### JOnAS WSDL Publisher service configuration
#
#  Set the name of the implementation class of the WSDL Publisher service.
jonas.service.wsdl-publisher.class    org.ow2.jonas.ws.publish.internal.manager.DefaultWSDLPublisherManager

#  Set the WSDL Publishers list for WSDL publication
#  A minimum of 1 WSDLPublisher is required !
#  This property is set with a coma-separated list of WSDLPublisher properties
#  file names (without the '.properties' suffix).
#  Ex: file1,uddi (while the properties file names are
#                  file1.properties and uddi.properties)
jonas.service.wsdl-publisher.publishers    file1


#
###################### JOnAS JAX-WS 2.x service configuration
#
#  Set the name of the implementation class of the jaxws service
#  Note: The jaxws service implementation based on Apache CXF is currently
#        the only implementation that pass Java EE TCK.
jonas.service.jaxws.class    org.ow2.jonas.ws.cxf.CXFService

#  Note: The jaxws service implementation based on Apache Axis2 is still
#        at experimental stage (missing features, not currently TCK tested)
#        Use it at your own risks
#jonas.service.jaxws.class    org.ow2.jonas.ws.axis2.Axis2Service


#
###################### JOnAS EAR service configuration
#
#  Set the name of the implementation class of the ear service.
jonas.service.ear.class    org.ow2.jonas.ear.internal.JOnASEARService

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

# Generate stubs for all EJBs that may be accessed from the application
# In almost all cases, this is not required to be enabled as stubs can be found.
jonas.service.ear.genstub    false

# Create a child classloader when deploying EJB3 of the EAR
jonas.service.ear.useEJB3ChildClassloader    false


#
###################### JOnAS DBM Database service configuration
#
#  Set the name of the implementation class of the dbm service
jonas.service.dbm.class    org.ow2.jonas.dbm.internal.JOnASDataBaseManagerService

#  Set the jonas DataSources. This enables the JOnAS server to load
#  the data dources, to load related jdbc drivers, and to register the data
#  sources into JNDI.
#  This property is set with a coma-separated list of Datasource properties
#  file names (without the '.properties' suffix).
#  Ex: Oracle1,InstantDB1 (while the Datasources properties file names are
#                          Oracle1.properties and InstantDB1.properties)
jonas.service.dbm.datasources    HSQL1


#
###################### JOnAS Mail service configuration
#
#  Set the name of the implementation class of the mail service
jonas.service.mail.class  org.ow2.jonas.mail.internal.JOnASMailService

#  Set the jonas mail factories.
#  This property is set with a coma-separated list of MailFactory properties
#  file names (without the '.properties' suffix).
#  Ex: MailSession1,MailMimePartDS1 (while the properties file names are
#                  MailSession1.properties and MailMimePartDS1.properties)
jonas.service.mail.factories


#
###################### JOnAS JTM Transaction service configuration
#

#  Set the name of the implementation class of the jtm service
jonas.service.jtm.class    org.ow2.jonas.tm.jotm.JOTMTransactionService

#  Set the Transaction Manager launching mode.
#  If set to 'true', TM is remote: TM must be already launched in an other JVM.
#  If set to 'false', TM is local: TM is going to run into the same JVM
#  than the jonas Server.
jonas.service.jtm.remote    false

#  Set the default transaction timeout, in seconds.
jonas.service.jtm.timeout    60


#
###################### 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.security.context.check    false

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

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

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


#
###################### JOnAS J2CA resource service configuration
#
#  Set the name of the implementation class of the J2CA resource service
jonas.service.resource.class  org.ow2.jonas.resource.internal.JOnASResourceService

#
###################### JOnAS DB service configuration
#
#  Set the name of the implementation class of the db service (hsql for example)
jonas.service.db.class    org.ow2.jonas.db.hsqldb.HsqlDBServiceImpl
jonas.service.db.port    9001
jonas.service.db.dbname    db_jonas
jonas.service.db.users    jonas:jonas
# Multiple users
#jonas.service.db.users    jonas:jonas,login:password

#
###################### JOnAS Discovery service
#
#  Set the name of the implementation class and initialization parameters
jonas.service.discovery.class=org.ow2.jonas.discovery.jgroups.JgroupsDiscoveryServiceImpl
# Uncomment this to set Multicast implementation
#jonas.service.discovery.class=org.ow2.jonas.discovery.internal.MulticastDiscoveryServiceImpl


#
#####################  Properties for multicast impl.
#
#  For a master server, configure the client source port with this property
jonas.service.discovery.source.port=9888
jonas.service.discovery.ttl=1
jonas.service.discovery.multicast.address=224.224.224.224
jonas.service.discovery.multicast.port=9080

#  A multicast greeting message is sent out when discovery service is started.
#  The starting server listens at the port jonas.service.discovery.greeting.port
#  (default 9899) for a response for jonas.service.discovery.greeting.timeout miliseconds
#  (default 1000 ms). If a pre-existing server has the same server name as this one,
#  this server's discovery service will be terminated.
#  Uncomment these two lines for multicast discovery
jonas.service.discovery.greeting.port=9899
jonas.service.discovery.greeting.timeout=1000

#####################  properties for JGroups impl.
jonas.service.discovery.jgroups.conf= jgroups-discovery.xml
jonas.service.discovery.group.name = JGroupsDiscovery
#Reconnection timeout for JGroups Channel, if it's closed on request.
jonas.service.discovery.reconnection.timeout = 5000


#
###################### JOnAS CMI service configuration
#
# Set the name of the implementation class of the CMI service.
jonas.service.cmi.class   org.ow2.jonas.cmi.internal.CmiServiceImpl


#
###################### JOnAS HA service configuration
#
# Set the name of the implementation class of the HA service.
jonas.service.ha.class    org.ow2.jonas.ha.internal.HaServiceImpl

# Set the JGroups configuration file name
jonas.service.ha.jgroups.conf jgroups-ha.xml

# Set the JGroups group name
jonas.service.ha.jgroups.groupname jonas-rep

# Set the SFSB backup info timeout. The info stored in the backup node is removed when the timer expires.
jonas.service.ha.gc.period 600

# Set the datasource for the tx table
jonas.service.ha.datasource jdbc_1

# Reconnection timeout for JGroups Channel, if it's closed on request.
jonas.service.ha.reconnection.timeout 5000


#
###################### 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" property
# - 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


#
###################### JOnAS Resource Monitor
#
# Set the name of the implementation class of the resource monitor service
#
jonas.service.resourcemonitor.class     org.ow2.jonas.resourcemonitor.internal.JOnASResourceMonitorService
# duration in milliseconds
jonas.service.resourcemonitor.monitorInterval     30000


#
###################### 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 Audit service configuration
#
#  Set the name of the implementation class of the audit service.
jonas.service.audit.class    org.ow2.jonas.audit.internal.JOnASAuditServiceImpl


