<?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.
-->

<ofbiz-containers xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/ofbiz-containers.xsd">
    <!-- load the ofbiz component container (always first) -->
    <container name="component-container" class="org.ofbiz.base.container.ComponentContainer"/>

    <!-- load the cached classloader container (always second) -->
    <container name="classloader-container" class="org.ofbiz.base.container.ClassLoaderContainer"/>

    <!-- load the naming (JNDI) server -->
    <container name="naming-container" class="org.ofbiz.base.container.NamingServiceContainer">
        <property name="port" value="1099"/>
    </container>

    <!-- RMI Service Dispatcher -->
    <container name="rmi-dispatcher" class="org.ofbiz.service.rmi.RmiServiceContainer">
        <property name="bound-name" value="RMIDispatcher"/>
        <property name="bound-host" value="127.0.0.1"/>
        <property name="bound-port" value="1099"/>
        <property name="delegator-name" value="default"/>
        <property name="client-factory" value="org.ofbiz.service.rmi.socket.ssl.SSLClientSocketFactory"/>
        <property name="server-factory" value="org.ofbiz.service.rmi.socket.ssl.SSLServerSocketFactory"/>
        <property name="ssl-keystore" value="framework/base/config/ofbizrmi.jks"/>
        <property name="ssl-keystore-type" value="JKS"/>
        <property name="ssl-keystore-pass" value="changeit"/>
        <property name="ssl-keystore-alias" value="rmissl"/>
        <property name="ssl-client-auth" value="true"/>
    </container>

    <!-- JavaMail Listener Container - Triggers MCA Rules -->
    <!-- if delete-mail is set to true, will delete messages after fetching them. otherwise, will try to mark them as seen
        mail.store.protocol supports both imap and pop3, but pop3 will not be able to mark messages as seen, so you would need to delete them
        Sounds like mail.store.protocol value should be "imaps" for GMail inbound emails to work.
        Not tested found here https://sourceforge.net/forum/message.php?msg_id=5879468 -->
    <!-- To use the mail listerner just uncomment and go...
        <container name="javamail-container" class="org.ofbiz.service.mail.JavaMailContainer">
        <property name="delegator-name" value="default"/>
        <property name="dispatcher-name" value="JavaMailDispatcher"/>
        <property name="run-as-user" value="system"/>
        <property name="poll-delay" value="300000"/>
        <property name="delete-mail" value="false"/>
        <property name="maxSize" value="100000"/>
        <property name="default-listener" value="store-listener">
        <property name="mail.store.protocol" value="IMAP"/>
        <property name="mail.host" value="[host]"/>
        <property name="mail.user" value="[user]"/>
        <property name="mail.pass" value="[pass]"/>
        <property name="mail.debug" value="false"/>
        </property>
        </container>
    -->

    <!-- load Shark Workflow Engine -->
    <!-- NOTE: before uncommenting this please see the instructions in the ofbiz/OPTIONAL_LIBRARIES file.
        <container name="shark-container" class="org.ofbiz.shark.container.SharkContainer">
        <property name="engine-name" value="Shark"/>
        <property name="delegator-name" value="default"/>
        <property name="dispatcher-name" value="WFDispatcher"/>
        <property name="admin-user" value="system"/>
        <property name="admin-pass" value="ofbiz"/>
        <property name="iiop-host" value="127.0.0.1"/>
        <property name="iiop-port" value="2000"/>
        </container>
    -->

</ofbiz-containers>
