You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by js...@apache.org on 2007/05/23 16:57:14 UTC
svn commit: r540969 - in /activemq/camel/trunk: ./ apache-camel/
apache-camel/src/main/descriptors/
camel-core/src/main/java/org/apache/camel/impl/
camel-core/src/main/java/org/apache/camel/processor/loadbalancer/
components/ components/camel-quartz/ c...
Author: jstrachan
Date: Wed May 23 07:57:12 2007
New Revision: 540969
URL: http://svn.apache.org/viewvc?view=rev&rev=540969
Log:
added a Quartz component for creating scheduled message delivery. For more detail see: http://cwiki.apache.org/CAMEL/quartz.html
Added:
activemq/camel/trunk/components/camel-quartz/
activemq/camel/trunk/components/camel-quartz/pom.xml (with props)
activemq/camel/trunk/components/camel-quartz/src/
activemq/camel/trunk/components/camel-quartz/src/main/
activemq/camel/trunk/components/camel-quartz/src/main/java/
activemq/camel/trunk/components/camel-quartz/src/main/java/org/
activemq/camel/trunk/components/camel-quartz/src/main/java/org/apache/
activemq/camel/trunk/components/camel-quartz/src/main/java/org/apache/camel/
activemq/camel/trunk/components/camel-quartz/src/main/java/org/apache/camel/component/
activemq/camel/trunk/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/
activemq/camel/trunk/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/CamelJob.java (with props)
activemq/camel/trunk/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzComponent.java (with props)
activemq/camel/trunk/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzConsumer.java (with props)
activemq/camel/trunk/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzEndpoint.java (with props)
activemq/camel/trunk/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzExchange.java (with props)
activemq/camel/trunk/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzMessage.java (with props)
activemq/camel/trunk/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/package.html (with props)
activemq/camel/trunk/components/camel-quartz/src/main/resources/
activemq/camel/trunk/components/camel-quartz/src/main/resources/META-INF/
activemq/camel/trunk/components/camel-quartz/src/main/resources/META-INF/services/
activemq/camel/trunk/components/camel-quartz/src/main/resources/META-INF/services/org/
activemq/camel/trunk/components/camel-quartz/src/main/resources/META-INF/services/org/apache/
activemq/camel/trunk/components/camel-quartz/src/main/resources/META-INF/services/org/apache/camel/
activemq/camel/trunk/components/camel-quartz/src/main/resources/META-INF/services/org/apache/camel/component/
activemq/camel/trunk/components/camel-quartz/src/main/resources/META-INF/services/org/apache/camel/component/quartz
activemq/camel/trunk/components/camel-quartz/src/test/
activemq/camel/trunk/components/camel-quartz/src/test/java/
activemq/camel/trunk/components/camel-quartz/src/test/java/org/
activemq/camel/trunk/components/camel-quartz/src/test/java/org/apache/
activemq/camel/trunk/components/camel-quartz/src/test/java/org/apache/camel/
activemq/camel/trunk/components/camel-quartz/src/test/java/org/apache/camel/component/
activemq/camel/trunk/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/
activemq/camel/trunk/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/QuartzEndpointConfigureTest.java (with props)
activemq/camel/trunk/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/QuartzRouteTest.java (with props)
activemq/camel/trunk/components/camel-quartz/src/test/resources/
activemq/camel/trunk/components/camel-quartz/src/test/resources/log4j.properties (with props)
activemq/camel/trunk/components/camel-quartz/src/test/resources/org/
activemq/camel/trunk/components/camel-quartz/src/test/resources/org/apache/
activemq/camel/trunk/components/camel-quartz/src/test/resources/org/apache/camel/
activemq/camel/trunk/components/camel-quartz/src/test/resources/org/apache/camel/component/
activemq/camel/trunk/components/camel-quartz/src/test/resources/org/apache/camel/component/quartz/
Modified:
activemq/camel/trunk/apache-camel/pom.xml
activemq/camel/trunk/apache-camel/src/main/descriptors/unix-bin.xml
activemq/camel/trunk/apache-camel/src/main/descriptors/windows-bin.xml
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultMessage.java
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/loadbalancer/LoadBalancer.java
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/loadbalancer/LoadBalancerSupport.java
activemq/camel/trunk/components/pom.xml
activemq/camel/trunk/pom.xml
Modified: activemq/camel/trunk/apache-camel/pom.xml
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/apache-camel/pom.xml?view=diff&rev=540969&r1=540968&r2=540969
==============================================================================
--- activemq/camel/trunk/apache-camel/pom.xml (original)
+++ activemq/camel/trunk/apache-camel/pom.xml Wed May 23 07:57:12 2007
@@ -84,6 +84,10 @@
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
+ <artifactId>camel-quartz</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.camel</groupId>
<artifactId>camel-saxon</artifactId>
</dependency>
<dependency>
@@ -192,7 +196,9 @@
<goal>createbundle</goal>
</goals>
<configuration>
- <includes>camel-activemq,camel-bam,camel-core,camel-cxf,camel-file,camel-http,camel-jaxb,camel-jbi,camel-jms,camel-josql,camel-jpa,camel-mail,camel-mina,camel-rmi,camel-saxon,camel-script,camel-spring,camel-xmpp,commons-logging</includes>
+ <includes>camel-activemq,camel-bam,camel-core,camel-cxf,camel-file,camel-http,camel-jaxb,
+ camel-jbi,camel-jms,camel-josql,camel-jpa,camel-mail,camel-mina,camel-quartz,camel-rmi,
+ camel-saxon,camel-script,camel-spring,camel-xmpp,commons-logging</includes>
</configuration>
</execution>
</executions>
Modified: activemq/camel/trunk/apache-camel/src/main/descriptors/unix-bin.xml
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/apache-camel/src/main/descriptors/unix-bin.xml?view=diff&rev=540969&r1=540968&r2=540969
==============================================================================
--- activemq/camel/trunk/apache-camel/src/main/descriptors/unix-bin.xml (original)
+++ activemq/camel/trunk/apache-camel/src/main/descriptors/unix-bin.xml Wed May 23 07:57:12 2007
@@ -60,6 +60,7 @@
<include>org.apache.camel:camel-josql</include>
<include>org.apache.camel:camel-jpa</include>
<include>org.apache.camel:camel-mail</include>
+ <include>org.apache.camel:camel-quartz</include>
<include>org.apache.camel:camel-rmi</include>
<include>org.apache.camel:camel-mina</include>
<include>org.apache.camel:camel-saxon</include>
Modified: activemq/camel/trunk/apache-camel/src/main/descriptors/windows-bin.xml
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/apache-camel/src/main/descriptors/windows-bin.xml?view=diff&rev=540969&r1=540968&r2=540969
==============================================================================
--- activemq/camel/trunk/apache-camel/src/main/descriptors/windows-bin.xml (original)
+++ activemq/camel/trunk/apache-camel/src/main/descriptors/windows-bin.xml Wed May 23 07:57:12 2007
@@ -67,6 +67,7 @@
<include>org.apache.camel:camel-jpa</include>
<include>org.apache.camel:camel-mail</include>
<include>org.apache.camel:camel-mina</include>
+ <include>org.apache.camel:camel-quartz</include>
<include>org.apache.camel:camel-rmi</include>
<include>org.apache.camel:camel-saxon</include>
<include>org.apache.camel:camel-script</include>
Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultMessage.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultMessage.java?view=diff&rev=540969&r1=540968&r2=540969
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultMessage.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultMessage.java Wed May 23 07:57:12 2007
@@ -36,10 +36,7 @@
}
public Object getHeader(String name) {
- if (headers != null) {
- return headers.get(name);
- }
- return null;
+ return getHeaders().get(name);
}
public <T> T getHeader(String name, Class<T> type) {
Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/loadbalancer/LoadBalancer.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/loadbalancer/LoadBalancer.java?view=diff&rev=540969&r1=540968&r2=540969
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/loadbalancer/LoadBalancer.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/loadbalancer/LoadBalancer.java Wed May 23 07:57:12 2007
@@ -21,6 +21,8 @@
import org.apache.camel.Exchange;
import org.apache.camel.Processor;
+import java.util.List;
+
/**
* A strategy for load balancing across a number of {@link Processor} instances
*
@@ -40,4 +42,11 @@
* @param processor the processor to be removed from the load balancer
*/
void removeProcessor(Processor processor);
+
+ /**
+ * Returns the current processors available to this load balancer
+ *
+ * @return the processors available
+ */
+ List<Processor> getProcessors();
}
Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/loadbalancer/LoadBalancerSupport.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/loadbalancer/LoadBalancerSupport.java?view=diff&rev=540969&r1=540968&r2=540969
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/loadbalancer/LoadBalancerSupport.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/loadbalancer/LoadBalancerSupport.java Wed May 23 07:57:12 2007
@@ -39,11 +39,6 @@
processors.remove(processor);
}
- /**
- * Returns the current processors available to this load balancer
- *
- * @return the processors available
- */
public List<Processor> getProcessors() {
return processors;
}
Added: activemq/camel/trunk/components/camel-quartz/pom.xml
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-quartz/pom.xml?view=auto&rev=540969
==============================================================================
--- activemq/camel/trunk/components/camel-quartz/pom.xml (added)
+++ activemq/camel/trunk/components/camel-quartz/pom.xml Wed May 23 07:57:12 2007
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0">
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-parent</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>camel-quartz</artifactId>
+ <name>Camel :: Quartz</name>
+ <description>Camel Quartz support</description>
+
+ <dependencies>
+
+ <dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-core</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>quartz</groupId>
+ <artifactId>quartz</artifactId>
+ <version>1.5.2</version>
+ </dependency>
+
+ <!-- testing -->
+ <dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-core</artifactId>
+ <type>test-jar</type>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>log4j</groupId>
+ <artifactId>log4j</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+
+ <plugin>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <childDelegation>false</childDelegation>
+ <useFile>true</useFile>
+ <excludes>
+ <!-- TODO - FIXME ASAP -->
+ <exclude>**/JmsRouteUsingSpringWithAutoWireTest.*</exclude>
+ </excludes>
+ </configuration>
+ </plugin>
+
+ </plugins>
+ </build>
+</project>
Propchange: activemq/camel/trunk/components/camel-quartz/pom.xml
------------------------------------------------------------------------------
svn:eol-style = native
Added: activemq/camel/trunk/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/CamelJob.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/CamelJob.java?view=auto&rev=540969
==============================================================================
--- activemq/camel/trunk/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/CamelJob.java (added)
+++ activemq/camel/trunk/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/CamelJob.java Wed May 23 07:57:12 2007
@@ -0,0 +1,35 @@
+/**
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.quartz;
+
+import org.quartz.Job;
+import org.quartz.JobExecutionContext;
+import org.quartz.JobExecutionException;
+
+/**
+ * @version $Revision: 1.1 $
+ */
+public class CamelJob implements Job {
+ public void execute(JobExecutionContext context) throws JobExecutionException {
+ QuartzEndpoint component = (QuartzEndpoint) context.getJobDetail().getJobDataMap().get(QuartzEndpoint.ENDPOINT_KEY);
+ if (component == null) {
+ throw new JobExecutionException("No quartz endpoint available for key: " + QuartzEndpoint.ENDPOINT_KEY + ". Bad job data map");
+ }
+ component.onJobExecute(context);
+ }
+}
\ No newline at end of file
Propchange: activemq/camel/trunk/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/CamelJob.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: activemq/camel/trunk/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzComponent.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzComponent.java?view=auto&rev=540969
==============================================================================
--- activemq/camel/trunk/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzComponent.java (added)
+++ activemq/camel/trunk/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzComponent.java Wed May 23 07:57:12 2007
@@ -0,0 +1,152 @@
+/**
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.quartz;
+
+import org.apache.camel.CamelContext;
+import org.apache.camel.impl.DefaultComponent;
+import org.apache.camel.util.IntrospectionSupport;
+import org.apache.camel.util.ObjectHelper;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.quartz.JobDetail;
+import org.quartz.Scheduler;
+import org.quartz.SchedulerException;
+import org.quartz.SchedulerFactory;
+import org.quartz.Trigger;
+import org.quartz.impl.StdSchedulerFactory;
+
+import java.util.Map;
+import java.net.URI;
+
+import com.sun.jndi.toolkit.url.Uri;
+
+/**
+ * A <a href="http://activemq.apache.org/camel/quartz.html">Quartz Component</a>
+ *
+ * @version $Revision:520964 $
+ */
+public class QuartzComponent extends DefaultComponent<QuartzExchange> {
+ private static final transient Log log = LogFactory.getLog(QuartzComponent.class);
+ private SchedulerFactory factory;
+ private Scheduler scheduler;
+ private Map<Trigger, JobDetail> triggers;
+
+ public QuartzComponent() {
+ }
+
+ public QuartzComponent(CamelContext context) {
+ super(context);
+ }
+
+ @Override
+ protected QuartzEndpoint createEndpoint(String uri, String remaining, Map parameters) throws Exception {
+ // lets split the remaining into a group/name
+ URI u = new URI(uri);
+ String name;
+ String group = "Camel";
+ String path = u.getPath();
+ if (path != null && path.length() > 1) {
+ if (path.startsWith("/")) {
+ path = path.substring(1);
+ }
+ name = path;
+ group = u.getHost();
+ }
+ else {
+ name = u.getHost();
+ }
+/*
+ String[] names = ObjectHelper.splitOnCharacter(remaining, "/", 2);
+ if (names[1] != null) {
+ group = names[0];
+ name = names[1];
+ }
+ else {
+ name = names[0];
+ }
+*/
+ QuartzEndpoint answer = new QuartzEndpoint(uri, this, getScheduler());
+ Trigger trigger = answer.getTrigger();
+ trigger.setName(name);
+ trigger.setGroup(group);
+
+ Map triggerParameters = IntrospectionSupport.extractProperties(parameters, "trigger.");
+ Map jobParameters = IntrospectionSupport.extractProperties(parameters, "job.");
+
+ IntrospectionSupport.setProperties(trigger, triggerParameters);
+ IntrospectionSupport.setProperties(answer.getJobDetail(), jobParameters);
+
+ return answer;
+ }
+
+ @Override
+ protected void doStart() throws Exception {
+ super.doStart();
+ getScheduler().start();
+ }
+
+ @Override
+ protected void doStop() throws Exception {
+ if (scheduler != null) {
+ scheduler.shutdown();
+ }
+ super.doStop();
+ }
+
+ // Properties
+ //-------------------------------------------------------------------------
+ public SchedulerFactory getFactory() {
+ if (factory == null) {
+ factory = createSchedulerFactory();
+ }
+ return factory;
+ }
+
+ public void setFactory(SchedulerFactory factory) {
+ this.factory = factory;
+ }
+
+ public Scheduler getScheduler() throws SchedulerException {
+ if (scheduler == null) {
+ scheduler = createScheduler();
+ }
+ return scheduler;
+ }
+
+ public void setScheduler(Scheduler scheduler) {
+ this.scheduler = scheduler;
+ }
+
+ public Map getTriggers() {
+ return triggers;
+ }
+
+ public void setTriggers(Map triggers) {
+ this.triggers = triggers;
+ }
+
+ // Implementation methods
+ //-------------------------------------------------------------------------
+ protected SchedulerFactory createSchedulerFactory() {
+ return new StdSchedulerFactory();
+ }
+
+ protected Scheduler createScheduler() throws SchedulerException {
+ return getFactory().getScheduler();
+ }
+}
\ No newline at end of file
Propchange: activemq/camel/trunk/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzComponent.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: activemq/camel/trunk/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzConsumer.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzConsumer.java?view=auto&rev=540969
==============================================================================
--- activemq/camel/trunk/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzConsumer.java (added)
+++ activemq/camel/trunk/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzConsumer.java Wed May 23 07:57:12 2007
@@ -0,0 +1,47 @@
+/**
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.quartz;
+
+import org.apache.camel.Processor;
+import org.apache.camel.impl.DefaultConsumer;
+
+/**
+ * @version $Revision: 1.1 $
+ */
+public class QuartzConsumer extends DefaultConsumer<QuartzExchange> {
+ public QuartzConsumer(QuartzEndpoint endpoint, Processor processor) {
+ super(endpoint, processor);
+ }
+
+ @Override
+ public QuartzEndpoint getEndpoint() {
+ return (QuartzEndpoint) super.getEndpoint();
+ }
+
+ @Override
+ protected void doStart() throws Exception {
+ super.doStart();
+ getEndpoint().consumerStarted(this);
+ }
+
+ @Override
+ protected void doStop() throws Exception {
+ getEndpoint().consumerStopped(this);
+ super.doStop();
+ }
+}
Propchange: activemq/camel/trunk/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzConsumer.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: activemq/camel/trunk/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzEndpoint.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzEndpoint.java?view=auto&rev=540969
==============================================================================
--- activemq/camel/trunk/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzEndpoint.java (added)
+++ activemq/camel/trunk/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzEndpoint.java Wed May 23 07:57:12 2007
@@ -0,0 +1,217 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.quartz;
+
+import org.apache.camel.Processor;
+import org.apache.camel.Producer;
+import org.apache.camel.impl.DefaultEndpoint;
+import org.apache.camel.processor.loadbalancer.LoadBalancer;
+import org.apache.camel.processor.loadbalancer.RoundRobinLoadBalancer;
+import org.apache.camel.util.ObjectHelper;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.quartz.JobDetail;
+import org.quartz.JobExecutionContext;
+import org.quartz.JobExecutionException;
+import org.quartz.Scheduler;
+import org.quartz.SchedulerException;
+import org.quartz.Trigger;
+import org.quartz.SimpleTrigger;
+
+import java.util.Date;
+import java.util.Map;
+import java.util.Set;
+
+/**
+ * A <a href="http://activemq.apache.org/quartz.html">Quartz Endpoint</a>
+ *
+ * @version $Revision:520964 $
+ */
+public class QuartzEndpoint extends DefaultEndpoint<QuartzExchange> {
+ public static final String ENDPOINT_KEY = "org.apache.camel.quartz";
+ private static final transient Log log = LogFactory.getLog(QuartzEndpoint.class);
+ private Scheduler scheduler;
+ private LoadBalancer loadBalancer;
+ private Trigger trigger;
+ private JobDetail jobDetail;
+ private boolean started;
+
+ public QuartzEndpoint(String endpointUri, QuartzComponent component, Scheduler scheduler) {
+ super(endpointUri, component);
+ this.scheduler = scheduler;
+ }
+
+ public void addTriggers(Map<Trigger, JobDetail> triggerMap) throws SchedulerException {
+ if (triggerMap != null) {
+ Set<Map.Entry<Trigger, JobDetail>> entries = triggerMap.entrySet();
+ for (Map.Entry<Trigger, JobDetail> entry : entries) {
+ Trigger key = entry.getKey();
+ JobDetail value = entry.getValue();
+ ObjectHelper.notNull(key, "key");
+ ObjectHelper.notNull(value, "value");
+
+ addTrigger(key, value);
+ }
+ }
+ }
+
+ public void addTrigger(Trigger trigger, JobDetail detail) throws SchedulerException {
+ // lets default the trigger name to the job name
+ if (trigger.getName() == null) {
+ trigger.setName(detail.getName());
+ }
+ // lets default the trigger group to the job group
+ if (trigger.getGroup() == null) {
+ trigger.setGroup(detail.getGroup());
+ }
+ // default start time to now if not specified
+ if (trigger.getStartTime() == null) {
+ trigger.setStartTime(new Date());
+ }
+ detail.getJobDataMap().put(ENDPOINT_KEY, this);
+ Class jobClass = detail.getJobClass();
+ if (jobClass == null) {
+ detail.setJobClass(CamelJob.class);
+ }
+ if (detail.getName() == null) {
+ detail.setName(getEndpointUri());
+ }
+ getScheduler().scheduleJob(detail, trigger);
+ }
+
+ public void removeTrigger(Trigger trigger, JobDetail jobDetail) throws SchedulerException {
+ getScheduler().unscheduleJob(trigger.getName(), trigger.getGroup());
+ }
+
+ /**
+ * This method is invoked when a Quartz job is fired.
+ *
+ * @param jobExecutionContext the Quartz Job context
+ */
+ public void onJobExecute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
+ if (log.isDebugEnabled()) {
+ log.debug("Firing Quartz Job with context: " + jobExecutionContext);
+ }
+ QuartzExchange exchange = createExchange(jobExecutionContext);
+ try {
+ getLoadBalancer().process(exchange);
+ }
+ catch (JobExecutionException e) {
+ throw e;
+ }
+ catch (Exception e) {
+ throw new JobExecutionException(e);
+ }
+ }
+
+ public QuartzExchange createExchange() {
+ return new QuartzExchange(getContext(), null);
+ }
+
+ public QuartzExchange createExchange(JobExecutionContext jobExecutionContext) {
+ return new QuartzExchange(getContext(), jobExecutionContext);
+ }
+
+ public Producer<QuartzExchange> createProducer() throws Exception {
+ throw new UnsupportedOperationException("You cannot send messages to this endpoint");
+ }
+
+ public QuartzConsumer createConsumer(Processor processor) throws Exception {
+ return new QuartzConsumer(this, processor);
+ }
+
+ // Properties
+ //-------------------------------------------------------------------------
+
+ @Override
+ public QuartzComponent getComponent() {
+ return (QuartzComponent) super.getComponent();
+ }
+
+ public boolean isSingleton() {
+ return true;
+ }
+
+ public Scheduler getScheduler() {
+ return scheduler;
+ }
+
+ public LoadBalancer getLoadBalancer() {
+ if (loadBalancer == null) {
+ loadBalancer = createLoadBalancer();
+ }
+ return loadBalancer;
+ }
+
+ public void setLoadBalancer(LoadBalancer loadBalancer) {
+ this.loadBalancer = loadBalancer;
+ }
+
+ public JobDetail getJobDetail() {
+ if (jobDetail == null) {
+ jobDetail = createJobDetail();
+ }
+ return jobDetail;
+ }
+
+ public void setJobDetail(JobDetail jobDetail) {
+ this.jobDetail = jobDetail;
+ }
+
+ public Trigger getTrigger() {
+ if (trigger == null) {
+ trigger = createTrigger();
+ }
+ return trigger;
+ }
+
+ public void setTrigger(Trigger trigger) {
+ this.trigger = trigger;
+ }
+
+ // Implementation methods
+ //-------------------------------------------------------------------------
+ public synchronized void consumerStarted(QuartzConsumer consumer) throws SchedulerException {
+ getLoadBalancer().addProcessor(consumer.getProcessor());
+
+ // if we have not yet added our default trigger, then lets do it
+ if (!started) {
+ addTrigger(getTrigger(), getJobDetail());
+ started = true;
+ }
+ }
+
+ public synchronized void consumerStopped(QuartzConsumer consumer) throws SchedulerException {
+ getLoadBalancer().removeProcessor(consumer.getProcessor());
+ if (getLoadBalancer().getProcessors().isEmpty() && started) {
+ removeTrigger(getTrigger(), getJobDetail());
+ started = false;
+ }
+ }
+
+ protected LoadBalancer createLoadBalancer() {
+ return new RoundRobinLoadBalancer();
+ }
+
+ protected JobDetail createJobDetail() {
+ return new JobDetail();
+ }
+
+ protected Trigger createTrigger() {
+ return new SimpleTrigger();
+ }
+}
\ No newline at end of file
Propchange: activemq/camel/trunk/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzEndpoint.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: activemq/camel/trunk/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzExchange.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzExchange.java?view=auto&rev=540969
==============================================================================
--- activemq/camel/trunk/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzExchange.java (added)
+++ activemq/camel/trunk/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzExchange.java Wed May 23 07:57:12 2007
@@ -0,0 +1,41 @@
+/**
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.quartz;
+
+import org.apache.camel.CamelContext;
+import org.apache.camel.impl.DefaultExchange;
+import org.quartz.JobExecutionContext;
+
+/**
+ * @version $Revision: 1.1 $
+ */
+public class QuartzExchange extends DefaultExchange {
+ public QuartzExchange(CamelContext context, JobExecutionContext jobExecutionContext) {
+ super(context);
+ setIn(new QuartzMessage(this, jobExecutionContext));
+ }
+
+ @Override
+ public QuartzMessage getIn() {
+ return (QuartzMessage) super.getIn();
+ }
+
+ public JobExecutionContext getJobExecutionContext() {
+ return getIn().getJobExecutionContext();
+ }
+}
Propchange: activemq/camel/trunk/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzExchange.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: activemq/camel/trunk/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzMessage.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzMessage.java?view=auto&rev=540969
==============================================================================
--- activemq/camel/trunk/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzMessage.java (added)
+++ activemq/camel/trunk/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzMessage.java Wed May 23 07:57:12 2007
@@ -0,0 +1,64 @@
+/**
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.quartz;
+
+import org.apache.camel.impl.DefaultMessage;
+import org.quartz.JobExecutionContext;
+import org.quartz.Trigger;
+
+import java.util.Map;
+
+/**
+ * @version $Revision: 1.1 $
+ */
+public class QuartzMessage extends DefaultMessage {
+ private final JobExecutionContext jobExecutionContext;
+
+ public QuartzMessage(QuartzExchange exchange, JobExecutionContext jobExecutionContext) {
+ this.jobExecutionContext = jobExecutionContext;
+ setExchange(exchange);
+ setBody(jobExecutionContext.getJobDetail());
+ }
+
+ public JobExecutionContext getJobExecutionContext() {
+ return jobExecutionContext;
+ }
+
+ @Override
+ protected void populateInitialHeaders(Map<String, Object> map) {
+ super.populateInitialHeaders(map);
+ if (jobExecutionContext != null) {
+ map.put("calendar", jobExecutionContext.getCalendar());
+ map.put("fireTime", jobExecutionContext.getFireTime());
+ map.put("jobDetail", jobExecutionContext.getJobDetail());
+ map.put("jobInstance", jobExecutionContext.getJobInstance());
+ map.put("jobRunTime", jobExecutionContext.getJobRunTime());
+ map.put("mergedJobDataMap", jobExecutionContext.getMergedJobDataMap());
+ map.put("nextFireTime", jobExecutionContext.getNextFireTime());
+ map.put("previousFireTime", jobExecutionContext.getPreviousFireTime());
+ map.put("refireCount", jobExecutionContext.getRefireCount());
+ map.put("result", jobExecutionContext.getResult());
+ map.put("scheduledFireTime", jobExecutionContext.getScheduledFireTime());
+ map.put("scheduler", jobExecutionContext.getScheduler());
+ Trigger trigger = jobExecutionContext.getTrigger();
+ map.put("trigger", trigger);
+ map.put("triggerName", trigger.getName());
+ map.put("triggerGroup", trigger.getGroup());
+ }
+ }
+}
Propchange: activemq/camel/trunk/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzMessage.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: activemq/camel/trunk/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/package.html
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/package.html?view=auto&rev=540969
==============================================================================
--- activemq/camel/trunk/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/package.html (added)
+++ activemq/camel/trunk/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/package.html Wed May 23 07:57:12 2007
@@ -0,0 +1,25 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<html>
+<head>
+</head>
+<body>
+
+Defines the <a href="http://activemq.apache.org/camel/quartz.html">Quartz Component</a>
+
+</body>
+</html>
Propchange: activemq/camel/trunk/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/package.html
------------------------------------------------------------------------------
svn:eol-style = native
Added: activemq/camel/trunk/components/camel-quartz/src/main/resources/META-INF/services/org/apache/camel/component/quartz
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-quartz/src/main/resources/META-INF/services/org/apache/camel/component/quartz?view=auto&rev=540969
==============================================================================
--- activemq/camel/trunk/components/camel-quartz/src/main/resources/META-INF/services/org/apache/camel/component/quartz (added)
+++ activemq/camel/trunk/components/camel-quartz/src/main/resources/META-INF/services/org/apache/camel/component/quartz Wed May 23 07:57:12 2007
@@ -0,0 +1 @@
+class=org.apache.camel.component.quartz.QuartzComponent
Added: activemq/camel/trunk/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/QuartzEndpointConfigureTest.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/QuartzEndpointConfigureTest.java?view=auto&rev=540969
==============================================================================
--- activemq/camel/trunk/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/QuartzEndpointConfigureTest.java (added)
+++ activemq/camel/trunk/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/QuartzEndpointConfigureTest.java Wed May 23 07:57:12 2007
@@ -0,0 +1,52 @@
+/**
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.quartz;
+
+import org.apache.camel.ContextTestSupport;
+import org.apache.camel.Endpoint;
+import org.quartz.Trigger;
+import org.quartz.SimpleTrigger;
+
+/**
+ * @version $Revision: 1.1 $
+ */
+public class QuartzEndpointConfigureTest extends ContextTestSupport {
+
+ public void testConfigureGroupAndName() throws Exception {
+ QuartzEndpoint endpoint = resolveMandatoryEndpoint("quartz://myGroup/myName?trigger.repeatCount=3");
+ Trigger trigger = endpoint.getTrigger();
+ assertEquals("getName()", "myName", trigger.getName());
+ assertEquals("getGroup()", "myGroup", trigger.getGroup());
+
+ SimpleTrigger simpleTrigger = assertIsInstanceOf(SimpleTrigger.class, trigger);
+ assertEquals("getRepeatCount()", 3, simpleTrigger.getRepeatCount());
+ }
+
+ public void testConfigureName() throws Exception {
+ QuartzEndpoint endpoint = resolveMandatoryEndpoint("quartz://myName");
+ Trigger trigger = endpoint.getTrigger();
+ assertEquals("getName()", "myName", trigger.getName());
+ assertEquals("getGroup()", "Camel", trigger.getGroup());
+ }
+
+ @Override
+ protected QuartzEndpoint resolveMandatoryEndpoint(String uri) {
+ Endpoint endpoint = super.resolveMandatoryEndpoint(uri);
+ return assertIsInstanceOf(QuartzEndpoint.class, endpoint);
+ }
+}
\ No newline at end of file
Propchange: activemq/camel/trunk/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/QuartzEndpointConfigureTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: activemq/camel/trunk/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/QuartzRouteTest.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/QuartzRouteTest.java?view=auto&rev=540969
==============================================================================
--- activemq/camel/trunk/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/QuartzRouteTest.java (added)
+++ activemq/camel/trunk/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/QuartzRouteTest.java Wed May 23 07:57:12 2007
@@ -0,0 +1,60 @@
+/**
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.quartz;
+
+import org.apache.camel.ContextTestSupport;
+import org.apache.camel.Exchange;
+import org.apache.camel.Message;
+import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.component.mock.MockEndpoint;
+
+import java.util.List;
+
+/**
+ * @version $Revision: 1.1 $
+ */
+public class QuartzRouteTest extends ContextTestSupport {
+ protected MockEndpoint resultEndpoint;
+
+ public void testSendAndReceiveMails() throws Exception {
+ resultEndpoint = (MockEndpoint) resolveMandatoryEndpoint("mock:result");
+ resultEndpoint.expectedMessageCount(2);
+ resultEndpoint.message(0).header("triggerName").isEqualTo("myTimerName");
+ resultEndpoint.message(0).header("triggerGroup").isEqualTo("myGroup");
+
+ // lets test the receive worked
+ resultEndpoint.assertIsSatisfied();
+
+ List<Exchange> list = resultEndpoint.getReceivedExchanges();
+ for (Exchange exchange : list) {
+ Message in = exchange.getIn();
+ log.debug("Received: " + in + " with headers: " + in.getHeaders());
+ }
+ }
+
+ @Override
+ protected RouteBuilder createRouteBuilder() {
+ return new RouteBuilder() {
+ public void configure() {
+ // START SNIPPET: example
+ from("quartz://myGroup/myTimerName?trigger.repeatInterval=2&trigger.repeatCount=1").to("mock:result");
+ // END SNIPPET: example
+ }
+ };
+ }
+}
\ No newline at end of file
Propchange: activemq/camel/trunk/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/QuartzRouteTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: activemq/camel/trunk/components/camel-quartz/src/test/resources/log4j.properties
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-quartz/src/test/resources/log4j.properties?view=auto&rev=540969
==============================================================================
--- activemq/camel/trunk/components/camel-quartz/src/test/resources/log4j.properties (added)
+++ activemq/camel/trunk/components/camel-quartz/src/test/resources/log4j.properties Wed May 23 07:57:12 2007
@@ -0,0 +1,30 @@
+## ------------------------------------------------------------------------
+## Licensed to the Apache Software Foundation (ASF) under one or more
+## contributor license agreements. See the NOTICE file distributed with
+## this work for additional information regarding copyright ownership.
+## The ASF licenses this file to You under the Apache License, Version 2.0
+## (the "License"); you may not use this file except in compliance with
+## the License. You may obtain a copy of the License at
+##
+## http://www.apache.org/licenses/LICENSE-2.0
+##
+## Unless required by applicable law or agreed to in writing, software
+## distributed under the License is distributed on an "AS IS" BASIS,
+## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+## See the License for the specific language governing permissions and
+## limitations under the License.
+## ------------------------------------------------------------------------
+
+#
+# The logging properties used for eclipse testing, We want to see debug output on the console.
+#
+log4j.rootLogger=INFO, out
+
+log4j.logger.org.quartz=WARN
+#log4j.logger.org.apache.camel=DEBUG
+
+# CONSOLE appender not used by default
+log4j.appender.out=org.apache.log4j.ConsoleAppender
+log4j.appender.out.layout=org.apache.log4j.PatternLayout
+log4j.appender.out.layout.ConversionPattern=[%30.30t] %-30.30c{1} %-5p %m%n
+#log4j.appender.out.layout.ConversionPattern=%d [%-15.15t] %-5p %-30.30c{1} - %m%n
Propchange: activemq/camel/trunk/components/camel-quartz/src/test/resources/log4j.properties
------------------------------------------------------------------------------
svn:eol-style = native
Modified: activemq/camel/trunk/components/pom.xml
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/pom.xml?view=diff&rev=540969&r1=540968&r2=540969
==============================================================================
--- activemq/camel/trunk/components/pom.xml (original)
+++ activemq/camel/trunk/components/pom.xml Wed May 23 07:57:12 2007
@@ -45,6 +45,7 @@
<module>camel-jpa</module>
<module>camel-mail</module>
<module>camel-mina</module>
+ <module>camel-quartz</module>
<module>camel-rmi</module>
<module>camel-saxon</module>
<module>camel-script</module>
Modified: activemq/camel/trunk/pom.xml
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/pom.xml?view=diff&rev=540969&r1=540968&r2=540969
==============================================================================
--- activemq/camel/trunk/pom.xml (original)
+++ activemq/camel/trunk/pom.xml Wed May 23 07:57:12 2007
@@ -215,6 +215,11 @@
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
+ <artifactId>camel-quartz</artifactId>
+ <version>${camel-version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.camel</groupId>
<artifactId>camel-rmi</artifactId>
<version>${camel-version}</version>
</dependency>