<?xml version="1.0" encoding="UTF-8"?>
<!--

    Copyright (c) 2004, 2018 Oracle and/or its affiliates. All rights reserved.

    This program and the accompanying materials are made available under the
    terms of the Eclipse Public License v. 2.0, which is available at
    http://www.eclipse.org/legal/epl-2.0.

    This Source Code may also be made available under the following Secondary
    Licenses when the conditions for such availability set forth in the
    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
    version 2 with the GNU Classpath Exception, which is available at
    https://www.gnu.org/software/classpath/license.html.

    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0

-->

<!DOCTYPE sun-ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Application Server 8.1 EJB 2.1//EN" "http://www.sun.com/software/appserver/dtds/sun-ejb-jar_2_1-1.dtd">

<sun-ejb-jar>
  <enterprise-beans>
    <name>bmp-robeanEjb.jar</name>
    <ejb>
      <ejb-name>AddressEJB</ejb-name>
      <jndi-name>address</jndi-name>
      <resource-ref>
        <res-ref-name>jdbc/bmp-robean</res-ref-name>
        <jndi-name>jdbc/bmp-robean</jndi-name>
      </resource-ref>
      <is-read-only-bean>true</is-read-only-bean>
      <refresh-period-in-seconds>0</refresh-period-in-seconds>
      <commit-option>B</commit-option>
      <bean-pool>
        <steady-pool-size>10</steady-pool-size>
        <resize-quantity>5</resize-quantity>
        <max-pool-size>100</max-pool-size>
        <pool-idle-timeout-in-seconds>3600</pool-idle-timeout-in-seconds>
      </bean-pool>
      <bean-cache>
        <max-cache-size>100</max-cache-size>
        <resize-quantity>60</resize-quantity>
        <is-cache-overflow-allowed>true</is-cache-overflow-allowed>
        <cache-idle-timeout-in-seconds>60</cache-idle-timeout-in-seconds>
        <removal-timeout-in-seconds>3600</removal-timeout-in-seconds>
        <victim-selection-policy>LRU</victim-selection-policy>
      </bean-cache>
    </ejb>
    <ejb>
      <ejb-name>CustomerEJB</ejb-name>
      <jndi-name>customer</jndi-name>
      <resource-ref>
        <res-ref-name>jdbc/bmp-robean</res-ref-name>
        <jndi-name>jdbc/bmp-robean</jndi-name>
      </resource-ref>
      <is-read-only-bean>false</is-read-only-bean>
      <commit-option>B</commit-option>
      <bean-pool>
        <steady-pool-size>10</steady-pool-size>
        <resize-quantity>5</resize-quantity>
        <max-pool-size>100</max-pool-size>
        <pool-idle-timeout-in-seconds>3600</pool-idle-timeout-in-seconds>
      </bean-pool>
      <bean-cache>
        <max-cache-size>100</max-cache-size>
        <resize-quantity>60</resize-quantity>
        <is-cache-overflow-allowed>true</is-cache-overflow-allowed>
        <cache-idle-timeout-in-seconds>60</cache-idle-timeout-in-seconds>
        <removal-timeout-in-seconds>3600</removal-timeout-in-seconds>
        <victim-selection-policy>LRU</victim-selection-policy>
      </bean-cache>
    </ejb>
    <ejb>
      <ejb-name>CustomerTransactionalEJB</ejb-name>
      <jndi-name>customerTransactional</jndi-name>
      <resource-ref>
        <res-ref-name>jdbc/bmp-robean</res-ref-name>
        <jndi-name>jdbc/bmp-robean</jndi-name>
      </resource-ref>
      <is-read-only-bean>true</is-read-only-bean>
      <refresh-period-in-seconds>600</refresh-period-in-seconds>
      <commit-option>B</commit-option>
      <bean-pool>
        <steady-pool-size>10</steady-pool-size>
        <resize-quantity>5</resize-quantity>
        <max-pool-size>100</max-pool-size>
        <pool-idle-timeout-in-seconds>3600</pool-idle-timeout-in-seconds>
      </bean-pool>
      <bean-cache>
        <max-cache-size>100</max-cache-size>
        <resize-quantity>60</resize-quantity>
        <is-cache-overflow-allowed>true</is-cache-overflow-allowed>
        <cache-idle-timeout-in-seconds>60</cache-idle-timeout-in-seconds>
        <removal-timeout-in-seconds>3600</removal-timeout-in-seconds>
        <victim-selection-policy>LRU</victim-selection-policy>
      </bean-cache>
    </ejb>
    <ejb>
      <ejb-name>CustomerRefreshEJB</ejb-name>
      <jndi-name>customerRefresh</jndi-name>
      <resource-ref>
        <res-ref-name>jdbc/bmp-robean</res-ref-name>
        <jndi-name>jdbc/bmp-robean</jndi-name>
      </resource-ref>
      <is-read-only-bean>true</is-read-only-bean>
      <refresh-period-in-seconds>60</refresh-period-in-seconds>
      <commit-option>B</commit-option>
      <bean-pool>
        <steady-pool-size>10</steady-pool-size>
        <resize-quantity>5</resize-quantity>
        <max-pool-size>100</max-pool-size>
        <pool-idle-timeout-in-seconds>3600</pool-idle-timeout-in-seconds>
      </bean-pool>
     <bean-cache>
        <max-cache-size>100</max-cache-size>
        <resize-quantity>60</resize-quantity>
        <is-cache-overflow-allowed>true</is-cache-overflow-allowed>
        <cache-idle-timeout-in-seconds>60</cache-idle-timeout-in-seconds>
        <removal-timeout-in-seconds>3600</removal-timeout-in-seconds>
        <victim-selection-policy>LRU</victim-selection-policy>
      </bean-cache>
    </ejb>
    <ejb>
      <ejb-name>CustomerProgRefreshEJB</ejb-name>
      <jndi-name>customerProgRefresh</jndi-name>
      <resource-ref>
        <res-ref-name>jdbc/bmp-robean</res-ref-name>
        <jndi-name>jdbc/bmp-robean</jndi-name>
      </resource-ref>
      <is-read-only-bean>true</is-read-only-bean>
      <refresh-period-in-seconds>600</refresh-period-in-seconds>
      <commit-option>B</commit-option>
      <bean-pool>
        <steady-pool-size>10</steady-pool-size>
        <resize-quantity>5</resize-quantity>
        <max-pool-size>100</max-pool-size>
        <pool-idle-timeout-in-seconds>3600</pool-idle-timeout-in-seconds>
      </bean-pool>
      <bean-cache>
        <max-cache-size>100</max-cache-size>
        <resize-quantity>60</resize-quantity>
        <is-cache-overflow-allowed>true</is-cache-overflow-allowed>
        <cache-idle-timeout-in-seconds>60</cache-idle-timeout-in-seconds>
        <removal-timeout-in-seconds>3600</removal-timeout-in-seconds>
        <victim-selection-policy>LRU</victim-selection-policy>
      </bean-cache>
    </ejb>
  </enterprise-beans>
</sun-ejb-jar>

