<!DOCTYPE html>
<html lang="en">

<head>
	<meta charset="UTF-8">
	<meta http-equiv="X-UA-Compatible" content="IE=edge">
	<meta name="viewport" content="width=device-width, initial-scale=1">
	<title>Apache TomEE</title>
	<meta name="description"
		  content="Apache TomEE is a lightweight, yet powerful, JavaEE Application server with feature rich tooling." />
	<meta name="keywords" content="tomee,asf,apache,javaee,jee,shade,embedded,test,junit,applicationcomposer,maven,arquillian" />
	<meta name="author" content="Luka Cvetinovic for Codrops" />
	<link rel="icon" href="../../favicon.ico">
	<link rel="icon"  type="image/png" href="../../favicon.png">
	<meta name="msapplication-TileColor" content="#80287a">
	<meta name="theme-color" content="#80287a">
	<link rel="stylesheet" type="text/css" href="../../css/normalize.css">
	<link rel="stylesheet" type="text/css" href="../../css/bootstrap.css">
	<link rel="stylesheet" type="text/css" href="../../css/owl.css">
	<link rel="stylesheet" type="text/css" href="../../css/animate.css">
	<link rel="stylesheet" type="text/css" href="../../fonts/font-awesome-4.1.0/css/font-awesome.min.css">
	<link rel="stylesheet" type="text/css" href="../../fonts/eleganticons/et-icons.css">
	<link rel="stylesheet" type="text/css" href="../../css/jqtree.css">
	<link rel="stylesheet" type="text/css" href="../../css/idea.css">
	<link rel="stylesheet" type="text/css" href="../../css/cardio.css">

	<script type="text/javascript">

      var _gaq = _gaq || [];
      _gaq.push(['_setAccount', 'UA-2717626-1']);
      _gaq.push(['_setDomainName', 'apache.org']);
      _gaq.push(['_trackPageview']);

      (function() {
        var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
        ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
        var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
      })();

    </script>
</head>

<body>
    <div class="preloader">
		<img src="../../img/loader.gif" alt="Preloader image">
	</div>
	    <nav class="navbar">
		<div class="container">
		  <div class="row">          <div class="col-md-12">

			<!-- Brand and toggle get grouped for better mobile display -->
			<div class="navbar-header">
				<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
					<span class="sr-only">Toggle navigation</span>
					<span class="icon-bar"></span>
					<span class="icon-bar"></span>
					<span class="icon-bar"></span>
				</button>
				<a class="navbar-brand" href="/">
				    <span>

				    
                        <img src="../../img/logo-active.png">
                    

                    </span>
				    Apache TomEE
                </a>
			</div>
			<!-- Collect the nav links, forms, and other content for toggling -->
			<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
				<ul class="nav navbar-nav navbar-right main-nav">
					<li><a href="../../docs.html">Documentation</a></li>
					<li><a href="../../community/index.html">Community</a></li>
					<li><a href="../../security/security.html">Security</a></li>
					<li><a href="../../download-ng.html">Downloads</a></li>
				</ul>
			</div>
			<!-- /.navbar-collapse -->
		   </div></div>
		</div>
		<!-- /.container-fluid -->
	</nav>


    <div id="main-block" class="container main-block">
        <div class="row title">
          <div class="col-md-12">
            <div class='page-header'>
              
              <h1>Troubleshooting</h1>
            </div>
          </div>
        </div>
        <div class="row">
            
            <div class="col-md-12">
                <p><em>Help us document this example! Click the blue pencil icon in the upper right to edit this page.</em></p>
<h2>Movie</h2>
<pre><code>package org.superbiz.troubleshooting;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;

@Entity(name = &quot;Movie&quot;)
public class Movie {

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private long id;

    private String director;
    private String title;
    private int year;

    public Movie() {
    }

    public Movie(String director, String title, int year) {
        this.director = director;
        this.title = title;
        this.year = year;
    }

    public String getDirector() {
        return director;
    }

    public void setDirector(String director) {
        this.director = director;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public int getYear() {
        return year;
    }

    public void setYear(int year) {
        this.year = year;
    }

}
</code></pre>
<h2>Movies</h2>
<pre><code>package org.superbiz.troubleshooting;

import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.PersistenceContextType;
import javax.persistence.Query;
import java.util.List;

//START SNIPPET: code
@Stateless
public class Movies {

    @PersistenceContext(unitName = &quot;movie-unit&quot;, type = PersistenceContextType.TRANSACTION)
    private EntityManager entityManager;

    public void addMovie(Movie movie) throws Exception {
        entityManager.persist(movie);
    }

    public void deleteMovie(Movie movie) throws Exception {
        entityManager.remove(movie);
    }

    public List&lt;Movie&gt; getMovies() throws Exception {
        Query query = entityManager.createQuery(&quot;SELECT m from Movie as m&quot;);
        return query.getResultList();
    }
}
</code></pre>
<h2>persistence.xml</h2>
<pre><code>&lt;persistence xmlns=&quot;http://java.sun.com/xml/ns/persistence&quot; version=&quot;1.0&quot;&gt;

  &lt;persistence-unit name=&quot;movie-unit&quot;&gt;
    &lt;jta-data-source&gt;movieDatabase&lt;/jta-data-source&gt;
    &lt;non-jta-data-source&gt;movieDatabaseUnmanaged&lt;/non-jta-data-source&gt;
    &lt;class&gt;org.superbiz.testinjection.MoviesTest.Movie&lt;/class&gt;

    &lt;properties&gt;
      &lt;property name=&quot;openjpa.jdbc.SynchronizeMappings&quot; value=&quot;buildSchema(ForeignKeys=true)&quot;/&gt;
    &lt;/properties&gt;
  &lt;/persistence-unit&gt;
&lt;/persistence&gt;
</code></pre>
<h2>MoviesTest</h2>
<pre><code>package org.superbiz.troubleshooting;

import junit.framework.TestCase;

import javax.annotation.Resource;
import javax.ejb.EJB;
import javax.ejb.embeddable.EJBContainer;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.transaction.UserTransaction;
import java.util.List;
import java.util.Properties;

//START SNIPPET: code
public class MoviesTest extends TestCase {

    @EJB
    private Movies movies;

    @Resource
    private UserTransaction userTransaction;

    @PersistenceContext
    private EntityManager entityManager;

    public void setUp() throws Exception {
        Properties p = new Properties();
        p.put(&quot;movieDatabase&quot;, &quot;new://Resource?type=DataSource&quot;);
        p.put(&quot;movieDatabase.JdbcDriver&quot;, &quot;org.hsqldb.jdbcDriver&quot;);

        // These two debug levels will get you the basic log information
        // on the deployment of applications. Good first step in troubleshooting.
        p.put(&quot;log4j.category.OpenEJB.startup&quot;, &quot;debug&quot;);
        p.put(&quot;log4j.category.OpenEJB.startup.config&quot;, &quot;debug&quot;);

        // This log category is a good way to see what &quot;openejb.foo&quot; options
        // and flags are available and what their default values are
        p.put(&quot;log4j.category.OpenEJB.options&quot;, &quot;debug&quot;);

        // This will output the full configuration of all containers
        // resources and other openejb.xml configurable items.  A good
        // way to see what the final configuration looks like after all
        // overriding has been applied.
        p.put(&quot;log4j.category.OpenEJB.startup.service&quot;, &quot;debug&quot;);

        // Will output a generated ejb-jar.xml file that represents
        // 100% of the annotations used in the code.  This is a great
        // way to figure out how to do something in xml for overriding
        // or just to &quot;see&quot; all your application meta-data in one place.
        // Look for log lines like this &quot;Dumping Generated ejb-jar.xml to&quot;
        p.put(&quot;openejb.descriptors.output&quot;, &quot;true&quot;);

        // Setting the validation output level to verbose results in
        // validation messages that attempt to provide explanations
        // and information on what steps can be taken to remedy failures.
        // A great tool for those learning EJB.
        p.put(&quot;openejb.validation.output.level&quot;, &quot;verbose&quot;);

        EJBContainer.createEJBContainer(p).getContext().bind(&quot;inject&quot;, this);
    }

    public void test() throws Exception {

        userTransaction.begin();

        try {
            entityManager.persist(new Movie(&quot;Quentin Tarantino&quot;, &quot;Reservoir Dogs&quot;, 1992));
            entityManager.persist(new Movie(&quot;Joel Coen&quot;, &quot;Fargo&quot;, 1996));
            entityManager.persist(new Movie(&quot;Joel Coen&quot;, &quot;The Big Lebowski&quot;, 1998));

            List&lt;Movie&gt; list = movies.getMovies();
            assertEquals(&quot;List.size()&quot;, 3, list.size());
        } finally {
            userTransaction.commit();
        }

        // Transaction was committed
        List&lt;Movie&gt; list = movies.getMovies();
        assertEquals(&quot;List.size()&quot;, 3, list.size());
    }
}
</code></pre>
<h1>Running</h1>
<pre><code>-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running org.superbiz.troubleshooting.MoviesTest
2011-10-29 11:50:19,482 - DEBUG - Using default &#39;openejb.nobanner=true&#39;
Apache OpenEJB 4.0.0-beta-1    build: 20111002-04:06
http://tomee.apache.org/
2011-10-29 11:50:19,482 - INFO  - openejb.home = /Users/dblevins/examples/troubleshooting
2011-10-29 11:50:19,482 - INFO  - openejb.base = /Users/dblevins/examples/troubleshooting
2011-10-29 11:50:19,483 - DEBUG - Using default &#39;openejb.assembler=org.apache.openejb.assembler.classic.Assembler&#39;
2011-10-29 11:50:19,483 - DEBUG - Instantiating assembler class org.apache.openejb.assembler.classic.Assembler
2011-10-29 11:50:19,517 - DEBUG - Using default &#39;openejb.jndiname.failoncollision=true&#39;
2011-10-29 11:50:19,517 - INFO  - Using &#39;javax.ejb.embeddable.EJBContainer=true&#39;
2011-10-29 11:50:19,520 - DEBUG - Using default &#39;openejb.configurator=org.apache.openejb.config.ConfigurationFactory&#39;
2011-10-29 11:50:19,588 - DEBUG - Using default &#39;openejb.validation.skip=false&#39;
2011-10-29 11:50:19,589 - DEBUG - Using default &#39;openejb.deploymentId.format={ejbName}&#39;
2011-10-29 11:50:19,589 - DEBUG - Using default &#39;openejb.debuggable-vm-hackery=false&#39;
2011-10-29 11:50:19,589 - DEBUG - Using default &#39;openejb.webservices.enabled=true&#39;
2011-10-29 11:50:19,594 - DEBUG - Using default &#39;openejb.vendor.config=ALL&#39;  Possible values are: geronimo, glassfish, jboss, weblogic or NONE or ALL
2011-10-29 11:50:19,612 - DEBUG - Using default &#39;openejb.provider.default=org.apache.openejb.embedded&#39;
2011-10-29 11:50:19,658 - INFO  - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
2011-10-29 11:50:19,662 - INFO  - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
2011-10-29 11:50:19,665 - INFO  - Configuring Service(id=movieDatabase, type=Resource, provider-id=Default JDBC Database)
2011-10-29 11:50:19,665 - DEBUG - Override [JdbcDriver=org.hsqldb.jdbcDriver]
2011-10-29 11:50:19,666 - DEBUG - Using default &#39;openejb.deployments.classpath=false&#39;
2011-10-29 11:50:19,666 - INFO  - Creating TransactionManager(id=Default Transaction Manager)
2011-10-29 11:50:19,676 - DEBUG - defaultTransactionTimeoutSeconds=600
2011-10-29 11:50:19,676 - DEBUG - TxRecovery=false
2011-10-29 11:50:19,676 - DEBUG - bufferSizeKb=32
2011-10-29 11:50:19,676 - DEBUG - checksumEnabled=true
2011-10-29 11:50:19,676 - DEBUG - adler32Checksum=true
2011-10-29 11:50:19,676 - DEBUG - flushSleepTimeMilliseconds=50
2011-10-29 11:50:19,676 - DEBUG - logFileDir=txlog
2011-10-29 11:50:19,676 - DEBUG - logFileExt=log
2011-10-29 11:50:19,676 - DEBUG - logFileName=howl
2011-10-29 11:50:19,676 - DEBUG - maxBlocksPerFile=-1
2011-10-29 11:50:19,677 - DEBUG - maxBuffers=0
2011-10-29 11:50:19,677 - DEBUG - maxLogFiles=2
2011-10-29 11:50:19,677 - DEBUG - minBuffers=4
2011-10-29 11:50:19,677 - DEBUG - threadsWaitingForceThreshold=-1
2011-10-29 11:50:19,724 - DEBUG - createService.success
2011-10-29 11:50:19,724 - INFO  - Creating SecurityService(id=Default Security Service)
2011-10-29 11:50:19,724 - DEBUG - DefaultUser=guest
2011-10-29 11:50:19,750 - DEBUG - createService.success
2011-10-29 11:50:19,750 - INFO  - Creating Resource(id=movieDatabase)
2011-10-29 11:50:19,750 - DEBUG - Definition=
2011-10-29 11:50:19,750 - DEBUG - JtaManaged=true
2011-10-29 11:50:19,750 - DEBUG - JdbcDriver=org.hsqldb.jdbcDriver
2011-10-29 11:50:19,750 - DEBUG - JdbcUrl=jdbc:hsqldb:mem:hsqldb
2011-10-29 11:50:19,750 - DEBUG - UserName=sa
2011-10-29 11:50:19,750 - DEBUG - Password=
2011-10-29 11:50:19,750 - DEBUG - PasswordCipher=PlainText
2011-10-29 11:50:19,750 - DEBUG - ConnectionProperties=
2011-10-29 11:50:19,750 - DEBUG - DefaultAutoCommit=true
2011-10-29 11:50:19,750 - DEBUG - InitialSize=0
2011-10-29 11:50:19,750 - DEBUG - MaxActive=20
2011-10-29 11:50:19,750 - DEBUG - MaxIdle=20
2011-10-29 11:50:19,751 - DEBUG - MinIdle=0
2011-10-29 11:50:19,751 - DEBUG - MaxWait=-1
2011-10-29 11:50:19,751 - DEBUG - TestOnBorrow=true
2011-10-29 11:50:19,751 - DEBUG - TestOnReturn=false
2011-10-29 11:50:19,751 - DEBUG - TestWhileIdle=false
2011-10-29 11:50:19,751 - DEBUG - TimeBetweenEvictionRunsMillis=-1
2011-10-29 11:50:19,751 - DEBUG - NumTestsPerEvictionRun=3
2011-10-29 11:50:19,751 - DEBUG - MinEvictableIdleTimeMillis=1800000
2011-10-29 11:50:19,751 - DEBUG - PoolPreparedStatements=false
2011-10-29 11:50:19,751 - DEBUG - MaxOpenPreparedStatements=0
2011-10-29 11:50:19,751 - DEBUG - AccessToUnderlyingConnectionAllowed=false
2011-10-29 11:50:19,781 - DEBUG - createService.success
2011-10-29 11:50:19,783 - DEBUG - Containers        : 0
2011-10-29 11:50:19,785 - DEBUG - Deployments       : 0
2011-10-29 11:50:19,785 - DEBUG - SecurityService   : org.apache.openejb.core.security.SecurityServiceImpl
2011-10-29 11:50:19,786 - DEBUG - TransactionManager: org.apache.geronimo.transaction.manager.GeronimoTransactionManager
2011-10-29 11:50:19,786 - DEBUG - OpenEJB Container System ready.
2011-10-29 11:50:19,786 - DEBUG - Using default &#39;openejb.validation.skip=false&#39;
2011-10-29 11:50:19,786 - DEBUG - Using default &#39;openejb.deploymentId.format={ejbName}&#39;
2011-10-29 11:50:19,786 - DEBUG - Using default &#39;openejb.debuggable-vm-hackery=false&#39;
2011-10-29 11:50:19,786 - DEBUG - Using default &#39;openejb.webservices.enabled=true&#39;
2011-10-29 11:50:19,786 - DEBUG - Using default &#39;openejb.vendor.config=ALL&#39;  Possible values are: geronimo, glassfish, jboss, weblogic or NONE or ALL
2011-10-29 11:50:19,789 - DEBUG - Using default &#39;openejb.deployments.classpath.include=.*&#39;
2011-10-29 11:50:19,789 - DEBUG - Using default &#39;openejb.deployments.classpath.exclude=&#39;
2011-10-29 11:50:19,789 - DEBUG - Using default &#39;openejb.deployments.classpath.require.descriptor=client&#39;  Possible values are: ejb, client or NONE or ALL
2011-10-29 11:50:19,789 - DEBUG - Using default &#39;openejb.deployments.classpath.filter.descriptors=false&#39;
2011-10-29 11:50:19,789 - DEBUG - Using default &#39;openejb.deployments.classpath.filter.systemapps=true&#39;
2011-10-29 11:50:19,828 - DEBUG - Inspecting classpath for applications: 5 urls.
2011-10-29 11:50:19,846 - INFO  - Found EjbModule in classpath: /Users/dblevins/examples/troubleshooting/target/classes
2011-10-29 11:50:20,011 - DEBUG - URLs after filtering: 55
2011-10-29 11:50:20,011 - DEBUG - Annotations path: file:/Users/dblevins/examples/troubleshooting/target/classes/
2011-10-29 11:50:20,011 - DEBUG - Annotations path: jar:file:/Users/dblevins/.m2/repository/org/apache/maven/surefire/surefire-api/2.7.2/surefire-api-2.7.2.jar!/
2011-10-29 11:50:20,011 - DEBUG - Annotations path: jar:file:/Users/dblevins/.m2/repository/org/apache/openejb/mbean-annotation-api/4.0.0-beta-1/mbean-annotation-api-4.0.0-beta-1.jar!/
2011-10-29 11:50:20,011 - DEBUG - Annotations path: jar:file:/Users/dblevins/.m2/repository/org/apache/maven/surefire/surefire-booter/2.7.2/surefire-booter-2.7.2.jar!/
2011-10-29 11:50:20,011 - DEBUG - Annotations path: file:/Users/dblevins/examples/troubleshooting/target/test-classes/
2011-10-29 11:50:20,011 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/org/apache/geronimo/specs/geronimo-jms_1.1_spec/1.1.1/geronimo-jms_1.1_spec-1.1.1.jar!/
2011-10-29 11:50:20,011 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/org/apache/bval/bval-core/0.3-incubating/bval-core-0.3-incubating.jar!/
2011-10-29 11:50:20,011 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/org/apache/geronimo/specs/geronimo-j2ee-management_1.1_spec/1.0.1/geronimo-j2ee-management_1.1_spec-1.0.1.jar!/
2011-10-29 11:50:20,011 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/org/apache/activemq/activemq-core/5.4.2/activemq-core-5.4.2.jar!/
2011-10-29 11:50:20,012 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/org/apache/xbean/xbean-bundleutils/3.8/xbean-bundleutils-3.8.jar!/
2011-10-29 11:50:20,012 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/junit/junit/4.8.1/junit-4.8.1.jar!/
2011-10-29 11:50:20,012 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/net/sf/scannotation/scannotation/1.0.2/scannotation-1.0.2.jar!/
2011-10-29 11:50:20,012 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/org/apache/openejb/javaee-api/6.0-2/javaee-api-6.0-2.jar!/
2011-10-29 11:50:20,012 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/commons-beanutils/commons-beanutils-core/1.8.3/commons-beanutils-core-1.8.3.jar!/
2011-10-29 11:50:20,012 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/avalon-framework/avalon-framework/4.1.3/avalon-framework-4.1.3.jar!/
2011-10-29 11:50:20,012 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/org/apache/openwebbeans/openwebbeans-web/1.1.1/openwebbeans-web-1.1.1.jar!/
2011-10-29 11:50:20,012 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/wsdl4j/wsdl4j/1.6.2/wsdl4j-1.6.2.jar!/
2011-10-29 11:50:20,012 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/logkit/logkit/1.0.1/logkit-1.0.1.jar!/
2011-10-29 11:50:20,012 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/com/ibm/icu/icu4j/4.0.1/icu4j-4.0.1.jar!/
2011-10-29 11:50:20,012 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/org/apache/xbean/xbean-asm-shaded/3.8/xbean-asm-shaded-3.8.jar!/
2011-10-29 11:50:20,012 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/org/apache/openwebbeans/openwebbeans-ee-common/1.1.1/openwebbeans-ee-common-1.1.1.jar!/
2011-10-29 11:50:20,012 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/commons-pool/commons-pool/1.5.6/commons-pool-1.5.6.jar!/
2011-10-29 11:50:20,012 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/commons-collections/commons-collections/3.2.1/commons-collections-3.2.1.jar!/
2011-10-29 11:50:20,013 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/commons-logging/commons-logging-api/1.1/commons-logging-api-1.1.jar!/
2011-10-29 11:50:20,013 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/org/apache/openwebbeans/openwebbeans-impl/1.1.1/openwebbeans-impl-1.1.1.jar!/
2011-10-29 11:50:20,013 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/org/apache/xbean/xbean-finder-shaded/3.8/xbean-finder-shaded-3.8.jar!/
2011-10-29 11:50:20,013 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/org/apache/geronimo/specs/geronimo-j2ee-connector_1.6_spec/1.0/geronimo-j2ee-connector_1.6_spec-1.0.jar!/
2011-10-29 11:50:20,013 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/commons-cli/commons-cli/1.2/commons-cli-1.2.jar!/
2011-10-29 11:50:20,013 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/org/apache/activemq/kahadb/5.4.2/kahadb-5.4.2.jar!/
2011-10-29 11:50:20,013 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/hsqldb/hsqldb/1.8.0.10/hsqldb-1.8.0.10.jar!/
2011-10-29 11:50:20,013 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/log4j/log4j/1.2.16/log4j-1.2.16.jar!/
2011-10-29 11:50:20,013 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/org/apache/geronimo/components/geronimo-connector/3.1.1/geronimo-connector-3.1.1.jar!/
2011-10-29 11:50:20,013 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/org/apache/activemq/activemq-ra/5.4.2/activemq-ra-5.4.2.jar!/
2011-10-29 11:50:20,013 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/net/sourceforge/serp/serp/1.13.1/serp-1.13.1.jar!/
2011-10-29 11:50:20,013 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/org/slf4j/slf4j-log4j12/1.6.1/slf4j-log4j12-1.6.1.jar!/
2011-10-29 11:50:20,013 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/javax/servlet/servlet-api/2.3/servlet-api-2.3.jar!/
2011-10-29 11:50:20,013 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/org/apache/activemq/activeio-core/3.1.2/activeio-core-3.1.2.jar!/
2011-10-29 11:50:20,014 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/org/quartz-scheduler/quartz/1.8.5/quartz-1.8.5.jar!/
2011-10-29 11:50:20,014 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/org/apache/openwebbeans/openwebbeans-ee/1.1.1/openwebbeans-ee-1.1.1.jar!/
2011-10-29 11:50:20,014 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/org/slf4j/slf4j-api/1.6.1/slf4j-api-1.6.1.jar!/
2011-10-29 11:50:20,014 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/org/apache/openwebbeans/openwebbeans-spi/1.1.1/openwebbeans-spi-1.1.1.jar!/
2011-10-29 11:50:20,016 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/org/codehaus/swizzle/swizzle-stream/1.0.2/swizzle-stream-1.0.2.jar!/
2011-10-29 11:50:20,016 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/org/apache/openjpa/openjpa/2.1.1/openjpa-2.1.1.jar!/
2011-10-29 11:50:20,016 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/org/apache/xbean/xbean-naming/3.8/xbean-naming-3.8.jar!/
2011-10-29 11:50:20,016 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/org/apache/geronimo/components/geronimo-transaction/3.1.1/geronimo-transaction-3.1.1.jar!/
2011-10-29 11:50:20,016 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/commons-lang/commons-lang/2.6/commons-lang-2.6.jar!/
2011-10-29 11:50:20,016 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/javassist/javassist/3.12.0.GA/javassist-3.12.0.GA.jar!/
2011-10-29 11:50:20,016 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/org/objectweb/howl/howl/1.0.1-1/howl-1.0.1-1.jar!/
2011-10-29 11:50:20,016 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/org/apache/xbean/xbean-reflect/3.8/xbean-reflect-3.8.jar!/
2011-10-29 11:50:20,016 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/org/apache/openwebbeans/openwebbeans-ejb/1.1.1/openwebbeans-ejb-1.1.1.jar!/
2011-10-29 11:50:20,016 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/commons-logging/commons-logging/1.1/commons-logging-1.1.jar!/
2011-10-29 11:50:20,016 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/commons-net/commons-net/2.0/commons-net-2.0.jar!/
2011-10-29 11:50:20,017 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/org/apache/activemq/protobuf/activemq-protobuf/1.1/activemq-protobuf-1.1.jar!/
2011-10-29 11:50:20,017 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/commons-dbcp/commons-dbcp/1.4/commons-dbcp-1.4.jar!/
2011-10-29 11:50:20,017 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/org/apache/geronimo/javamail/geronimo-javamail_1.4_mail/1.8.2/geronimo-javamail_1.4_mail-1.8.2.jar!/
2011-10-29 11:50:20,017 - DEBUG - Searched 5 classpath urls in 80 milliseconds.  Average 16 milliseconds per url.
2011-10-29 11:50:20,023 - INFO  - Beginning load: /Users/dblevins/examples/troubleshooting/target/classes
2011-10-29 11:50:20,028 - DEBUG - Using default &#39;openejb.tempclassloader.skip=none&#39;  Possible values are: none, annotations, enums or NONE or ALL
2011-10-29 11:50:20,030 - DEBUG - Using default &#39;openejb.tempclassloader.skip=none&#39;  Possible values are: none, annotations, enums or NONE or ALL
2011-10-29 11:50:20,099 - INFO  - Configuring enterprise application: /Users/dblevins/examples/troubleshooting
2011-10-29 11:50:20,099 - DEBUG - No ejb-jar.xml found assuming annotated beans present: /Users/dblevins/examples/troubleshooting, module: troubleshooting
2011-10-29 11:50:20,213 - DEBUG - Searching for annotated application exceptions (see OPENEJB-980)
2011-10-29 11:50:20,214 - DEBUG - Searching for annotated application exceptions (see OPENEJB-980)
2011-10-29 11:50:20,248 - WARN  - Method &#39;lookup&#39; is not available for &#39;javax.annotation.Resource&#39;. Probably using an older Runtime.
2011-10-29 11:50:20,249 - DEBUG - looking for annotated MBeans in 
2011-10-29 11:50:20,249 - DEBUG - registered 0 annotated MBeans in 
2011-10-29 11:50:20,278 - INFO  - Configuring Service(id=Default Stateless Container, type=Container, provider-id=Default Stateless Container)
2011-10-29 11:50:20,278 - INFO  - Auto-creating a container for bean Movies: Container(type=STATELESS, id=Default Stateless Container)
2011-10-29 11:50:20,278 - INFO  - Creating Container(id=Default Stateless Container)
2011-10-29 11:50:20,279 - DEBUG - AccessTimeout=30 seconds
2011-10-29 11:50:20,279 - DEBUG - MaxSize=10
2011-10-29 11:50:20,279 - DEBUG - MinSize=0
2011-10-29 11:50:20,279 - DEBUG - StrictPooling=true
2011-10-29 11:50:20,279 - DEBUG - MaxAge=0 hours
2011-10-29 11:50:20,279 - DEBUG - ReplaceAged=true
2011-10-29 11:50:20,279 - DEBUG - ReplaceFlushed=false
2011-10-29 11:50:20,279 - DEBUG - MaxAgeOffset=-1
2011-10-29 11:50:20,279 - DEBUG - IdleTimeout=0 minutes
2011-10-29 11:50:20,279 - DEBUG - GarbageCollection=false
2011-10-29 11:50:20,279 - DEBUG - SweepInterval=5 minutes
2011-10-29 11:50:20,279 - DEBUG - CallbackThreads=5
2011-10-29 11:50:20,279 - DEBUG - CloseTimeout=5 minutes
2011-10-29 11:50:20,295 - DEBUG - createService.success
2011-10-29 11:50:20,296 - INFO  - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
2011-10-29 11:50:20,296 - INFO  - Auto-creating a container for bean org.superbiz.troubleshooting.MoviesTest: Container(type=MANAGED, id=Default Managed Container)
2011-10-29 11:50:20,296 - INFO  - Creating Container(id=Default Managed Container)
2011-10-29 11:50:20,310 - DEBUG - createService.success
2011-10-29 11:50:20,310 - INFO  - Configuring PersistenceUnit(name=movie-unit)
2011-10-29 11:50:20,310 - DEBUG - raw &lt;jta-data-source&gt;movieDatabase&lt;/jta-datasource&gt;
2011-10-29 11:50:20,310 - DEBUG - raw &lt;non-jta-data-source&gt;movieDatabaseUnmanaged&lt;/non-jta-datasource&gt;
2011-10-29 11:50:20,310 - DEBUG - normalized &lt;jta-data-source&gt;movieDatabase&lt;/jta-datasource&gt;
2011-10-29 11:50:20,310 - DEBUG - normalized &lt;non-jta-data-source&gt;movieDatabaseUnmanaged&lt;/non-jta-datasource&gt;
2011-10-29 11:50:20,310 - DEBUG - Available DataSources
2011-10-29 11:50:20,310 - DEBUG - DataSource(name=movieDatabase, JtaManaged=true)
2011-10-29 11:50:20,311 - INFO  - Auto-creating a Resource with id &#39;movieDatabaseNonJta&#39; of type &#39;DataSource for &#39;movie-unit&#39;.
2011-10-29 11:50:20,311 - INFO  - Configuring Service(id=movieDatabaseNonJta, type=Resource, provider-id=movieDatabase)
2011-10-29 11:50:20,311 - INFO  - Creating Resource(id=movieDatabaseNonJta)
2011-10-29 11:50:20,311 - DEBUG - Definition=
2011-10-29 11:50:20,312 - DEBUG - JtaManaged=false
2011-10-29 11:50:20,312 - DEBUG - JdbcDriver=org.hsqldb.jdbcDriver
2011-10-29 11:50:20,312 - DEBUG - JdbcUrl=jdbc:hsqldb:mem:hsqldb
2011-10-29 11:50:20,312 - DEBUG - UserName=sa
2011-10-29 11:50:20,312 - DEBUG - Password=
2011-10-29 11:50:20,312 - DEBUG - PasswordCipher=PlainText
2011-10-29 11:50:20,312 - DEBUG - ConnectionProperties=
2011-10-29 11:50:20,312 - DEBUG - DefaultAutoCommit=true
2011-10-29 11:50:20,312 - DEBUG - InitialSize=0
2011-10-29 11:50:20,312 - DEBUG - MaxActive=20
2011-10-29 11:50:20,312 - DEBUG - MaxIdle=20
2011-10-29 11:50:20,312 - DEBUG - MinIdle=0
2011-10-29 11:50:20,312 - DEBUG - MaxWait=-1
2011-10-29 11:50:20,312 - DEBUG - TestOnBorrow=true
2011-10-29 11:50:20,312 - DEBUG - TestOnReturn=false
2011-10-29 11:50:20,312 - DEBUG - TestWhileIdle=false
2011-10-29 11:50:20,312 - DEBUG - TimeBetweenEvictionRunsMillis=-1
2011-10-29 11:50:20,312 - DEBUG - NumTestsPerEvictionRun=3
2011-10-29 11:50:20,312 - DEBUG - MinEvictableIdleTimeMillis=1800000
2011-10-29 11:50:20,312 - DEBUG - PoolPreparedStatements=false
2011-10-29 11:50:20,312 - DEBUG - MaxOpenPreparedStatements=0
2011-10-29 11:50:20,312 - DEBUG - AccessToUnderlyingConnectionAllowed=false
2011-10-29 11:50:20,316 - DEBUG - createService.success
2011-10-29 11:50:20,316 - INFO  - Adjusting PersistenceUnit movie-unit &lt;non-jta-data-source&gt; to Resource ID &#39;movieDatabaseNonJta&#39; from &#39;movieDatabaseUnmanaged&#39;
2011-10-29 11:50:20,317 - INFO  - Using &#39;openejb.descriptors.output=true&#39;
2011-10-29 11:50:20,317 - INFO  - Using &#39;openejb.descriptors.output=true&#39;
2011-10-29 11:50:20,642 - INFO  - Dumping Generated ejb-jar.xml to: /var/folders/bd/f9ntqy1m8xj_fs006s6crtjh0000gn/T/ejb-jar-4107959830671443055troubleshooting.xml
2011-10-29 11:50:20,657 - INFO  - Dumping Generated openejb-jar.xml to: /var/folders/bd/f9ntqy1m8xj_fs006s6crtjh0000gn/T/openejb-jar-5369342778223971127troubleshooting.xml
2011-10-29 11:50:20,657 - INFO  - Using &#39;openejb.descriptors.output=true&#39;
2011-10-29 11:50:20,658 - INFO  - Dumping Generated ejb-jar.xml to: /var/folders/bd/f9ntqy1m8xj_fs006s6crtjh0000gn/T/ejb-jar-5569422837673302173EjbModule837053032.xml
2011-10-29 11:50:20,659 - INFO  - Dumping Generated openejb-jar.xml to: /var/folders/bd/f9ntqy1m8xj_fs006s6crtjh0000gn/T/openejb-jar-560959152015048895EjbModule837053032.xml
2011-10-29 11:50:20,665 - DEBUG - Adding persistence-unit movie-unit property openjpa.Log=log4j
2011-10-29 11:50:20,665 - DEBUG - Adjusting PersistenceUnit(name=movie-unit) property to openjpa.RuntimeUnenhancedClasses=supported
2011-10-29 11:50:20,674 - INFO  - Using &#39;openejb.validation.output.level=VERBOSE&#39;
2011-10-29 11:50:20,674 - INFO  - Enterprise application &quot;/Users/dblevins/examples/troubleshooting&quot; loaded.
2011-10-29 11:50:20,674 - INFO  - Assembling app: /Users/dblevins/examples/troubleshooting
2011-10-29 11:50:20,678 - DEBUG - Using default &#39;openejb.tempclassloader.skip=none&#39;  Possible values are: none, annotations, enums or NONE or ALL
2011-10-29 11:50:20,757 - DEBUG - Using default &#39;openejb.tempclassloader.skip=none&#39;  Possible values are: none, annotations, enums or NONE or ALL
2011-10-29 11:50:21,137 - INFO  - PersistenceUnit(name=movie-unit, provider=org.apache.openjpa.persistence.PersistenceProviderImpl) - provider time 407ms
2011-10-29 11:50:21,138 - DEBUG - openjpa.jdbc.SynchronizeMappings=buildSchema(ForeignKeys=true)
2011-10-29 11:50:21,138 - DEBUG - openjpa.Log=log4j
2011-10-29 11:50:21,138 - DEBUG - openjpa.RuntimeUnenhancedClasses=supported
2011-10-29 11:50:21,262 - DEBUG - Using default &#39;openejb.jndiname.strategy.class=org.apache.openejb.assembler.classic.JndiBuilder$TemplatedStrategy&#39;
2011-10-29 11:50:21,262 - DEBUG - Using default &#39;openejb.jndiname.format={deploymentId}{interfaceType.annotationName}&#39;
2011-10-29 11:50:21,267 - DEBUG - Using default &#39;openejb.localcopy=true&#39;
2011-10-29 11:50:21,270 - DEBUG - bound ejb at name: openejb/Deployment/Movies/org.superbiz.troubleshooting.Movies!LocalBean, ref: org.apache.openejb.core.ivm.naming.BusinessLocalBeanReference@2569a1c5
2011-10-29 11:50:21,270 - DEBUG - bound ejb at name: openejb/Deployment/Movies/org.superbiz.troubleshooting.Movies!LocalBeanHome, ref: org.apache.openejb.core.ivm.naming.BusinessLocalBeanReference@2569a1c5
2011-10-29 11:50:21,272 - INFO  - Jndi(name=&quot;java:global/troubleshooting/Movies!org.superbiz.troubleshooting.Movies&quot;)
2011-10-29 11:50:21,272 - INFO  - Jndi(name=&quot;java:global/troubleshooting/Movies&quot;)
2011-10-29 11:50:21,277 - DEBUG - Using default &#39;openejb.jndiname.strategy.class=org.apache.openejb.assembler.classic.JndiBuilder$TemplatedStrategy&#39;
2011-10-29 11:50:21,277 - DEBUG - Using default &#39;openejb.jndiname.format={deploymentId}{interfaceType.annotationName}&#39;
2011-10-29 11:50:21,277 - DEBUG - bound ejb at name: openejb/Deployment/org.superbiz.troubleshooting.MoviesTest/org.superbiz.troubleshooting.MoviesTest!LocalBean, ref: org.apache.openejb.core.ivm.naming.BusinessLocalBeanReference@3f78e13f
2011-10-29 11:50:21,277 - DEBUG - bound ejb at name: openejb/Deployment/org.superbiz.troubleshooting.MoviesTest/org.superbiz.troubleshooting.MoviesTest!LocalBeanHome, ref: org.apache.openejb.core.ivm.naming.BusinessLocalBeanReference@3f78e13f
2011-10-29 11:50:21,277 - INFO  - Jndi(name=&quot;java:global/EjbModule837053032/org.superbiz.troubleshooting.MoviesTest!org.superbiz.troubleshooting.MoviesTest&quot;)
2011-10-29 11:50:21,277 - INFO  - Jndi(name=&quot;java:global/EjbModule837053032/org.superbiz.troubleshooting.MoviesTest&quot;)
2011-10-29 11:50:21,291 - DEBUG - CDI Service not installed: org.apache.webbeans.spi.ConversationService
2011-10-29 11:50:21,399 - INFO  - Created Ejb(deployment-id=Movies, ejb-name=Movies, container=Default Stateless Container)
2011-10-29 11:50:21,428 - INFO  - Created Ejb(deployment-id=org.superbiz.troubleshooting.MoviesTest, ejb-name=org.superbiz.troubleshooting.MoviesTest, container=Default Managed Container)
2011-10-29 11:50:21,463 - INFO  - Started Ejb(deployment-id=Movies, ejb-name=Movies, container=Default Stateless Container)
2011-10-29 11:50:21,463 - INFO  - Started Ejb(deployment-id=org.superbiz.troubleshooting.MoviesTest, ejb-name=org.superbiz.troubleshooting.MoviesTest, container=Default Managed Container)
2011-10-29 11:50:21,463 - INFO  - Deployed Application(path=/Users/dblevins/examples/troubleshooting)
2011-10-29 11:50:21,728 - WARN  - The class &quot;org.superbiz.testinjection.MoviesTest.Movie&quot; listed in the openjpa.MetaDataFactory configuration property could not be loaded by sun.misc.Launcher$AppClassLoader@27a8c4e7; ignoring.
2011-10-29 11:50:21,834 - WARN  - The class &quot;org.superbiz.testinjection.MoviesTest.Movie&quot; listed in the openjpa.MetaDataFactory configuration property could not be loaded by sun.misc.Launcher$AppClassLoader@27a8c4e7; ignoring.
2011-10-29 11:50:21,846 - WARN  - The class &quot;org.superbiz.testinjection.MoviesTest.Movie&quot; listed in the openjpa.MetaDataFactory configuration property could not be loaded by sun.misc.Launcher$AppClassLoader@27a8c4e7; ignoring.
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.642 sec

Results :

Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
</code></pre>
            </div>
            
        </div>
    </div>
<footer>
		<div class="container">
			<div class="row">
				<div class="col-sm-6 text-center-mobile">
					<h3 class="white">Be simple.  Be certified. Be Tomcat.</h3>
					<h5 class="light regular light-white">"A good application in a good server"</h5>
					<ul class="social-footer">
						<li><a href="https://www.facebook.com/ApacheTomEE/"><i class="fa fa-facebook"></i></a></li>
						<li><a href="https://twitter.com/apachetomee"><i class="fa fa-twitter"></i></a></li>
						<li><a href="https://plus.google.com/communities/105208241852045684449"><i class="fa fa-google-plus"></i></a></li>
					</ul>
				</div>
				<div class="col-sm-6 text-center-mobile">
					<div class="row opening-hours">
						<div class="col-sm-3 text-center-mobile">
							<h5><a href="../../latest/docs/" class="white">Documentation</a></h5>
							<ul class="list-unstyled">
								<li><a href="../../latest/docs/admin/configuration/index.html" class="regular light-white">How to configure</a></li>
								<li><a href="../../latest/docs/admin/file-layout.html" class="regular light-white">Dir. Structure</a></li>
								<li><a href="../../latest/docs/developer/testing/index.html" class="regular light-white">Testing</a></li>
								<li><a href="../../latest/docs/admin/cluster/index.html" class="regular light-white">Clustering</a></li>
							</ul>
						</div>
						<div class="col-sm-3 text-center-mobile">
							<h5><a href="../../latest/examples/" class="white">Examples</a></h5>
							<ul class="list-unstyled">
								<li><a href="../../latest/examples/simple-cdi-interceptor.html" class="regular light-white">CDI Interceptor</a></li>
								<li><a href="../../latest/examples/rest-cdi.html" class="regular light-white">REST with CDI</a></li>
								<li><a href="../../latest/examples/ejb-examples.html" class="regular light-white">EJB</a></li>
								<li><a href="../../latest/examples/jsf-managedBean-and-ejb.html" class="regular light-white">JSF</a></li>
							</ul>
						</div>
						<div class="col-sm-3 text-center-mobile">
							<h5><a href="../../community/index.html" class="white">Community</a></h5>
							<ul class="list-unstyled">
								<li><a href="../../community/contributors.html" class="regular light-white">Contributors</a></li>
								<li><a href="../../community/social.html" class="regular light-white">Social</a></li>
								<li><a href="../../community/sources.html" class="regular light-white">Sources</a></li>
							</ul>
						</div>
						<div class="col-sm-3 text-center-mobile">
							<h5><a href="../../security/index.html" class="white">Security</a></h5>
							<ul class="list-unstyled">
								<li><a href="http://apache.org/security" target="_blank" class="regular light-white">Apache Security</a></li>
								<li><a href="http://apache.org/security/projects.html" target="_blank" class="regular light-white">Security Projects</a></li>
								<li><a href="http://cve.mitre.org" target="_blank" class="regular light-white">CVE</a></li>
							</ul>
						</div>
					</div>
				</div>
			</div>
			<div class="row bottom-footer text-center-mobile">
				<div class="col-sm-12 light-white">
					<p>Copyright &copy; 1999-2016 The Apache Software Foundation, Licensed under the Apache License, Version 2.0. Apache TomEE, TomEE, Apache, the Apache feather logo, and the Apache TomEE project logo are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
				</div>
			</div>
		</div>
	</footer>
	<!-- Holder for mobile navigation -->
	<div class="mobile-nav">
        <ul>
          <li><a hef="../../latest/docs/admin/index.html">Administrators</a>
          <li><a hef="../../latest/docs/developer/index.html">Developers</a>
          <li><a hef="../../latest/docs/advanced/index.html">Advanced</a>
          <li><a hef="../../community/index.html">Community</a>
        </ul>
		<a href="#" class="close-link"><i class="arrow_up"></i></a>
	</div>
	<!-- Scripts -->
	<script src="../../js/jquery-1.11.1.min.js"></script>
	<script src="../../js/owl.carousel.min.js"></script>
	<script src="../../js/bootstrap.min.js"></script>
	<script src="../../js/wow.min.js"></script>
	<script src="../../js/typewriter.js"></script>
	<script src="../../js/jquery.onepagenav.js"></script>
	<script src="../../js/tree.jquery.js"></script>
	<script src="../../js/highlight.pack.js"></script>
    <script src="../../js/main.js"></script>
		</body>

</html>

