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

<openejb>

  <Container id="CmpContainer" ctype="CMP_ENTITY">
    CmpEngineFactory org.apache.openejb.core.cmp.jpa.JpaCmpEngineFactory
    Engine hsql
    ConnectorName CtsDataSource
  </Container>

  <Container id="StatefulContainer" ctype="STATEFUL">
    Passivator org.apache.openejb.core.stateful.SimplePassivater
    TimeOut 20
    BulkPassivate 50
  </Container>

  <Container id="StatelessContainer" ctype="STATELESS">
    TimeOut 0
    PoolSize 10
    StrictPooling true
  </Container>

  <Container id="JmsMdbContainer" ctype="MESSAGE">
    ResourceAdapter JmsResourceAdapter
    ActivationSpecClass org.apache.activemq.ra.ActiveMQActivationSpec
    InstanceLimit 10
  </Container>

  <Resource id="CtsDataSource" type="DataSource">
    JdbcDriver org.apache.derby.jdbc.EmbeddedDriver
    JdbcUrl jdbc:derby:data/derbydb;create=true
    UserName cts
    Password cts
  </Resource>

  <Resource id="CtsDataSourceUnmanaged" type="DataSource">
    JdbcDriver org.apache.derby.jdbc.EmbeddedDriver
    JdbcUrl jdbc:derby:data/derbydb;create=true
    UserName cts
    Password cts
  </Resource>


  <Resource id="JmsResourceAdapter" type="ActiveMQResourceAdapter">
    # Broker configuration
    BrokerXmlConfig broker:(tcp://localhost:61616)?useJmx=false

    # Broker address
    ServerUrl vm://localhost?async=true

    DataSource CtsDataSourceUnmanaged
  </Resource>


  <Resource id="JmsConnectionFactory" type="javax.jms.ConnectionFactory">
    ResourceAdapter JmsResourceAdapter
  </Resource>

  <Resource id="MailSession" type="javax.mail.Session">
    mail.smtp.class=org.apache.geronimo.mail.NullTransport
  </Resource>

  <Deployments dir="apps/"/>

</openejb>
