<?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.apache.ofbiz.service.engine.EntityAutoEngine"/>
        <engine name="group" class="org.apache.ofbiz.service.group.ServiceGroupEngine"/>
        <engine name="interface" class="org.apache.ofbiz.service.engine.InterfaceEngine"/>
        <engine name="java" class="org.apache.ofbiz.service.engine.StandardJavaEngine"/>
        <engine name="simple" class="org.apache.ofbiz.minilang.SimpleServiceEngine"/>
        <engine name="script" class="org.apache.ofbiz.service.engine.ScriptEngine"/>
        <!-- Engines that can be replaced by the generic script engine -->
        <engine name="groovy" class="org.apache.ofbiz.service.engine.GroovyEngine"/>
        <engine name="javascript" class="org.apache.ofbiz.service.engine.ScriptEngine"/>
        <!--  -->
        <engine name="route" class="org.apache.ofbiz.service.engine.RouteEngine"/>
        <engine name="http" class="org.apache.ofbiz.service.engine.HttpEngine"/>
        <engine name="jms" class="org.apache.ofbiz.service.jms.JmsServiceEngine"/>
        <engine name="rmi" class="org.apache.ofbiz.service.rmi.RmiServiceEngine"/>
        <engine name="soap" class="org.apache.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 8080.
             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.apache.ofbiz.service.engine.XMLRPCClientEngine">
            <parameter name="url" value="http://localhost:8080/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="main-soap" location="http://localhost:8080/webtools/control/SOAPService"/>
        
        <service-location name="entity-sync-rmi" location="rmi://localhost:1099/RMIDispatcher"/>
        <service-location name="entity-sync-http" location="https://localhost:8443/webtools/control/httpService"/>

        <service-location name="rita-rmi" location="rmi://localhost:1099/RMIDispatcher"/>
        <service-location name="eedcc-test" location="https://localhost:8443/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>
