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>