<?xml version="1.0" encoding="UTF-8"?>
<!--
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.
-->

<service-config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/service-config.xsd">

    <service-engine name="default">
        <!-- Name of the service to use for authorization -->
        <authorization service-name="userLogin"/>

        <!-- Job poller configuration. Many of these attributes are set to the job poller defaults, but they are included here for convenience. -->
        <thread-pool send-to-pool="pool"
                     purge-job-days="4"
                     failed-retry-min="3"
                     ttl="120000"
                     jobs="100"
                     min-threads="2"
                     max-threads="5"
                     poll-enabled="true"
                     poll-db-millis="30000">
            <run-from-pool name="pool"/>
        </thread-pool>

        <!-- Service Engine Configuration -->
        <engine name="entity-auto" class="org.ofbiz.service.engine.EntityAutoEngine"/>
        <engine name="group" class="org.ofbiz.service.group.ServiceGroupEngine"/>
        <engine name="interface" class="org.ofbiz.service.engine.InterfaceEngine"/>
        <engine name="java" class="org.ofbiz.service.engine.StandardJavaEngine"/>
        <engine name="simple" class="org.ofbiz.minilang.SimpleServiceEngine"/>
        <engine name="script" class="org.ofbiz.service.engine.ScriptEngine"/>
        <!-- Engines that can be replaced by the generic script engine -->
        <engine name="bsh" class="org.ofbiz.service.engine.BeanShellEngine"/>
        <engine name="groovy" class="org.ofbiz.service.engine.GroovyEngine">
            <parameter name="scriptBaseClass" value="org.ofbiz.service.engine.GroovyBaseScript"/>
        </engine>
        <engine name="jacl" class="org.ofbiz.service.engine.BSFEngine"/>
        <engine name="javascript" class="org.ofbiz.service.engine.ScriptEngine"/>
        <engine name="jpython" class="org.ofbiz.service.engine.BSFEngine"/>
        <!--  -->
        <engine name="route" class="org.ofbiz.service.engine.RouteEngine"/>
        <engine name="http" class="org.ofbiz.service.engine.HttpEngine"/>
        <engine name="jms" class="org.ofbiz.service.jms.JmsServiceEngine"/>
        <engine name="rmi" class="org.ofbiz.service.rmi.RmiServiceEngine"/>
        <engine name="soap" class="org.ofbiz.service.engine.SOAPClientEngine"/>
        <!-- The engine xml-rpc-local is only used by a test service and for
             this reason it is configured to run on port 8081 (see test-containers.xml);
             in order to use this in OFBiz change the port accordingly (for demo the default
             value is 8080)
        -->
        <engine name="xml-rpc-local" class="org.ofbiz.service.engine.XMLRPCClientEngine">
            <parameter name="url" value="http://localhost:8081/webtools/control/xmlrpc"/>
            <parameter name="login" value="admin"/>
            <parameter name="password" value="ofbiz"/>
        </engine>

        <service-location name="main-rmi" location="rmi://localhost:1099/RMIDispatcher"/>
        <service-location name="main-http" location="http://localhost:8080/webtools/control/httpService"/>

        <service-location name="entity-sync-rmi" location="rmi://localhost:1099/RMIDispatcher"/>
        <service-location name="entity-sync-http" location="http://localhost:8080/webtools/control/httpService"/>

        <service-location name="rita-rmi" location="rmi://localhost:1099/RMIDispatcher"/>
        <service-location name="eedcc-test" location="http://localhost:8080/webtools/control/httpService"/>

        <!-- default notification group for all services loaded with 'main' loader
             - uncomment this to enable error notification for all services
             - (default.fail.main, default.success.main can also be defined

        <notification-group name="default.error.main">
            <notification subject="Service Error ${model.serviceName}"
                          screen="component://content/widget/EmailScreens.xml#ServiceNotification"/>
            <notify type="from">ofbiz@test.com</notify>
            <notify type="to">error@test.com</notify>
        </notification-group>
        -->

        <!-- Start-Up Services -->
        <!--
           - runtime-data-id refers to the RuntimeData entity for in-parameters
           - runtime-delay is the milliseconds after startup this service should run
           - run-in-pool is the name of the pool to run the job in; defaults to the send-to-poll (above)

        <startup-service name="testScv" runtime-data-id="9900" runtime-delay="0" run-in-pool="pool"/>
        -->

        <!-- JMS Service Queue/Topic Configuration -->
        <!--
        <jms-service name="serviceMessenger" send-mode="all">
            <server jndi-server-name="default"
                    jndi-name="jms/TopicConnectionFactory"
                    topic-queue="jms/OFBTopic"
                    type="topic"
                    username="admin"
                    password="admin"
                    listen="true"/>
        </jms-service>
        -->
    </service-engine>
</service-config>
