You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by an...@apache.org on 2010/09/21 22:45:47 UTC

svn commit: r999631 - in /openejb/trunk/openejb3/examples/quartz-app: ./ quartz-beans/ quartz-beans/src/main/java/org/superbiz/quartz/ quartz-beans/src/test/java/org/superbiz/quartz/ quartz-ra/ quartz-ra/src/main/resources/META-INF/

Author: andygumbrecht
Date: Tue Sep 21 20:45:47 2010
New Revision: 999631

URL: http://svn.apache.org/viewvc?rev=999631&view=rev
Log:
Added test case for OpenEJB specific Scheduler lookup.

Modified:
    openejb/trunk/openejb3/examples/quartz-app/pom.xml
    openejb/trunk/openejb3/examples/quartz-app/quartz-beans/pom.xml
    openejb/trunk/openejb3/examples/quartz-app/quartz-beans/src/main/java/org/superbiz/quartz/QuartzMdb.java
    openejb/trunk/openejb3/examples/quartz-app/quartz-beans/src/test/java/org/superbiz/quartz/QuartzMdbTest.java
    openejb/trunk/openejb3/examples/quartz-app/quartz-ra/pom.xml
    openejb/trunk/openejb3/examples/quartz-app/quartz-ra/src/main/resources/META-INF/ra.xml

Modified: openejb/trunk/openejb3/examples/quartz-app/pom.xml
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/examples/quartz-app/pom.xml?rev=999631&r1=999630&r2=999631&view=diff
==============================================================================
--- openejb/trunk/openejb3/examples/quartz-app/pom.xml (original)
+++ openejb/trunk/openejb3/examples/quartz-app/pom.xml Tue Sep 21 20:45:47 2010
@@ -2,78 +2,71 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 	 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
 
-    <parent>
+  <modelVersion>4.0.0</modelVersion>
+
+  <groupId>org.superbiz.quartz</groupId>
+  <artifactId>quartz-app</artifactId>
+  <version>1.0-SNAPSHOT</version>
+  <packaging>pom</packaging>
+  <name>OpenEJB :: Examples :: Quartz Application</name>
+
+  <properties>
+    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+  </properties>
+
+  <modules>
+    <module>quartz-ra</module>
+    <module>quartz-beans</module>
+  </modules>
+
+  <repositories>
+    <repository>
+      <id>apache-m2-snapshot</id>
+      <name>Apache Snapshot Repository</name>
+      <url>http://repository.apache.org/snapshots/</url>
+    </repository>
+  </repositories>
+
+  <build>
+    <pluginManagement>
+      <plugins>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-compiler-plugin</artifactId>
+          <version>2.3.2</version>
+          <configuration>
+            <source>1.6</source>
+            <target>1.6</target>
+          </configuration>
+        </plugin>
+      </plugins>
+    </pluginManagement>
+  </build>
+
+  <dependencyManagement>
+    <dependencies>
+      <dependency>
+        <groupId>org.quartz-scheduler</groupId>
+        <artifactId>quartz</artifactId>
+        <version>1.8.4</version>
+      </dependency>
+      <dependency>
         <groupId>org.apache.openejb</groupId>
-        <artifactId>examples</artifactId>
+        <artifactId>openejb-core</artifactId>
         <version>3.2-SNAPSHOT</version>
-    </parent>
-
-    <modelVersion>4.0.0</modelVersion>
-
-    <groupId>org.superbiz.quartz</groupId>
-    <artifactId>quartz-app</artifactId>
-    <version>1.0-SNAPSHOT</version>
-    <packaging>pom</packaging>
-    <name>Quartz App</name>
-
-    <modules>
-        <module>quartz-ra</module>
-        <module>quartz-beans</module>
-    </modules>
-
-    <repositories>
-        <repository>
-            <id>apache-m2-snapshot</id>
-            <name>Apache Snapshot Repository</name>
-            <url>http://people.apache.org/repo/m2-snapshot-repository/</url>
-        </repository>
-    </repositories>
-
-    <dependencyManagement>
-        <dependencies>
-            <dependency>
-                <groupId>quartz</groupId>
-                <artifactId>quartz</artifactId>
-                <version>1.5.2</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.openejb</groupId>
-                <artifactId>openejb-core</artifactId>
-                <version>3.2-SNAPSHOT</version>
-            </dependency>
-        </dependencies>
-    </dependencyManagement>
-
-    <build>
-        <pluginManagement>
-            <plugins>
-                <plugin>
-                    <groupId>org.apache.maven.plugins</groupId>
-                    <artifactId>maven-compiler-plugin</artifactId>
-                    <version>2.0.2</version>
-                    <configuration>
-                        <source>1.6</source>
-                        <target>1.6</target>
-                    </configuration>
-                </plugin>
-            </plugins>
-        </pluginManagement>
-    </build>
-
-  <!--
-  This section allows you to configure where to publish libraries for sharing.
-  It is not required and may be deleted.  For more information see:
-  http://maven.apache.org/plugins/maven-deploy-plugin/
-  -->
-    <distributionManagement>
-        <repository>
-            <id>localhost</id>
-            <url>file://${basedir}/target/repo/</url>
-        </repository>
-        <snapshotRepository>
-            <id>localhost</id>
-            <url>file://${basedir}/target/snapshot-repo/</url>
-        </snapshotRepository>
-    </distributionManagement>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.openejb</groupId>
+        <artifactId>javaee-api</artifactId>
+        <version>6.0-SNAPSHOT</version>
+      </dependency>
+      <dependency>
+        <groupId>junit</groupId>
+        <artifactId>junit</artifactId>
+        <version>4.8.1</version>
+        <scope>test</scope>
+      </dependency>
+    </dependencies>
+  </dependencyManagement>  
   
 </project>

Modified: openejb/trunk/openejb3/examples/quartz-app/quartz-beans/pom.xml
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/examples/quartz-app/quartz-beans/pom.xml?rev=999631&r1=999630&r2=999631&view=diff
==============================================================================
--- openejb/trunk/openejb3/examples/quartz-app/quartz-beans/pom.xml (original)
+++ openejb/trunk/openejb3/examples/quartz-app/quartz-beans/pom.xml Tue Sep 21 20:45:47 2010
@@ -6,58 +6,74 @@
     <artifactId>quartz-app</artifactId>
     <version>1.0-SNAPSHOT</version>
   </parent>
+
   <modelVersion>4.0.0</modelVersion>
   <artifactId>quartz-beans</artifactId>
   <packaging>jar</packaging>
   <name>Quartz Beans</name>
 
+  <build>
+    <pluginManagement>
+      <plugins>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-surefire-plugin</artifactId>
+          <version>2.6</version>
+
+        </plugin>
+      </plugins>
+    </pluginManagement>
+  </build>
+
   <dependencies>
     <dependency>
       <groupId>org.superbiz.quartz</groupId>
       <artifactId>quartz-ra</artifactId>
-      <version>${project.version}</version>
+      <version>1.0-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
-    
     <dependency>
-      <groupId>quartz</groupId>
+      <groupId>org.quartz-scheduler</groupId>
       <artifactId>quartz</artifactId>
     </dependency>
     <dependency>
       <groupId>junit</groupId>
       <artifactId>junit</artifactId>
-      <version>4.4</version>
       <scope>test</scope>
     </dependency>
     <dependency>
       <groupId>log4j</groupId>
       <artifactId>log4j</artifactId>
-      <version>1.2.15</version>
+      <version>1.2.16</version>
+      <scope>test</scope>
       <exclusions>
-	<exclusion>
-	  <groupId>com.sun.jdmk</groupId>
-	  <artifactId>jmxtools</artifactId>
-	</exclusion>
-	<exclusion>
-	  <groupId>com.sun.jmx</groupId>
-	  <artifactId>jmxri</artifactId>
-	</exclusion>
-	<exclusion>
-	  <groupId>javax.jms</groupId>
-	  <artifactId>jms</artifactId>
-	</exclusion>
+        <exclusion>
+          <groupId>javax.mail</groupId>
+          <artifactId>mail</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>org.apache.geronimo.specs</groupId>
+          <artifactId>geronimo-jms_1.1_spec</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>oro</groupId>
+          <artifactId>oro</artifactId>
+        </exclusion>
       </exclusions>
     </dependency>
     <dependency>
       <groupId>org.apache.openejb</groupId>
       <artifactId>javaee-api</artifactId>
-      <version>6.0-SNAPSHOT</version>
       <scope>provided</scope>
     </dependency>
+	
+    <!--
+    Note that <scope>test</scope> is NOT specified here because some OpenEJB specific classes
+    are used in the JobBean example.
+    -->
     <dependency>
       <groupId>org.apache.openejb</groupId>
       <artifactId>openejb-core</artifactId>
-      <scope>test</scope>
     </dependency>
   </dependencies>
 

Modified: openejb/trunk/openejb3/examples/quartz-app/quartz-beans/src/main/java/org/superbiz/quartz/QuartzMdb.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/examples/quartz-app/quartz-beans/src/main/java/org/superbiz/quartz/QuartzMdb.java?rev=999631&r1=999630&r2=999631&view=diff
==============================================================================
--- openejb/trunk/openejb3/examples/quartz-app/quartz-beans/src/main/java/org/superbiz/quartz/QuartzMdb.java (original)
+++ openejb/trunk/openejb3/examples/quartz-app/quartz-beans/src/main/java/org/superbiz/quartz/QuartzMdb.java Tue Sep 21 20:45:47 2010
@@ -19,16 +19,15 @@ package org.superbiz.quartz;
 import org.quartz.Job;
 import org.quartz.JobExecutionContext;
 import org.quartz.JobExecutionException;
-import org.apache.log4j.Logger;
 
 import javax.ejb.ActivationConfigProperty;
 import javax.ejb.MessageDriven;
 
-@MessageDriven(activationConfig = {@ActivationConfigProperty(propertyName = "cronExpression", propertyValue = "* * * * * ?")})
+@MessageDriven(activationConfig = {
+    @ActivationConfigProperty(propertyName = "cronExpression", propertyValue = "* * * * * ?")})
 public class QuartzMdb implements Job {
 
-    private Logger logger = Logger.getLogger(getClass());
-
+    @Override
     public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
         System.out.println("Executing Job");
     }

Modified: openejb/trunk/openejb3/examples/quartz-app/quartz-beans/src/test/java/org/superbiz/quartz/QuartzMdbTest.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/examples/quartz-app/quartz-beans/src/test/java/org/superbiz/quartz/QuartzMdbTest.java?rev=999631&r1=999630&r2=999631&view=diff
==============================================================================
--- openejb/trunk/openejb3/examples/quartz-app/quartz-beans/src/test/java/org/superbiz/quartz/QuartzMdbTest.java (original)
+++ openejb/trunk/openejb3/examples/quartz-app/quartz-beans/src/test/java/org/superbiz/quartz/QuartzMdbTest.java Tue Sep 21 20:45:47 2010
@@ -16,26 +16,49 @@
  */
 package org.superbiz.quartz;
 
-import junit.framework.TestCase;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
+import java.util.Date;
 import javax.naming.Context;
 import javax.naming.InitialContext;
 import java.util.Properties;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+public class QuartzMdbTest {
 
-public class QuartzMdbTest extends TestCase {
+    private static InitialContext initialContext = null;
 
-    public void test() throws Exception {
+    @BeforeClass
+    public static void beforeClass() throws Exception {
 
-        Properties properties = new Properties();
-        properties.setProperty(Context.INITIAL_CONTEXT_FACTORY, "org.apache.openejb.client.LocalInitialContextFactory");
+        if (null == initialContext) {
+            Properties properties = new Properties();
+            properties.setProperty(Context.INITIAL_CONTEXT_FACTORY, "org.apache.openejb.client.LocalInitialContextFactory");
 
-        InitialContext initialContext = new InitialContext(properties);
+            initialContext = new InitialContext(properties);
+        }
+    }
 
-        // Sleep five seconds and give quartz a chance to execute our MDB
-        Thread.sleep(5000);
+    @AfterClass
+    public static void afterClass() throws Exception {
+        if (null != initialContext) {
+            initialContext.close();
+            initialContext = null;
+        }
     }
 
+    @Test
+    public void testLookup() throws Exception {
 
+        final JobScheduler jbi = (JobScheduler) initialContext.lookup("JobBeanLocal");
+        final Date d = jbi.createJob();
+        Thread.sleep(500);
+        System.out.println("Scheduled test job should have run at: " + d.toString());
+    }
+
+    @Test
+    public void testMdb() throws Exception {
+        // Sleep 3 seconds and give quartz a chance to execute our MDB
+        Thread.sleep(3000);
+    }
 }

Modified: openejb/trunk/openejb3/examples/quartz-app/quartz-ra/pom.xml
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/examples/quartz-app/quartz-ra/pom.xml?rev=999631&r1=999630&r2=999631&view=diff
==============================================================================
--- openejb/trunk/openejb3/examples/quartz-app/quartz-ra/pom.xml (original)
+++ openejb/trunk/openejb3/examples/quartz-app/quartz-ra/pom.xml Tue Sep 21 20:45:47 2010
@@ -21,7 +21,6 @@
         <dependency>
             <groupId>org.quartz-scheduler</groupId>
             <artifactId>quartz</artifactId>
-            <version>${quartz.version}</version>
         </dependency>
         <dependency>
             <groupId>org.apache.openejb</groupId>

Modified: openejb/trunk/openejb3/examples/quartz-app/quartz-ra/src/main/resources/META-INF/ra.xml
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/examples/quartz-app/quartz-ra/src/main/resources/META-INF/ra.xml?rev=999631&r1=999630&r2=999631&view=diff
==============================================================================
--- openejb/trunk/openejb3/examples/quartz-app/quartz-ra/src/main/resources/META-INF/ra.xml (original)
+++ openejb/trunk/openejb3/examples/quartz-app/quartz-ra/src/main/resources/META-INF/ra.xml Tue Sep 21 20:45:47 2010
@@ -21,26 +21,26 @@
            http://java.sun.com/xml/ns/j2ee/connector_1_5.xsd"
            version="1.5">
 
-    <description>Quartz ResourceAdapter</description>
-    <display-name>Quartz ResourceAdapter</display-name>
+  <description>Quartz ResourceAdapter</description>
+  <display-name>Quartz ResourceAdapter</display-name>
 
-    <vendor-name>OpenEJB</vendor-name>
-    <eis-type>Quartz Adapter</eis-type>
-    <resourceadapter-version>1.0</resourceadapter-version>
+  <vendor-name>OpenEJB</vendor-name>
+  <eis-type>Quartz Adapter</eis-type>
+  <resourceadapter-version>1.0</resourceadapter-version>
 
-    <resourceadapter id="QuartzResourceAdapter">
-        <resourceadapter-class>org.apache.openejb.resource.quartz.QuartzResourceAdapter</resourceadapter-class>
+  <resourceadapter id="QuartzResourceAdapter">
+    <resourceadapter-class>org.apache.openejb.resource.quartz.QuartzResourceAdapter</resourceadapter-class>
 
-        <inbound-resourceadapter>
-            <messageadapter>
-                <messagelistener>
-                    <messagelistener-type>org.quartz.Job</messagelistener-type>
-                    <activationspec>
-                        <activationspec-class>org.apache.openejb.resource.quartz.JobSpec</activationspec-class>
-                    </activationspec>
-                </messagelistener>
-            </messageadapter>
-        </inbound-resourceadapter>
+    <inbound-resourceadapter>
+      <messageadapter>
+        <messagelistener>
+          <messagelistener-type>org.quartz.Job</messagelistener-type>
+          <activationspec>
+            <activationspec-class>org.apache.openejb.resource.quartz.JobSpec</activationspec-class>
+          </activationspec>
+        </messagelistener>
+      </messageadapter>
+    </inbound-resourceadapter>
 
-    </resourceadapter>
+  </resourceadapter>
 </connector>