Return-Path: Delivered-To: apmail-activemq-commits-archive@www.apache.org Received: (qmail 89755 invoked from network); 14 Jun 2007 15:18:59 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 14 Jun 2007 15:18:59 -0000 Received: (qmail 95185 invoked by uid 500); 14 Jun 2007 15:19:03 -0000 Delivered-To: apmail-activemq-commits-archive@activemq.apache.org Received: (qmail 95163 invoked by uid 500); 14 Jun 2007 15:19:02 -0000 Mailing-List: contact commits-help@activemq.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@activemq.apache.org Delivered-To: mailing list commits@activemq.apache.org Received: (qmail 95154 invoked by uid 99); 14 Jun 2007 15:19:02 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 14 Jun 2007 08:19:02 -0700 X-ASF-Spam-Status: No, hits=-98.6 required=10.0 tests=ALL_TRUSTED,INFO_TLD,NO_REAL_NAME X-Spam-Check-By: apache.org Received: from [140.211.11.3] (HELO eris.apache.org) (140.211.11.3) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 14 Jun 2007 08:18:58 -0700 Received: by eris.apache.org (Postfix, from userid 65534) id 273161A981A; Thu, 14 Jun 2007 08:18:38 -0700 (PDT) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r547274 - in /activemq/branches/activemq-4.1/activemq-core/src: main/resources/META-INF/ test/java/org/apache/activemq/spring/ test/resources/ Date: Thu, 14 Jun 2007 15:18:33 -0000 To: commits@activemq.apache.org From: aco@apache.org X-Mailer: svnmailer-1.1.0 Message-Id: <20070614151838.273161A981A@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: aco Date: Thu Jun 14 08:18:31 2007 New Revision: 547274 URL: http://svn.apache.org/viewvc?view=rev&rev=547274 Log: Backported spring configuration fix to 4.1. https://issues.apache.org/activemq/browse/AMQ-1276 Added: activemq/branches/activemq-4.1/activemq-core/src/main/resources/META-INF/spring.schemas activemq/branches/activemq-4.1/activemq-core/src/test/java/org/apache/activemq/spring/Spring2XmlNamespacesTest.java activemq/branches/activemq-4.1/activemq-core/src/test/java/org/apache/activemq/spring/Spring2XmlNamespacesWithoutRemoteSchemaTest.java activemq/branches/activemq-4.1/activemq-core/src/test/java/org/apache/activemq/spring/SpringTestSupport.java activemq/branches/activemq-4.1/activemq-core/src/test/resources/spring-embedded-xbean-noversion.xml Modified: activemq/branches/activemq-4.1/activemq-core/src/test/java/org/apache/activemq/spring/SpringConsumer.java activemq/branches/activemq-4.1/activemq-core/src/test/java/org/apache/activemq/spring/SpringTest.java activemq/branches/activemq-4.1/activemq-core/src/test/resources/spring-embedded-xbean.xml Added: activemq/branches/activemq-4.1/activemq-core/src/main/resources/META-INF/spring.schemas URL: http://svn.apache.org/viewvc/activemq/branches/activemq-4.1/activemq-core/src/main/resources/META-INF/spring.schemas?view=auto&rev=547274 ============================================================================== --- activemq/branches/activemq-4.1/activemq-core/src/main/resources/META-INF/spring.schemas (added) +++ activemq/branches/activemq-4.1/activemq-core/src/main/resources/META-INF/spring.schemas Thu Jun 14 08:18:31 2007 @@ -0,0 +1,8 @@ +# resolve remote XSD documents to local classpath schema +http\://activemq.apache.org/schema/activemq-core.xsd = activemq.xsd +http\://activemq.apache.org/schema/activemq-core-4.1.xsd = activemq.xsd + +# attempt to resolve the namespace URI to a schema if no XSD is mentioned in the doc +# TODO this is EXPERIMENTAL - it might not actually be used! +http\://activemq.org/config/1.0=activemq.xsd +http\://activemq.org/config/1.0/1.0.xsd=activemq.xsd \ No newline at end of file Added: activemq/branches/activemq-4.1/activemq-core/src/test/java/org/apache/activemq/spring/Spring2XmlNamespacesTest.java URL: http://svn.apache.org/viewvc/activemq/branches/activemq-4.1/activemq-core/src/test/java/org/apache/activemq/spring/Spring2XmlNamespacesTest.java?view=auto&rev=547274 ============================================================================== --- activemq/branches/activemq-4.1/activemq-core/src/test/java/org/apache/activemq/spring/Spring2XmlNamespacesTest.java (added) +++ activemq/branches/activemq-4.1/activemq-core/src/test/java/org/apache/activemq/spring/Spring2XmlNamespacesTest.java Thu Jun 14 08:18:31 2007 @@ -0,0 +1,24 @@ +/** + * + * 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.activemq.spring; + +public class Spring2XmlNamespacesTest extends SpringTestSupport { + public void testUsingSpringXmlNamespacesWithPublicXsdLocation() throws Exception { + assertSenderConfig("spring-embedded-xbean.xml"); + } +} \ No newline at end of file Added: activemq/branches/activemq-4.1/activemq-core/src/test/java/org/apache/activemq/spring/Spring2XmlNamespacesWithoutRemoteSchemaTest.java URL: http://svn.apache.org/viewvc/activemq/branches/activemq-4.1/activemq-core/src/test/java/org/apache/activemq/spring/Spring2XmlNamespacesWithoutRemoteSchemaTest.java?view=auto&rev=547274 ============================================================================== --- activemq/branches/activemq-4.1/activemq-core/src/test/java/org/apache/activemq/spring/Spring2XmlNamespacesWithoutRemoteSchemaTest.java (added) +++ activemq/branches/activemq-4.1/activemq-core/src/test/java/org/apache/activemq/spring/Spring2XmlNamespacesWithoutRemoteSchemaTest.java Thu Jun 14 08:18:31 2007 @@ -0,0 +1,24 @@ +/** + * + * 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.activemq.spring; + +public class Spring2XmlNamespacesWithoutRemoteSchemaTest extends SpringTestSupport { + public void testUsingSpring2NamespacesForANonExistingXsdDocument() throws Exception { + assertSenderConfig("spring-embedded-xbean-noversion.xml"); + } +} \ No newline at end of file Modified: activemq/branches/activemq-4.1/activemq-core/src/test/java/org/apache/activemq/spring/SpringConsumer.java URL: http://svn.apache.org/viewvc/activemq/branches/activemq-4.1/activemq-core/src/test/java/org/apache/activemq/spring/SpringConsumer.java?view=diff&rev=547274&r1=547273&r2=547274 ============================================================================== --- activemq/branches/activemq-4.1/activemq-core/src/test/java/org/apache/activemq/spring/SpringConsumer.java (original) +++ activemq/branches/activemq-4.1/activemq-core/src/test/java/org/apache/activemq/spring/SpringConsumer.java Thu Jun 14 08:18:31 2007 @@ -70,12 +70,15 @@ public void stop() throws JMSException { - if( consumer!=null ) - consumer.close(); - if( session!=null ) - session.close(); - if( connection!=null ) - connection.close(); + if (consumer != null) { + consumer.close(); + } + if (session != null) { + session.close(); + } + if (connection != null) { + connection.close(); + } } public void onMessage(Message message) { Modified: activemq/branches/activemq-4.1/activemq-core/src/test/java/org/apache/activemq/spring/SpringTest.java URL: http://svn.apache.org/viewvc/activemq/branches/activemq-4.1/activemq-core/src/test/java/org/apache/activemq/spring/SpringTest.java?view=diff&rev=547274&r1=547273&r2=547274 ============================================================================== --- activemq/branches/activemq-4.1/activemq-core/src/test/java/org/apache/activemq/spring/SpringTest.java (original) +++ activemq/branches/activemq-4.1/activemq-core/src/test/java/org/apache/activemq/spring/SpringTest.java Thu Jun 14 08:18:31 2007 @@ -15,27 +15,12 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - package org.apache.activemq.spring; -import java.util.Iterator; -import java.util.List; - -import junit.framework.TestCase; - import org.apache.activemq.broker.BrokerService; -import org.springframework.context.support.AbstractApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; -public class SpringTest extends TestCase { - - private static final org.apache.commons.logging.Log log = org.apache.commons.logging.LogFactory - .getLog(SpringTest.class); - - protected AbstractApplicationContext context; - protected SpringConsumer consumer; - protected SpringProducer producer; - +public class SpringTest extends SpringTestSupport { /** * Make sure that brokers are being pooled properly. * @@ -146,62 +131,4 @@ String config = "spring-embedded-xbean-local.xml"; assertSenderConfig(config); } - - /** - * assert method that is used by all the test method to send and receive messages - * based on each spring configuration. - * - * @param config - * @throws Exception - */ - protected void assertSenderConfig(String config) throws Exception { - Thread.currentThread().setContextClassLoader(SpringTest.class.getClassLoader()); - context = new ClassPathXmlApplicationContext(config); - - consumer = (SpringConsumer) context.getBean("consumer"); - assertTrue("Found a valid consumer", consumer != null); - - consumer.start(); - - // Wait a little to drain any left over messages. - Thread.sleep(1000); - consumer.flushMessages(); - - producer = (SpringProducer) context.getBean("producer"); - assertTrue("Found a valid producer", producer != null); - - producer.start(); - - // lets sleep a little to give the JMS time to dispatch stuff - consumer.waitForMessagesToArrive(producer.getMessageCount()); - - // now lets check that the consumer has received some messages - List messages = consumer.flushMessages(); - log.info("Consumer has received messages...."); - for (Iterator iter = messages.iterator(); iter.hasNext();) { - Object message = iter.next(); - log.info("Received: " + message); - } - - assertEquals("Message count", producer.getMessageCount(), messages.size()); - } - - /** - * Clean up method. - * - * @throws Exception - */ - protected void tearDown() throws Exception { - if (consumer != null) { - consumer.stop(); - } - if (producer != null) { - producer.stop(); - } - - if (context != null) { - context.destroy(); - } - } - } Added: activemq/branches/activemq-4.1/activemq-core/src/test/java/org/apache/activemq/spring/SpringTestSupport.java URL: http://svn.apache.org/viewvc/activemq/branches/activemq-4.1/activemq-core/src/test/java/org/apache/activemq/spring/SpringTestSupport.java?view=auto&rev=547274 ============================================================================== --- activemq/branches/activemq-4.1/activemq-core/src/test/java/org/apache/activemq/spring/SpringTestSupport.java (added) +++ activemq/branches/activemq-4.1/activemq-core/src/test/java/org/apache/activemq/spring/SpringTestSupport.java Thu Jun 14 08:18:31 2007 @@ -0,0 +1,92 @@ +/** + * + * 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.activemq.spring; + +import junit.framework.TestCase; +import org.springframework.context.support.AbstractApplicationContext; +import org.springframework.context.support.ClassPathXmlApplicationContext; + +import java.util.Iterator; +import java.util.List; + +/** + * @version $Revision: 1.1 $ + */ +public class SpringTestSupport extends TestCase { + private static final org.apache.commons.logging.Log log = org.apache.commons.logging.LogFactory.getLog(SpringTest.class); + protected AbstractApplicationContext context; + protected SpringConsumer consumer; + protected SpringProducer producer; + + /** + * assert method that is used by all the test method to send and receive messages + * based on each spring configuration. + * + * @param config + * @throws Exception + */ + protected void assertSenderConfig(String config) throws Exception { + Thread.currentThread().setContextClassLoader(SpringTest.class.getClassLoader()); + context = new ClassPathXmlApplicationContext(config); + + consumer = (SpringConsumer) context.getBean("consumer"); + assertTrue("Found a valid consumer", consumer != null); + + consumer.start(); + + // Wait a little to drain any left over messages. + Thread.sleep(1000); + consumer.flushMessages(); + + producer = (SpringProducer) context.getBean("producer"); + assertTrue("Found a valid producer", producer != null); + + producer.start(); + + // lets sleep a little to give the JMS time to dispatch stuff + consumer.waitForMessagesToArrive(producer.getMessageCount()); + + // now lets check that the consumer has received some messages + List messages = consumer.flushMessages(); + log.info("Consumer has received messages...."); + for (Iterator iter = messages.iterator(); iter.hasNext();) { + Object message = iter.next(); + log.info("Received: " + message); + } + + assertEquals("Message count", producer.getMessageCount(), messages.size()); + } + + /** + * Clean up method. + * + * @throws Exception + */ + protected void tearDown() throws Exception { + if (consumer != null) { + consumer.stop(); + } + if (producer != null) { + producer.stop(); + } + + if (context != null) { + context.destroy(); + } + } +} Added: activemq/branches/activemq-4.1/activemq-core/src/test/resources/spring-embedded-xbean-noversion.xml URL: http://svn.apache.org/viewvc/activemq/branches/activemq-4.1/activemq-core/src/test/resources/spring-embedded-xbean-noversion.xml?view=auto&rev=547274 ============================================================================== --- activemq/branches/activemq-4.1/activemq-core/src/test/resources/spring-embedded-xbean-noversion.xml (added) +++ activemq/branches/activemq-4.1/activemq-core/src/test/resources/spring-embedded-xbean-noversion.xml Thu Jun 14 08:18:31 2007 @@ -0,0 +1,80 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 10 + + + + + + + + + + + + Modified: activemq/branches/activemq-4.1/activemq-core/src/test/resources/spring-embedded-xbean.xml URL: http://svn.apache.org/viewvc/activemq/branches/activemq-4.1/activemq-core/src/test/resources/spring-embedded-xbean.xml?view=diff&rev=547274&r1=547273&r2=547274 ============================================================================== --- activemq/branches/activemq-4.1/activemq-core/src/test/resources/spring-embedded-xbean.xml (original) +++ activemq/branches/activemq-4.1/activemq-core/src/test/resources/spring-embedded-xbean.xml Thu Jun 14 08:18:31 2007 @@ -22,7 +22,7 @@ xmlns:amq="http://activemq.org/config/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd - http://activemq.org/config/1.0 http://people.apache.org/repository/org.apache.activemq/xsds/activemq-core-4.1-SNAPSHOT.xsd"> + http://activemq.org/config/1.0 http://activemq.apache.org/snapshot-schema/activemq-core-4.1-SNAPSHOT.xsd">