| <!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"> |
| <!-- Matomo --> |
| var _paq = window._paq = window._paq || []; |
| /* tracker methods like "setCustomDimension" should be called before "trackPageView" */ |
| /* We explicitly disable cookie tracking to avoid privacy issues */ |
| _paq.push(['disableCookies']); |
| _paq.push(['trackPageView']); |
| _paq.push(['enableLinkTracking']); |
| (function () { |
| var u = "//matomo.privacy.apache.org/"; |
| _paq.push(['setTrackerUrl', u + 'matomo.php']); |
| _paq.push(['setSiteId', '5']); |
| var d = document, g = d.createElement('script'), s = d.getElementsByTagName('script')[0]; |
| g.async = true; |
| g.src = u + 'matomo.js'; |
| s.parentNode.insertBefore(g, s); |
| })(); |
| <!-- End Matomo Code --> |
| </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="/" title="Apache TomEE"> |
| <span> |
| |
| |
| <img |
| src="../../img/apache_tomee-logo.svg" |
| onerror="this.src='../../img/apache_tomee-logo.jpg'" |
| height="50" |
| > |
| |
| |
| </span> |
| </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 class="btn btn-accent accent-orange no-shadow" href="../../download.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>DataSource Versioning</h1> |
| </div> |
| </div> |
| </div> |
| <div class="row"> |
| |
| <div class="col-md-12"> |
| <div id="preamble"> |
| <div class="sectionbody"> |
| <div class="paragraph"> |
| <p>This example shows you how to use versioned DataSources of the same |
| provider using the classpath attribute.</p> |
| </div> |
| </div> |
| </div> |
| <div class="sect1"> |
| <h2 id="_configuration">Configuration</h2> |
| <div class="sectionbody"> |
| <div class="paragraph"> |
| <p>The DataSource configuration can be made several ways and here we layout |
| two common methods in the form of unit tests. Before we start, if you |
| take a peek in the project pom.xml and look for the |
| maven-dependency-plugin usage you will see that we pull in two |
| completely different driver files for this example.</p> |
| </div> |
| </div> |
| </div> |
| <div class="sect1"> |
| <h2 id="_alternatedatasourcetest_java">AlternateDataSourceTest.java</h2> |
| <div class="sectionbody"> |
| <div class="paragraph"> |
| <p>This test utilizes the Arquillian testing framework. See |
| <a href="http://tomee.apache.org/arquillian-available-adapters.html">here</a> for |
| more details.</p> |
| </div> |
| <div class="paragraph"> |
| <p>The example uses src/test/resources/arquillian.xml and |
| src/test/conf/tomee.xml to define the DataSources. Note the differing |
| driver version paths, yet still using the same provider |
| (org.apache.derby.jdbc.EmbeddedDriver):</p> |
| </div> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre class="highlight"><code class="language-xml" data-lang="xml"><tomee> |
| |
| <Resource id="DatabaseOne" type="DataSource" classpath="${catalina.base}/../../drivers/derby-10.10.1.1.jar"> |
| JdbcDriver org.apache.derby.jdbc.EmbeddedDriver |
| JdbcUrl jdbc:derby:databaseOne;create=true |
| UserName SA |
| </Resource> |
| |
| <Resource id="DatabaseTwo" type="DataSource" classpath="${catalina.base}/../../drivers/derby-10.9.1.0.jar"> |
| JdbcDriver org.apache.derby.jdbc.EmbeddedDriver |
| JdbcUrl jdbc:derby:databaseTwo;create=true |
| UserName SA |
| </Resource> |
| |
| </tomee></code></pre> |
| </div> |
| </div> |
| </div> |
| </div> |
| <div class="sect1"> |
| <h2 id="_developer_information">Developer Information</h2> |
| <div class="sectionbody"> |
| <div class="paragraph"> |
| <p>When testing within a Maven environment it is also possible to use |
| direct maven coordinates rather than a file link, like so:</p> |
| </div> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre class="highlight"><code class="language-console" data-lang="console"></code></pre> |
| </div> |
| </div> |
| <div class="paragraph"> |
| <p><Resource id="DatabaseOne" type="DataSource" classpath="mvn:org.apache.derby:derby:10.10.1.1"></p> |
| </div> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre class="highlight"><code class="language-console" data-lang="console"></code></pre> |
| </div> |
| </div> |
| </div> |
| </div> |
| <div class="sect1"> |
| <h2 id="_alternatedriverjartest_java">AlternateDriverJarTest.java</h2> |
| <div class="sectionbody"> |
| <div class="paragraph"> |
| <p>This test takes an embedded approach and as you can see the driver paths |
| are specified as a DataSource parameter. Both examples demonstrate the |
| same, in that two driver versions can be loaded and used within the same |
| application.</p> |
| </div> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre class="highlight"><code class="language-java" data-lang="java">@Configuration |
| public Properties config() { |
| |
| final File drivers = new File(new File("target"), "drivers").getAbsoluteFile(); |
| |
| final Properties p = new Properties(); |
| p.put("openejb.jdbc.datasource-creator", "dbcp-alternative"); |
| |
| File file = new File(drivers, "derby-10.10.1.1.jar"); |
| Assert.assertTrue("Failed to find: " + file, file.exists()); |
| |
| p.put("JdbcOne", "new://Resource?type=DataSource&classpath=" |
| + file.getAbsolutePath().replace("\\", "/")); |
| p.put("JdbcOne.JdbcDriver", "org.apache.derby.jdbc.EmbeddedDriver"); |
| p.put("JdbcOne.JdbcUrl", "jdbc:derby:memory:JdbcOne;create=true"); |
| p.put("JdbcOne.UserName", USER); |
| p.put("JdbcOne.Password", PASSWORD); |
| p.put("JdbcOne.JtaManaged", "false"); |
| |
| file = new File(drivers, "derby-10.9.1.0.jar"); |
| Assert.assertTrue("Failed to find: " + file, file.exists()); |
| |
| p.put("JdbcTwo", "new://Resource?type=DataSource&classpath=" |
| + file.getAbsolutePath().replace("\\", "/")); |
| p.put("JdbcTwo.JdbcDriver", "org.apache.derby.jdbc.EmbeddedDriver"); |
| p.put("JdbcTwo.JdbcUrl", "jdbc:derby:memory:JdbcTwo;create=true"); |
| p.put("JdbcTwo.UserName", USER); |
| p.put("JdbcTwo.Password", PASSWORD); |
| p.put("JdbcTwo.JtaManaged", "false"); |
| return p; |
| }</code></pre> |
| </div> |
| </div> |
| </div> |
| </div> |
| <div class="sect1"> |
| <h2 id="_full_test_source_for_alternatedatasourcetest_java">Full Test Source for AlternateDataSourceTest.java</h2> |
| <div class="sectionbody"> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre class="highlight"><code class="language-java" data-lang="java">package org.superbiz; |
| |
| import org.jboss.arquillian.container.test.api.Deployment; |
| import org.jboss.arquillian.junit.Arquillian; |
| import org.jboss.shrinkwrap.api.ShrinkWrap; |
| import org.jboss.shrinkwrap.api.asset.ClassLoaderAsset; |
| import org.jboss.shrinkwrap.api.spec.WebArchive; |
| import org.junit.Assert; |
| import org.junit.Test; |
| import org.junit.runner.RunWith; |
| |
| import jakarta.annotation.Resource; |
| import jakarta.ejb.EJB; |
| import jakarta.ejb.Stateless; |
| import javax.sql.DataSource; |
| import java.sql.Connection; |
| import java.sql.DatabaseMetaData; |
| import java.sql.SQLException; |
| |
| @RunWith(Arquillian.class) |
| public class AlternateDataSourceTest { |
| |
| @Deployment |
| public static WebArchive createDeployment() { |
| |
| return ShrinkWrap.create(WebArchive.class, "test.war") |
| .addClasses(DataSourceTester.class) |
| .addAsResource(new ClassLoaderAsset("META-INF/ejb-jar.xml"), "META-INF/ejb-jar.xml"); |
| //We are using src/test/conf/tomee.xml, but this also works - .addAsResource(new ClassLoaderAsset("META-INF/resources.xml"), "META-INF/resources.xml"); |
| //Or even using a persistence context - .addAsResource(new ClassLoaderAsset("META-INF/persistence.xml"), "META-INF/persistence.xml"); |
| } |
| |
| @EJB |
| private DataSourceTester tester; |
| |
| @Test |
| public void testDataSourceOne() throws Exception { |
| Assert.assertEquals("Should be using 10.10.1.1 - (1458268)", "10.10.1.1 - (1458268)", tester.getOne()); |
| } |
| |
| @Test |
| public void testDataSourceTwo() throws Exception { |
| Assert.assertEquals("Should be using 10.9.1.0 - (1344872)", "10.9.1.0 - (1344872)", tester.getTwo()); |
| } |
| |
| @Test |
| public void testDataSourceBoth() throws Exception { |
| Assert.assertEquals("Should be using 10.10.1.1 - (1458268)|10.9.1.0 - (1344872)", "10.10.1.1 - (1458268)|10.9.1.0 - (1344872)", tester.getBoth()); |
| } |
| |
| @Stateless |
| public static class DataSourceTester { |
| |
| @Resource(name = "DatabaseOne") |
| DataSource dataSourceOne; |
| |
| @Resource(name = "DatabaseTwo") |
| DataSource dataSourceTwo; |
| |
| public String getOne() throws Exception { |
| return getVersion(dataSourceOne); |
| } |
| |
| public String getTwo() throws Exception { |
| return getVersion(dataSourceTwo); |
| } |
| |
| public String getBoth() throws Exception { |
| return getOne() + "|" + getTwo(); |
| } |
| |
| private static String getVersion(final DataSource ds) throws SQLException { |
| Connection con = null; |
| try { |
| con = ds.getConnection(); |
| final DatabaseMetaData md = con.getMetaData(); |
| return md.getDriverVersion(); |
| } finally { |
| if (con != null) { |
| con.close(); |
| } |
| } |
| } |
| } |
| }</code></pre> |
| </div> |
| </div> |
| </div> |
| </div> |
| <div class="sect1"> |
| <h2 id="_running">Running</h2> |
| <div class="sectionbody"> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre class="highlight"><code class="language-console" data-lang="console">------------------------------------------------------- |
| T E S T S |
| ------------------------------------------------------- |
| Running org.superbiz.AlternateDataSourceTest |
| Apr 17, 2014 2:19:45 PM org.apache.openejb.arquillian.common.Setup findHome |
| INFO: Unable to find home in: C:\dev\svn\tomee\examples\datasource-versioning\target\apache-tomee-remote |
| Apr 17, 2014 2:19:45 PM org.apache.openejb.arquillian.common.MavenCache getArtifact |
| INFO: Downloading org.apache.openejb:apache-tomee:1.6.1-SNAPSHOT:zip:webprofile please wait... |
| Apr 17, 2014 2:19:45 PM org.apache.openejb.arquillian.common.Zips unzip |
| INFO: Extracting 'C:\Users\Andy\.m2\repository\org\apache\openejb\apache-tomee\1.6.1-SNAPSHOT\apache-tomee-1.6.1-SNAPSHOT-webprofile.zip' to 'C:\dev\svn\tomee\examples\datasource-versioning\target\apache-tomee-remote' |
| Apr 17, 2014 2:19:47 PM org.apache.tomee.arquillian.remote.RemoteTomEEContainer configure |
| INFO: Downloaded container to: C:\dev\svn\tomee\examples\datasource-versioning\target\apache-tomee-remote\apache-tomee-webprofile-1.6.1-SNAPSHOT |
| INFO - The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files\Java\jdk1.7.0_45\jre\bin;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Windows Live\Shared;C:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-Static;C:\Program Files\SlikSvn\bin;C:\dev\apache-maven-3.2.1\bin;C:\dev\apache-ant-1.9.3\bin;C:\Program Files (x86)\Git\cmd;C:\Program Files (x86)\Git\bin;C:\Program Files\TortoiseGit\bin;C:\Program Files\TortoiseSVN\bin;. |
| INFO - Initializing ProtocolHandler ["http-bio-55243"] |
| INFO - Initializing ProtocolHandler ["ajp-bio-55245"] |
| INFO - Using 'openejb.jdbc.datasource-creator=org.apache.tomee.jdbc.TomEEDataSourceCreator' |
| INFO - Optional service not installed: org.apache.tomee.webservices.TomeeJaxRsService |
| INFO - Optional service not installed: org.apache.tomee.webservices.TomeeJaxWsService |
| INFO - ******************************************************************************** |
| INFO - OpenEJB http://tomee.apache.org/ |
| INFO - Startup: Thu Apr 17 14:19:55 CEST 2014 |
| INFO - Copyright 1999-2013 (C) Apache OpenEJB Project, All Rights Reserved. |
| INFO - Version: 7.0.0-SNAPSHOT |
| INFO - Build date: 20140417 |
| INFO - Build time: 01:37 |
| INFO - ******************************************************************************** |
| INFO - openejb.home = C:\dev\svn\tomee\examples\datasource-versioning\target\apache-tomee-remote\apache-tomee-webprofile-1.6.1-SNAPSHOT |
| INFO - openejb.base = C:\dev\svn\tomee\examples\datasource-versioning\target\apache-tomee-remote\apache-tomee-webprofile-1.6.1-SNAPSHOT |
| INFO - Created new singletonService org.apache.openejb.cdi.ThreadSingletonServiceImpl@22c2e2dd |
| INFO - Succeeded in installing singleton service |
| INFO - openejb configuration file is 'C:\dev\svn\tomee\examples\datasource-versioning\target\apache-tomee-remote\apache-tomee-webprofile-1.6.1-SNAPSHOT\conf\tomee.xml' |
| INFO - Configuring Service(id=Tomcat Security Service, type=SecurityService, provider-id=Tomcat Security Service) |
| INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager) |
| INFO - Configuring Service(id=DatabaseOne, type=Resource, provider-id=Default JDBC Database) |
| INFO - Configuring Service(id=DatabaseTwo, type=Resource, provider-id=Default JDBC Database) |
| INFO - Using 'openejb.system.apps=true' |
| INFO - Configuring enterprise application: openejb |
| INFO - Using openejb.deploymentId.format '{ejbName}' |
| INFO - Auto-deploying ejb openejb/Deployer: EjbDeployment(deployment-id=openejb/Deployer) |
| INFO - Auto-deploying ejb openejb/ConfigurationInfo: EjbDeployment(deployment-id=openejb/ConfigurationInfo) |
| INFO - Auto-deploying ejb MEJB: EjbDeployment(deployment-id=MEJB) |
| INFO - Configuring Service(id=Default Stateless Container, type=Container, provider-id=Default Stateless Container) |
| INFO - Auto-creating a container for bean openejb/Deployer: Container(type=STATELESS, id=Default Stateless Container) |
| INFO - Enterprise application "openejb" loaded. |
| INFO - Creating TransactionManager(id=Default Transaction Manager) |
| INFO - Creating SecurityService(id=Tomcat Security Service) |
| INFO - Creating Resource(id=DatabaseOne) |
| INFO - Disabling testOnBorrow since no validation query is provided |
| INFO - Creating Resource(id=DatabaseTwo) |
| INFO - Disabling testOnBorrow since no validation query is provided |
| INFO - Creating Container(id=Default Stateless Container) |
| INFO - Assembling app: openejb |
| INFO - Using 'openejb.jndiname.format={deploymentId}{interfaceType.openejbLegacyName}' |
| INFO - Jndi(name=openejb/DeployerBusinessRemote) --> Ejb(deployment-id=openejb/Deployer) |
| INFO - Jndi(name=global/openejb/openejb/Deployer!org.apache.openejb.assembler.Deployer) --> Ejb(deployment-id=openejb/Deployer) |
| INFO - Jndi(name=global/openejb/openejb/Deployer) --> Ejb(deployment-id=openejb/Deployer) |
| INFO - Jndi(name=openejb/ConfigurationInfoBusinessRemote) --> Ejb(deployment-id=openejb/ConfigurationInfo) |
| INFO - Jndi(name=global/openejb/openejb/ConfigurationInfo!org.apache.openejb.assembler.classic.cmd.ConfigurationInfo) --> Ejb(deployment-id=openejb/ConfigurationInfo) |
| INFO - Jndi(name=global/openejb/openejb/ConfigurationInfo) --> Ejb(deployment-id=openejb/ConfigurationInfo) |
| INFO - Jndi(name=MEJB) --> Ejb(deployment-id=MEJB) |
| INFO - Jndi(name=global/openejb/MEJB!javax.management.j2ee.ManagementHome) --> Ejb(deployment-id=MEJB) |
| INFO - Jndi(name=global/openejb/MEJB) --> Ejb(deployment-id=MEJB) |
| INFO - Created Ejb(deployment-id=openejb/Deployer, ejb-name=openejb/Deployer, container=Default Stateless Container) |
| INFO - Created Ejb(deployment-id=MEJB, ejb-name=MEJB, container=Default Stateless Container) |
| INFO - Created Ejb(deployment-id=openejb/ConfigurationInfo, ejb-name=openejb/ConfigurationInfo, container=Default Stateless Container) |
| INFO - Started Ejb(deployment-id=openejb/Deployer, ejb-name=openejb/Deployer, container=Default Stateless Container) |
| INFO - Started Ejb(deployment-id=MEJB, ejb-name=MEJB, container=Default Stateless Container) |
| INFO - Started Ejb(deployment-id=openejb/ConfigurationInfo, ejb-name=openejb/ConfigurationInfo, container=Default Stateless Container) |
| INFO - Deployed MBean(openejb.user.mbeans:application=openejb,group=org.apache.openejb.assembler.monitoring,name=JMXDeployer) |
| INFO - Deployed Application(path=openejb) |
| INFO - ** Bound Services ** |
| INFO - NAME IP PORT |
| INFO - ------- |
| INFO - Ready! |
| INFO - Initialization processed in 7959 ms |
| INFO - Importing a Tomcat Resource with id 'UserDatabase' of type 'org.apache.catalina.UserDatabase'. |
| INFO - Creating Resource(id=UserDatabase) |
| INFO - Starting service Catalina |
| INFO - Starting Servlet Engine: Apache Tomcat (TomEE)/7.0.53 (1.6.1-SNAPSHOT) |
| INFO - Starting ProtocolHandler ["http-bio-55243"] |
| INFO - Starting ProtocolHandler ["ajp-bio-55245"] |
| INFO - Server startup in 288 ms |
| WARNING - StandardServer.await: Invalid command '' received |
| Apr 17, 2014 2:20:04 PM org.apache.openejb.client.EventLogger log |
| INFO: RemoteInitialContextCreated{providerUri=http://localhost:55243/tomee/ejb} |
| INFO - Extracting jar: C:\dev\svn\tomee\examples\datasource-versioning\target\arquillian-test-working-dir\0\test.war |
| INFO - Extracted path: C:\dev\svn\tomee\examples\datasource-versioning\target\arquillian-test-working-dir\0\test |
| INFO - using default host: localhost |
| INFO - ------------------------- localhost -> /test |
| INFO - Using 'openejb.session.manager=org.apache.tomee.catalina.session.QuickSessionManager' |
| INFO - Configuring enterprise application: C:\dev\svn\tomee\examples\datasource-versioning\target\arquillian-test-working-dir\0\test |
| INFO - Auto-deploying ejb DataSourceTester: EjbDeployment(deployment-id=DataSourceTester) |
| INFO - Auto-linking resource-ref 'java:comp/env/DatabaseTwo' in bean DataSourceTester to Resource(id=DatabaseTwo) |
| INFO - Auto-linking resource-ref 'java:comp/env/DatabaseOne' in bean DataSourceTester to Resource(id=DatabaseOne) |
| INFO - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container) |
| INFO - Auto-creating a container for bean org.superbiz.AlternateDataSourceTest: Container(type=MANAGED, id=Default Managed Container) |
| INFO - Creating Container(id=Default Managed Container) |
| INFO - Using directory C:\dev\svn\tomee\examples\datasource-versioning\target\apache-tomee-remote\apache-tomee-webprofile-1.6.1-SNAPSHOT\temp for stateful session passivation |
| INFO - Enterprise application "C:\dev\svn\tomee\examples\datasource-versioning\target\arquillian-test-working-dir\0\test" loaded. |
| INFO - Assembling app: C:\dev\svn\tomee\examples\datasource-versioning\target\arquillian-test-working-dir\0\test |
| INFO - Jndi(name=DataSourceTesterLocalBean) --> Ejb(deployment-id=DataSourceTester) |
| INFO - Jndi(name=global/test/DataSourceTester!org.superbiz.AlternateDataSourceTest$DataSourceTester) --> Ejb(deployment-id=DataSourceTester) |
| INFO - Jndi(name=global/test/DataSourceTester) --> Ejb(deployment-id=DataSourceTester) |
| INFO - Existing thread singleton service in SystemInstance(): org.apache.openejb.cdi.ThreadSingletonServiceImpl@22c2e2dd |
| INFO - OpenWebBeans Container is starting... |
| INFO - Adding OpenWebBeansPlugin : [CdiPlugin] |
| INFO - All injection points were validated successfully. |
| INFO - OpenWebBeans Container has started, it took 203 ms. |
| INFO - Created Ejb(deployment-id=DataSourceTester, ejb-name=DataSourceTester, container=Default Stateless Container) |
| INFO - Started Ejb(deployment-id=DataSourceTester, ejb-name=DataSourceTester, container=Default Stateless Container) |
| INFO - Deployed Application(path=C:\dev\svn\tomee\examples\datasource-versioning\target\arquillian-test-working-dir\0\test) |
| Apr 17, 2014 2:20:11 PM org.apache.openejb.client.EventLogger log |
| INFO: RemoteInitialContextCreated{providerUri=http://localhost:55243/tomee/ejb} |
| INFO - Undeploying app: C:\dev\svn\tomee\examples\datasource-versioning\target\arquillian-test-working-dir\0\test |
| Apr 17, 2014 2:20:13 PM org.apache.openejb.arquillian.common.TomEEContainer undeploy |
| INFO: cleaning C:\dev\svn\tomee\examples\datasource-versioning\target\arquillian-test-working-dir\0 |
| Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 30.155 sec |
| Running org.superbiz.AlternateDriverJarTest |
| Apr 17, 2014 2:20:13 PM org.apache.openejb.config.ConfigUtils searchForConfiguration |
| INFO: Cannot find the configuration file [conf/openejb.xml]. Will attempt to create one for the beans deployed. |
| Apr 17, 2014 2:20:13 PM org.apache.openejb.config.ConfigurationFactory configureService |
| INFO: Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service) |
| Apr 17, 2014 2:20:13 PM org.apache.openejb.config.ConfigurationFactory configureService |
| INFO: Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager) |
| Apr 17, 2014 2:20:13 PM org.apache.openejb.config.ConfigurationFactory configureService |
| INFO: Configuring Service(id=JdbcTwo, type=Resource, provider-id=Default JDBC Database) |
| Apr 17, 2014 2:20:13 PM org.apache.openejb.config.ConfigurationFactory configureService |
| INFO: Configuring Service(id=JdbcOne, type=Resource, provider-id=Default JDBC Database) |
| Apr 17, 2014 2:20:13 PM org.apache.openejb.assembler.classic.Assembler createRecipe |
| INFO: Creating TransactionManager(id=Default Transaction Manager) |
| Apr 17, 2014 2:20:14 PM org.apache.openejb.assembler.classic.Assembler createRecipe |
| INFO: Creating SecurityService(id=Default Security Service) |
| Apr 17, 2014 2:20:14 PM org.apache.openejb.assembler.classic.Assembler createRecipe |
| INFO: Creating Resource(id=JdbcTwo) |
| Apr 17, 2014 2:20:15 PM org.apache.openejb.assembler.classic.Assembler createRecipe |
| INFO: Creating Resource(id=JdbcOne) |
| Apr 17, 2014 2:20:16 PM org.apache.openejb.config.ConfigurationFactory configureApplication |
| INFO: Configuring enterprise application: C:\dev\svn\tomee\examples\datasource-versioning\AlternateDriverJarTest |
| Apr 17, 2014 2:20:16 PM org.apache.openejb.config.ConfigurationFactory configureService |
| INFO: Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container) |
| Apr 17, 2014 2:20:16 PM org.apache.openejb.config.AutoConfig createContainer |
| INFO: Auto-creating a container for bean org.superbiz.AlternateDriverJarTest: Container(type=MANAGED, id=Default Managed Container) |
| Apr 17, 2014 2:20:16 PM org.apache.openejb.assembler.classic.Assembler createRecipe |
| INFO: Creating Container(id=Default Managed Container) |
| Apr 17, 2014 2:20:16 PM org.apache.openejb.core.managed.SimplePassivater init |
| INFO: Using directory C:\Users\Andy\AppData\Local\Temp for stateful session passivation |
| Apr 17, 2014 2:20:16 PM org.apache.openejb.config.ConfigurationFactory configureService |
| INFO: Configuring Service(id=Default Singleton Container, type=Container, provider-id=Default Singleton Container) |
| Apr 17, 2014 2:20:16 PM org.apache.openejb.config.AutoConfig createContainer |
| INFO: Auto-creating a container for bean JdbcOne: Container(type=SINGLETON, id=Default Singleton Container) |
| Apr 17, 2014 2:20:16 PM org.apache.openejb.assembler.classic.Assembler createRecipe |
| INFO: Creating Container(id=Default Singleton Container) |
| Apr 17, 2014 2:20:16 PM org.apache.openejb.config.AutoConfig processResourceRef |
| INFO: Auto-linking resource-ref 'java:comp/env/JdbcOne' in bean JdbcOne to Resource(id=JdbcOne) |
| Apr 17, 2014 2:20:16 PM org.apache.openejb.config.AutoConfig processResourceRef |
| INFO: Auto-linking resource-ref 'java:comp/env/JdbcTwo' in bean JdbcTwo to Resource(id=JdbcTwo) |
| Apr 17, 2014 2:20:16 PM org.apache.openejb.config.AppInfoBuilder build |
| INFO: Enterprise application "C:\dev\svn\tomee\examples\datasource-versioning\AlternateDriverJarTest" loaded. |
| Apr 17, 2014 2:20:16 PM org.apache.openejb.assembler.classic.Assembler createApplication |
| INFO: Assembling app: C:\dev\svn\tomee\examples\datasource-versioning\AlternateDriverJarTest |
| Apr 17, 2014 2:20:16 PM org.apache.openejb.assembler.classic.JndiBuilder bind |
| INFO: Jndi(name=JdbcOneLocalBean) --> Ejb(deployment-id=JdbcOne) |
| Apr 17, 2014 2:20:16 PM org.apache.openejb.assembler.classic.JndiBuilder bind |
| INFO: Jndi(name=global/AlternateDriverJarTest/app/JdbcOne!org.superbiz.AlternateDriverJarTest$JdbcOne) --> Ejb(deployment-id=JdbcOne) |
| Apr 17, 2014 2:20:16 PM org.apache.openejb.assembler.classic.JndiBuilder bind |
| INFO: Jndi(name=global/AlternateDriverJarTest/app/JdbcOne) --> Ejb(deployment-id=JdbcOne) |
| Apr 17, 2014 2:20:16 PM org.apache.openejb.assembler.classic.JndiBuilder bind |
| INFO: Jndi(name=JdbcTwoLocalBean) --> Ejb(deployment-id=JdbcTwo) |
| Apr 17, 2014 2:20:16 PM org.apache.openejb.assembler.classic.JndiBuilder bind |
| INFO: Jndi(name=global/AlternateDriverJarTest/app/JdbcTwo!org.superbiz.AlternateDriverJarTest$JdbcTwo) --> Ejb(deployment-id=JdbcTwo) |
| Apr 17, 2014 2:20:16 PM org.apache.openejb.assembler.classic.JndiBuilder bind |
| INFO: Jndi(name=global/AlternateDriverJarTest/app/JdbcTwo) --> Ejb(deployment-id=JdbcTwo) |
| Apr 17, 2014 2:20:16 PM org.apache.openejb.cdi.CdiBuilder initializeOWB |
| INFO: Created new singletonService org.apache.openejb.cdi.ThreadSingletonServiceImpl@5ddd4e70 |
| Apr 17, 2014 2:20:16 PM org.apache.openejb.cdi.CdiBuilder initializeOWB |
| INFO: Succeeded in installing singleton service |
| Apr 17, 2014 2:20:17 PM org.apache.openejb.cdi.OpenEJBLifecycle startApplication |
| INFO: OpenWebBeans Container is starting... |
| Apr 17, 2014 2:20:17 PM org.apache.webbeans.plugins.PluginLoader startUp |
| INFO: Adding OpenWebBeansPlugin : [CdiPlugin] |
| Apr 17, 2014 2:20:17 PM org.apache.webbeans.config.BeansDeployer validateInjectionPoints |
| INFO: All injection points were validated successfully. |
| Apr 17, 2014 2:20:17 PM org.apache.openejb.cdi.OpenEJBLifecycle startApplication |
| INFO: OpenWebBeans Container has started, it took 223 ms. |
| Apr 17, 2014 2:20:17 PM org.apache.openejb.assembler.classic.Assembler startEjbs |
| INFO: Created Ejb(deployment-id=JdbcTwo, ejb-name=JdbcTwo, container=Default Singleton Container) |
| Apr 17, 2014 2:20:17 PM org.apache.openejb.assembler.classic.Assembler startEjbs |
| INFO: Created Ejb(deployment-id=JdbcOne, ejb-name=JdbcOne, container=Default Singleton Container) |
| Apr 17, 2014 2:20:17 PM org.apache.openejb.assembler.classic.Assembler startEjbs |
| INFO: Started Ejb(deployment-id=JdbcTwo, ejb-name=JdbcTwo, container=Default Singleton Container) |
| Apr 17, 2014 2:20:17 PM org.apache.openejb.assembler.classic.Assembler startEjbs |
| INFO: Started Ejb(deployment-id=JdbcOne, ejb-name=JdbcOne, container=Default Singleton Container) |
| Apr 17, 2014 2:20:17 PM org.apache.openejb.assembler.classic.Assembler createApplication |
| INFO: Deployed Application(path=C:\dev\svn\tomee\examples\datasource-versioning\AlternateDriverJarTest) |
| Apr 17, 2014 2:20:20 PM org.apache.openejb.assembler.classic.Assembler destroyApplication |
| INFO: Undeploying app: C:\dev\svn\tomee\examples\datasource-versioning\AlternateDriverJarTest |
| Apr 17, 2014 2:20:20 PM org.apache.openejb.assembler.classic.Assembler destroyResource |
| INFO: Closing DataSource: JdbcTwo |
| Apr 17, 2014 2:20:20 PM org.apache.openejb.assembler.classic.Assembler destroyResource |
| INFO: Closing DataSource: JdbcOne |
| Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 7.857 sec |
| INFO - A valid shutdown command was received via the shutdown port. Stopping the Server instance. |
| INFO - Pausing ProtocolHandler ["http-bio-55243"] |
| INFO - Pausing ProtocolHandler ["ajp-bio-55245"] |
| INFO - Stopping service Catalina |
| INFO - Stopping ProtocolHandler ["http-bio-55243"] |
| INFO - Stopping ProtocolHandler ["ajp-bio-55245"] |
| INFO - Stopping server services |
| INFO - Undeploying app: openejb |
| INFO - Closing DataSource: DatabaseOne |
| INFO - Closing DataSource: DatabaseTwo |
| INFO - Destroying ProtocolHandler ["http-bio-55243"] |
| INFO - Destroying ProtocolHandler ["ajp-bio-55245"] |
| |
| Results : |
| |
| Tests run: 4, Failures: 0, Errors: 0, Skipped: 0</code></pre> |
| </div> |
| </div> |
| </div> |
| </div> |
| <div class="sect1"> |
| <h2 id="_apis_used">APIs Used</h2> |
| <div class="sectionbody"> |
| <div class="ulist"> |
| <ul> |
| <li> |
| <p><a href="../../tomee-9.0/javadoc/org/apache/openejb/jee/EjbJar.html">org.apache.openejb.jee.EjbJar</a></p> |
| </li> |
| <li> |
| <p><a href="../../tomee-9.0/javadoc/org/apache/openejb/jee/SingletonBean.html">org.apache.openejb.jee.SingletonBean</a></p> |
| </li> |
| <li> |
| <p><a href="../../tomee-9.0/javadoc/org/apache/openejb/junit/ApplicationComposer.html">org.apache.openejb.junit.ApplicationComposer</a></p> |
| </li> |
| <li> |
| <p><a href="../../tomee-9.0/javadoc/org/apache/openejb/testing/Configuration.html">org.apache.openejb.testing.Configuration</a></p> |
| </li> |
| <li> |
| <p><a href="../../tomee-9.0/javadoc/org/apache/openejb/testing/Module.html">org.apache.openejb.testing.Module</a></p> |
| </li> |
| <li> |
| <p><a href="../../jakartaee-10.0/javadoc/jakarta/annotation/Resource.html">jakarta.annotation.Resource</a></p> |
| </li> |
| <li> |
| <p><a href="../../jakartaee-10.0/javadoc/jakarta/ejb/EJB.html">jakarta.ejb.EJB</a></p> |
| </li> |
| <li> |
| <p><a href="../../jakartaee-10.0/javadoc/jakarta/ejb/LocalBean.html">jakarta.ejb.LocalBean</a></p> |
| </li> |
| <li> |
| <p><a href="../../jakartaee-10.0/javadoc/jakarta/ejb/Singleton.html">jakarta.ejb.Singleton</a></p> |
| </li> |
| <li> |
| <p><a href="../../jakartaee-10.0/javadoc/jakarta/ejb/Stateless.html">jakarta.ejb.Stateless</a></p> |
| </li> |
| </ul> |
| </div> |
| </div> |
| </div> |
| </div> |
| |
| </div> |
| </div> |
| <div style="margin-bottom: 30px;"></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> |
| </ul> |
| <h5 class="light regular light-white"> |
| <a href="../../privacy-policy.html" class="white">Privacy Policy</a> |
| </h5> |
| </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="https://apache.org/security" target="_blank" class="regular light-white">Apache Security</a></li> |
| <li><a href="https://apache.org/security/projects.html" target="_blank" class="regular light-white">Security Projects</a></li> |
| <li><a href="https://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 © 1999-2022 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> |
| |