Author: jstrachan
Date: Thu Apr 3 08:11:35 2008
New Revision: 644350
URL: http://svn.apache.org/viewvc?rev=644350&view=rev
Log:
added an integration test to show
https://issues.apache.org/activemq/browse/CAMEL-435 is a problem, then patched
the camel-jms code to not depend directly on BrowserCallback from Spring 2.5.x
Added:
activemq/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/DefaultQueueBrowseStrategy.java
(with props)
activemq/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/QueueBrowseStrategy.java
(with props)
activemq/camel/trunk/tests/camel-itest-spring-2.0/
activemq/camel/trunk/tests/camel-itest-spring-2.0/pom.xml (with props)
activemq/camel/trunk/tests/camel-itest-spring-2.0/src/
activemq/camel/trunk/tests/camel-itest-spring-2.0/src/test/
activemq/camel/trunk/tests/camel-itest-spring-2.0/src/test/java/
activemq/camel/trunk/tests/camel-itest-spring-2.0/src/test/java/org/
activemq/camel/trunk/tests/camel-itest-spring-2.0/src/test/java/org/apache/
activemq/camel/trunk/tests/camel-itest-spring-2.0/src/test/java/org/apache/camel/
activemq/camel/trunk/tests/camel-itest-spring-2.0/src/test/java/org/apache/camel/itest/
activemq/camel/trunk/tests/camel-itest-spring-2.0/src/test/java/org/apache/camel/itest/spring2/
activemq/camel/trunk/tests/camel-itest-spring-2.0/src/test/java/org/apache/camel/itest/spring2/JmsRouteTest.java
- copied, changed from r644255,
activemq/camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRouteTest.java
activemq/camel/trunk/tests/camel-itest-spring-2.0/src/test/resources/
activemq/camel/trunk/tests/camel-itest-spring-2.0/src/test/resources/log4j.properties
(with props)
Modified:
activemq/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsComponent.java
activemq/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsQueueEndpoint.java
activemq/camel/trunk/tests/pom.xml
Added:
activemq/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/DefaultQueueBrowseStrategy.java
URL:
http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/DefaultQueueBrowseStrategy.java?rev=644350&view=auto
==============================================================================
---
activemq/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/DefaultQueueBrowseStrategy.java
(added)
+++
activemq/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/DefaultQueueBrowseStrategy.java
Thu Apr 3 08:11:35 2008
@@ -0,0 +1,57 @@
+/**
+ *
+ * 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.jms;
+
+import java.util.List;
+import java.util.ArrayList;
+import java.util.Enumeration;
+
+import javax.jms.Session;
+import javax.jms.JMSException;
+import javax.jms.Message;
+import javax.jms.QueueBrowser;
+
+import org.springframework.jms.core.JmsOperations;
+import org.springframework.jms.core.BrowserCallback;
+import org.apache.camel.Exchange;
+
+/**
+ * A default implementation of queue browsing using the Spring 2.5.x [EMAIL
PROTECTED] BrowserCallback}
+ * @version $Revision: 1.1 $
+ */
+public class DefaultQueueBrowseStrategy implements QueueBrowseStrategy {
+
+ public List<Exchange> browse(JmsOperations template, String queue, final
JmsQueueEndpoint endpoint) {
+ return (List<Exchange>) template.browse(queue, new BrowserCallback() {
+
+ public Object doInJms(Session session, QueueBrowser browser)
throws JMSException {
+ // TODO not the best implementation in the world as we have to
browse
+ // the entire queue, which could be massive
+
+ List<Exchange> answer = new ArrayList<Exchange>();
+ Enumeration iter = browser.getEnumeration();
+ while (iter.hasMoreElements()) {
+ Message message = (Message) iter.nextElement();
+ JmsExchange exchange = endpoint.createExchange(message);
+ answer.add(exchange);
+ }
+ return answer;
+ }
+ });
+ }
+}
Propchange:
activemq/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/DefaultQueueBrowseStrategy.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified:
activemq/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsComponent.java
URL:
http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsComponent.java?rev=644350&r1=644349&r2=644350&view=diff
==============================================================================
---
activemq/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsComponent.java
(original)
+++
activemq/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsComponent.java
Thu Apr 3 08:11:35 2008
@@ -39,7 +39,9 @@
import org.springframework.jms.support.destination.DestinationResolver;
import org.springframework.transaction.PlatformTransactionManager;
import static org.apache.camel.util.ObjectHelper.removeStartingCharacters;
-
+import org.apache.camel.util.ObjectHelper;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
/**
* A <a href="http://activemq.apache.org/jms.html">JMS Component</a>
@@ -47,11 +49,16 @@
* @version $Revision:520964 $
*/
public class JmsComponent extends DefaultComponent<JmsExchange> implements
ApplicationContextAware {
+ private static final transient Log LOG =
LogFactory.getLog(JmsComponent.class);
+
public static final String QUEUE_PREFIX = "queue:";
public static final String TOPIC_PREFIX = "topic:";
private JmsConfiguration configuration;
private ApplicationContext applicationContext;
private Requestor requestor;
+ private QueueBrowseStrategy queueBrowseStrategy;
+ private boolean attemptedToCreateQueueBrowserStrategy;
+ private static final String DEFAULT_QUEUE_BROWSE_STRATEGY =
"org.apache.camel.component.jms.DefaultQueueBrowseStrategy";
public JmsComponent() {
}
@@ -115,6 +122,8 @@
template.setTransacted(true);
return jmsComponent(template);
}
+
+
// Properties
//-------------------------------------------------------------------------
@@ -308,6 +317,25 @@
this.applicationContext = applicationContext;
}
+ public QueueBrowseStrategy getQueueBrowseStrategy() {
+ if (queueBrowseStrategy == null) {
+ if (!attemptedToCreateQueueBrowserStrategy) {
+ attemptedToCreateQueueBrowserStrategy = true;
+ try {
+ queueBrowseStrategy =
tryCreateDefaultQueueBrowseStrategy();
+ }
+ catch (Throwable e) {
+ LOG.warn("Could not instantiate the QueueBrowseStrategy
are you using Spring 2.0.x by any chance? Error: " + e, e);
+ }
+ }
+ }
+ return queueBrowseStrategy;
+ }
+
+ public void setQueueBrowseStrategy(QueueBrowseStrategy
queueBrowseStrategy) {
+ this.queueBrowseStrategy = queueBrowseStrategy;
+ }
+
// Implementation methods
//-------------------------------------------------------------------------
@@ -337,10 +365,11 @@
// customize its own version
JmsConfiguration newConfiguration = getConfiguration().copy();
JmsEndpoint endpoint;
- if (pubSubDomain) {
+ QueueBrowseStrategy strategy = getQueueBrowseStrategy();
+ if (pubSubDomain || strategy == null) {
endpoint = new JmsEndpoint(uri, this, subject, pubSubDomain,
newConfiguration);
} else {
- endpoint = new JmsQueueEndpoint(uri, this, subject,
newConfiguration);
+ endpoint = new JmsQueueEndpoint(uri, this, subject,
newConfiguration, strategy);
}
String selector = (String)parameters.remove("selector");
@@ -367,5 +396,24 @@
*/
protected JmsConfiguration createConfiguration() {
return new JmsConfiguration();
+ }
+
+ /**
+ * Attempts to instantiate the default [EMAIL PROTECTED]
QueueBrowseStrategy} which should work fine if Spring 2.5.x or later is
+ * on the classpath but this will fail if 2.0.x are on the classpath. We
can continue to operate on this version
+ * we just cannot support the browsable queues supported by [EMAIL
PROTECTED] JmsQueueEndpoint}
+ *
+ * @return the queue browse strategy or null if it cannot be supported
+ */
+ protected static QueueBrowseStrategy tryCreateDefaultQueueBrowseStrategy()
{
+ // lets try instantiate the default implementation
+ Class<?> type = ObjectHelper.loadClass(DEFAULT_QUEUE_BROWSE_STRATEGY);
+ if (type == null) {
+ LOG.warn("Could not load class: " + DEFAULT_QUEUE_BROWSE_STRATEGY
+ " maybe you are on Spring 2.0.x?");
+ return null;
+ }
+ else {
+ return (QueueBrowseStrategy) ObjectHelper.newInstance(type);
+ }
}
}
Modified:
activemq/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsQueueEndpoint.java
URL:
http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsQueueEndpoint.java?rev=644350&r1=644349&r2=644350&view=diff
==============================================================================
---
activemq/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsQueueEndpoint.java
(original)
+++
activemq/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsQueueEndpoint.java
Thu Apr 3 08:11:35 2008
@@ -16,18 +16,10 @@
*/
package org.apache.camel.component.jms;
-import java.util.ArrayList;
-import java.util.Enumeration;
import java.util.List;
-import javax.jms.JMSException;
-import javax.jms.Message;
-import javax.jms.QueueBrowser;
-import javax.jms.Session;
-
import org.apache.camel.Exchange;
import org.apache.camel.spi.BrowsableEndpoint;
-import org.springframework.jms.core.BrowserCallback;
import org.springframework.jms.core.JmsOperations;
/**
@@ -37,10 +29,18 @@
*/
public class JmsQueueEndpoint extends JmsEndpoint implements
BrowsableEndpoint<JmsExchange> {
private int maximumBrowseSize = -1;
+ private final QueueBrowseStrategy queueBrowseStrategy;
+
+
+ public JmsQueueEndpoint(String uri, JmsComponent component, String
destination,
+ JmsConfiguration configuration) {
+ this(uri, component, destination, configuration,
createQueueBrowseStrategy());
+ }
public JmsQueueEndpoint(String uri, JmsComponent component, String
destination,
- JmsConfiguration configuration) {
+ JmsConfiguration configuration, QueueBrowseStrategy
queueBrowseStrategy) {
super(uri, component, destination, false, configuration);
+ this.queueBrowseStrategy = queueBrowseStrategy;
}
public int getMaximumBrowseSize() {
@@ -58,21 +58,21 @@
public List<Exchange> getExchanges() {
String queue = getDestination();
JmsOperations template =
getConfiguration().createInOnlyTemplate(false, queue);
+ return queueBrowseStrategy.browse(template, queue, this);
+ }
- // TODO not the best implementation in the world as we have to browse
- // the entire queue, which could be massive
- final List<Exchange> answer = new ArrayList<Exchange>();
- template.browse(queue, new BrowserCallback() {
- public Object doInJms(Session session, QueueBrowser browser)
throws JMSException {
- Enumeration iter = browser.getEnumeration();
- while (iter.hasMoreElements()) {
- Message message = (Message)iter.nextElement();
- JmsExchange exchange = createExchange(message);
- answer.add(exchange);
- }
- return answer;
- }
- });
+ protected static QueueBrowseStrategy createQueueBrowseStrategy() {
+ QueueBrowseStrategy answer = null;
+ try {
+ answer = JmsComponent.tryCreateDefaultQueueBrowseStrategy();
+ }
+ catch (Throwable e) {
+ throw new IllegalArgumentException("Could not create a
QueueBrowseStrategy, maybe you are using spring 2.0.x? Cause: " + e, e);
+ }
+ if (answer == null) {
+ throw new IllegalArgumentException("Could not create a
QueueBrowseStrategy, maybe you are using spring 2.0.x?");
+ }
return answer;
}
+
}
Added:
activemq/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/QueueBrowseStrategy.java
URL:
http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/QueueBrowseStrategy.java?rev=644350&view=auto
==============================================================================
---
activemq/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/QueueBrowseStrategy.java
(added)
+++
activemq/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/QueueBrowseStrategy.java
Thu Apr 3 08:11:35 2008
@@ -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.
+ */
+package org.apache.camel.component.jms;
+
+import java.util.List;
+
+import org.apache.camel.Exchange;
+import org.springframework.jms.core.JmsOperations;
+
+/**
+ * @version $Revision: 1.1 $
+ */
+public interface QueueBrowseStrategy {
+ List<Exchange> browse(JmsOperations template, String queue,
JmsQueueEndpoint endpoint);
+}
Propchange:
activemq/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/QueueBrowseStrategy.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: activemq/camel/trunk/tests/camel-itest-spring-2.0/pom.xml
URL:
http://svn.apache.org/viewvc/activemq/camel/trunk/tests/camel-itest-spring-2.0/pom.xml?rev=644350&view=auto
==============================================================================
--- activemq/camel/trunk/tests/camel-itest-spring-2.0/pom.xml (added)
+++ activemq/camel/trunk/tests/camel-itest-spring-2.0/pom.xml Thu Apr 3
08:11:35 2008
@@ -0,0 +1,78 @@
+<?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.3-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>camel-itest-spring-2.0</artifactId>
+ <name>Camel :: ITest :: Spring 2.0</name>
+ <description>Integration Test against Spring 2.0</description>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-jms</artifactId>
+ <exclusions>
+ <exclusion>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+
+ <!-- testing -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-core</artifactId>
+ <type>test-jar</type>
+ </dependency>
+ <dependency>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>log4j</groupId>
+ <artifactId>log4j</artifactId>
+ </dependency>
+
+ <!-- specific Spring version to test -->
+ <dependency>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring</artifactId>
+ <version>2.0.8</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.activemq</groupId>
+ <artifactId>activemq-core</artifactId>
+ </dependency>
+ </dependencies>
+</project>
Propchange: activemq/camel/trunk/tests/camel-itest-spring-2.0/pom.xml
------------------------------------------------------------------------------
svn:eol-style = native
Copied:
activemq/camel/trunk/tests/camel-itest-spring-2.0/src/test/java/org/apache/camel/itest/spring2/JmsRouteTest.java
(from r644255,
activemq/camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRouteTest.java)
URL:
http://svn.apache.org/viewvc/activemq/camel/trunk/tests/camel-itest-spring-2.0/src/test/java/org/apache/camel/itest/spring2/JmsRouteTest.java?p2=activemq/camel/trunk/tests/camel-itest-spring-2.0/src/test/java/org/apache/camel/itest/spring2/JmsRouteTest.java&p1=activemq/camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRouteTest.java&r1=644255&r2=644350&rev=644350&view=diff
==============================================================================
---
activemq/camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRouteTest.java
(original)
+++
activemq/camel/trunk/tests/camel-itest-spring-2.0/src/test/java/org/apache/camel/itest/spring2/JmsRouteTest.java
Thu Apr 3 08:11:35 2008
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.component.jms;
+package org.apache.camel.itest.spring2;
import javax.jms.ConnectionFactory;
@@ -22,50 +22,33 @@
import org.apache.camel.CamelContext;
import org.apache.camel.ContextTestSupport;
import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.mock.MockEndpoint;
-
import static
org.apache.camel.component.jms.JmsComponent.jmsComponentClientAcknowledge;
+import org.apache.camel.component.mock.MockEndpoint;
/**
* @version $Revision$
*/
public class JmsRouteTest extends ContextTestSupport {
- protected MockEndpoint resultEndpoint;
- protected String componentName = "activemq";
- protected String startEndpointUri;
-
public void testSendAndReceiveMessage() throws Exception {
assertSendAndReceiveBody("Hello there!");
}
protected void assertSendAndReceiveBody(Object expectedBody) throws
InterruptedException {
+ MockEndpoint resultEndpoint = getMockEndpoint("mock:result");
+
resultEndpoint.expectedBodiesReceived(expectedBody);
resultEndpoint.message(0).header("cheese").isEqualTo(123);
- sendExchange(expectedBody);
+ template.sendBodyAndHeader("activemq:queue:test.a", expectedBody,
"cheese", 123);
resultEndpoint.assertIsSatisfied();
}
- protected void sendExchange(final Object expectedBody) {
- template.sendBodyAndHeader(startEndpointUri, expectedBody, "cheese",
123);
- }
-
-
- @Override
- protected void setUp() throws Exception {
- startEndpointUri = componentName + ":queue:test.a";
-
- super.setUp();
-
- resultEndpoint = (MockEndpoint) context.getEndpoint("mock:result");
- }
-
protected CamelContext createCamelContext() throws Exception {
CamelContext camelContext = super.createCamelContext();
ConnectionFactory connectionFactory = new
ActiveMQConnectionFactory("vm://localhost?broker.persistent=false");
- camelContext.addComponent(componentName,
jmsComponentClientAcknowledge(connectionFactory));
+ camelContext.addComponent("activemq",
jmsComponentClientAcknowledge(connectionFactory));
return camelContext;
}
@@ -73,9 +56,9 @@
protected RouteBuilder createRouteBuilder() throws Exception {
return new RouteBuilder() {
public void configure() throws Exception {
- from(startEndpointUri).to(componentName + ":queue:test.b");
- from(componentName + ":queue:test.b").to("mock:result");
+ from("activemq:queue:test.a").to("activemq:queue:test.b");
+ from("activemq:queue:test.b").to("mock:result");
}
};
}
-}
+}
\ No newline at end of file
Added:
activemq/camel/trunk/tests/camel-itest-spring-2.0/src/test/resources/log4j.properties
URL:
http://svn.apache.org/viewvc/activemq/camel/trunk/tests/camel-itest-spring-2.0/src/test/resources/log4j.properties?rev=644350&view=auto
==============================================================================
---
activemq/camel/trunk/tests/camel-itest-spring-2.0/src/test/resources/log4j.properties
(added)
+++
activemq/camel/trunk/tests/camel-itest-spring-2.0/src/test/resources/log4j.properties
Thu Apr 3 08:11:35 2008
@@ -0,0 +1,38 @@
+## ---------------------------------------------------------------------------
+## 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 during tests..
+#
+log4j.rootLogger=INFO, out
+
+# Use the following line to turn on debug output for camel
+#log4j.logger.org.apache.camel=DEBUG
+
+log4j.logger.org.apache.activemq.spring=WARN
+
+# CONSOLE appender not used by default
+log4j.appender.stdout=org.apache.log4j.ConsoleAppender
+log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
+log4j.appender.stdout.layout.ConversionPattern=%d [%-15.15t] %-5p %-30.30c{1}
- %m%n
+
+# File appender
+log4j.appender.out=org.apache.log4j.FileAppender
+log4j.appender.out.layout=org.apache.log4j.PatternLayout
+log4j.appender.out.layout.ConversionPattern=%d [%-15.15t] %-5p %-30.30c{1} -
%m%n
+log4j.appender.out.file=target/camel-test.log
+log4j.appender.out.append=true
Propchange:
activemq/camel/trunk/tests/camel-itest-spring-2.0/src/test/resources/log4j.properties
------------------------------------------------------------------------------
svn:eol-style = native
Modified: activemq/camel/trunk/tests/pom.xml
URL:
http://svn.apache.org/viewvc/activemq/camel/trunk/tests/pom.xml?rev=644350&r1=644349&r2=644350&view=diff
==============================================================================
--- activemq/camel/trunk/tests/pom.xml (original)
+++ activemq/camel/trunk/tests/pom.xml Thu Apr 3 08:11:35 2008
@@ -35,6 +35,7 @@
<modules>
<module>camel-itest</module>
+ <module>camel-itest-spring-2.0</module>
<module>camel-partial-classpath-test</module>
</modules>