You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by dv...@apache.org on 2012/08/22 16:48:06 UTC
svn commit: r1376081 - in /camel/trunk/examples: ./ camel-example-cxf/
camel-example-cxf/src/main/java/org/apache/camel/example/camel/transport/
camel-example-cxf/src/main/java/org/apache/camel/example/cxf/httptojms/
camel-example-cxf/src/main/java/org...
Author: dvaleri
Date: Wed Aug 22 14:48:05 2012
New Revision: 1376081
URL: http://svn.apache.org/viewvc?rev=1376081&view=rev
Log:
[CAMEL-4814] Added use of dynamic ports for tests while retaining static ports for stand-alone example execution.
Removed:
camel/trunk/examples/camel-example-cxf/src/main/resources/features.xml
Modified:
camel/trunk/examples/camel-example-cxf/README.txt
camel/trunk/examples/camel-example-cxf/pom.xml
camel/trunk/examples/camel-example-cxf/src/main/java/org/apache/camel/example/camel/transport/CamelTransportExample.java
camel/trunk/examples/camel-example-cxf/src/main/java/org/apache/camel/example/camel/transport/Client.java
camel/trunk/examples/camel-example-cxf/src/main/java/org/apache/camel/example/camel/transport/Server.java
camel/trunk/examples/camel-example-cxf/src/main/java/org/apache/camel/example/cxf/httptojms/CamelCxfExample.java
camel/trunk/examples/camel-example-cxf/src/main/java/org/apache/camel/example/cxf/jaxrs/CamelRouterBuilder.java
camel/trunk/examples/camel-example-cxf/src/main/java/org/apache/camel/example/cxf/jaxrs/JAXRSClient.java
camel/trunk/examples/camel-example-cxf/src/main/java/org/apache/camel/example/cxf/jaxrs/JAXWSClient.java
camel/trunk/examples/camel-example-cxf/src/main/java/org/apache/camel/example/cxf/provider/Server.java
camel/trunk/examples/camel-example-cxf/src/main/resources/META-INF/spring/CamelCXFProviderRouteConfig.xml
camel/trunk/examples/camel-example-cxf/src/main/resources/META-INF/spring/CamelTransportSpringConfig.xml
camel/trunk/examples/camel-example-cxf/src/main/resources/META-INF/spring/HttpToJmsCamelContext.xml
camel/trunk/examples/camel-example-cxf/src/main/resources/META-INF/spring/JAXRSCamelContext.xml
camel/trunk/examples/camel-example-cxf/src/main/resources/org/apache/camel/example/camel/transport/CamelDestination.xml
camel/trunk/examples/camel-example-cxf/src/test/java/org/apache/camel/example/camel/transport/CamelTransportClientServerTest.java
camel/trunk/examples/camel-example-cxf/src/test/java/org/apache/camel/example/cxf/httptojms/CxfHttpJmsClientServerTest.java
camel/trunk/examples/camel-example-cxf/src/test/java/org/apache/camel/example/cxf/jaxrs/JAXRSClientServerTest.java
camel/trunk/examples/camel-example-cxf/src/test/java/org/apache/camel/example/provider/ProviderClientServerTest.java
camel/trunk/examples/pom.xml
Modified: camel/trunk/examples/camel-example-cxf/README.txt
URL: http://svn.apache.org/viewvc/camel/trunk/examples/camel-example-cxf/README.txt?rev=1376081&r1=1376080&r2=1376081&view=diff
==============================================================================
--- camel/trunk/examples/camel-example-cxf/README.txt (original)
+++ camel/trunk/examples/camel-example-cxf/README.txt Wed Aug 22 14:48:05 2012
@@ -18,18 +18,6 @@ To run the example of using WebServicePr
To run the example of showing how to create CXF JAXRS endpoint
mvn exec:java -PJAXRS
-To run the example within ServiceMix 4
- First, you need to install the camel-cxf, camel-jetty features into ServiceMix4
- Then install this bundle into ServiceMix, and use the following Java clients
- to call the services:
-
- mvn exec:java -PHttpToJMS.Client
- mvn exec:java -PCamelTransport.Client
- mvn exec:java -PWebServiceProvider.Client
- mvn exec:java -PJAXRS.Client
-
-To stop the example hit ctrl + c
-
This example is documented at
http://camel.apache.org/cxf-example.html
@@ -41,6 +29,3 @@ have. Enjoy!
------------------------
The Camel Riders!
-
-
-
Modified: camel/trunk/examples/camel-example-cxf/pom.xml
URL: http://svn.apache.org/viewvc/camel/trunk/examples/camel-example-cxf/pom.xml?rev=1376081&r1=1376080&r2=1376081&view=diff
==============================================================================
--- camel/trunk/examples/camel-example-cxf/pom.xml (original)
+++ camel/trunk/examples/camel-example-cxf/pom.xml Wed Aug 22 14:48:05 2012
@@ -28,7 +28,6 @@
</parent>
<artifactId>camel-example-cxf</artifactId>
- <packaging>bundle</packaging>
<name>Camel :: Example :: CXF</name>
<description>An example which demonstrates the use of the Camel CXF component</description>
@@ -146,6 +145,11 @@
<artifactId>camel-test-spring</artifactId>
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-test</artifactId>
+ <!-- Not test scope because we need to use the port finder utility in the actual example code. -->
+ </dependency>
</dependencies>
@@ -216,33 +220,8 @@
<build>
<plugins>
<plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>build-helper-maven-plugin</artifactId>
- <executions>
- <execution>
- <id>attach-artifacts</id>
- <phase>package</phase>
- <goals>
- <goal>attach-artifact</goal>
- </goals>
- <configuration>
- <artifacts>
- <artifact>
- <file>target/classes/features.xml</file>
- <type>xml</type>
- <classifier>features</classifier>
- </artifact>
- </artifacts>
- </configuration>
- </execution>
- </executions>
- </plugin>
-
-
- <plugin>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-codegen-plugin</artifactId>
- <version>${cxf-version}</version>
<executions>
<execution>
<id>generate-sources</id>
Modified: camel/trunk/examples/camel-example-cxf/src/main/java/org/apache/camel/example/camel/transport/CamelTransportExample.java
URL: http://svn.apache.org/viewvc/camel/trunk/examples/camel-example-cxf/src/main/java/org/apache/camel/example/camel/transport/CamelTransportExample.java?rev=1376081&r1=1376080&r2=1376081&view=diff
==============================================================================
--- camel/trunk/examples/camel-example-cxf/src/main/java/org/apache/camel/example/camel/transport/CamelTransportExample.java (original)
+++ camel/trunk/examples/camel-example-cxf/src/main/java/org/apache/camel/example/camel/transport/CamelTransportExample.java Wed Aug 22 14:48:05 2012
@@ -33,7 +33,7 @@ public final class CamelTransportExample
// start the endpoints
server.start();
// set the client's service access point
- Client client = new Client("http://localhost:9091/GreeterContext/GreeterPort");
+ Client client = new Client("http://localhost:9001/GreeterContext/GreeterPort");
// invoking the services
client.invoke();
Modified: camel/trunk/examples/camel-example-cxf/src/main/java/org/apache/camel/example/camel/transport/Client.java
URL: http://svn.apache.org/viewvc/camel/trunk/examples/camel-example-cxf/src/main/java/org/apache/camel/example/camel/transport/Client.java?rev=1376081&r1=1376080&r2=1376081&view=diff
==============================================================================
--- camel/trunk/examples/camel-example-cxf/src/main/java/org/apache/camel/example/camel/transport/Client.java (original)
+++ camel/trunk/examples/camel-example-cxf/src/main/java/org/apache/camel/example/camel/transport/Client.java Wed Aug 22 14:48:05 2012
@@ -51,7 +51,7 @@ public final class Client {
public static void main(String args[]) throws Exception {
// set the client's service access point
- Client client = new Client("http://localhost:9091/GreeterContext/GreeterPort");
+ Client client = new Client("http://localhost:9001/GreeterContext/GreeterPort");
// invoking the services
client.invoke();
}
Modified: camel/trunk/examples/camel-example-cxf/src/main/java/org/apache/camel/example/camel/transport/Server.java
URL: http://svn.apache.org/viewvc/camel/trunk/examples/camel-example-cxf/src/main/java/org/apache/camel/example/camel/transport/Server.java?rev=1376081&r1=1376080&r2=1376081&view=diff
==============================================================================
--- camel/trunk/examples/camel-example-cxf/src/main/java/org/apache/camel/example/camel/transport/Server.java (original)
+++ camel/trunk/examples/camel-example-cxf/src/main/java/org/apache/camel/example/camel/transport/Server.java Wed Aug 22 14:48:05 2012
@@ -27,6 +27,10 @@ public class Server {
Endpoint endpointB;
public void prepare() throws Exception {
+ // Set a system property used to configure the server. The examples all run on port 9091;
+ // however, the unit tests must run on a dynamic port. As such, we make the port configurable
+ // in the Spring context.
+ System.setProperty("port", "9001");
// setup the Camel context for the Camel transport
// START SNIPPET: e1
SpringBusFactory bf = new SpringBusFactory();
Modified: camel/trunk/examples/camel-example-cxf/src/main/java/org/apache/camel/example/cxf/httptojms/CamelCxfExample.java
URL: http://svn.apache.org/viewvc/camel/trunk/examples/camel-example-cxf/src/main/java/org/apache/camel/example/cxf/httptojms/CamelCxfExample.java?rev=1376081&r1=1376080&r2=1376081&view=diff
==============================================================================
--- camel/trunk/examples/camel-example-cxf/src/main/java/org/apache/camel/example/cxf/httptojms/CamelCxfExample.java (original)
+++ camel/trunk/examples/camel-example-cxf/src/main/java/org/apache/camel/example/cxf/httptojms/CamelCxfExample.java Wed Aug 22 14:48:05 2012
@@ -18,7 +18,9 @@ package org.apache.camel.example.cxf.htt
import org.apache.camel.CamelContext;
import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.component.properties.PropertiesComponent;
import org.apache.camel.impl.DefaultCamelContext;
+import org.apache.camel.test.AvailablePortFinder;
/**
* An example for demonstrating how Camel works as a Router.
@@ -26,8 +28,8 @@ import org.apache.camel.impl.DefaultCame
* to a SOAP over JMS Service.
*/
public final class CamelCxfExample {
- private static final String ROUTER_ADDRESS = "http://localhost:9001/SoapContext/SoapPort";
- private static final String SERVICE_ADDRESS = "http://localhost:9003/SoapContext/SoapPort";
+ private static final String ROUTER_ADDRESS = "http://localhost:{{routerPort}}/SoapContext/SoapPort";
+ private static final String SERVICE_ADDRESS = "http://localhost:{{servicePort}}/SoapContext/SoapPort";
private static final String SERVICE_CLASS = "serviceClass=org.apache.hello_world_soap_http.Greeter";
private static final String WSDL_LOCATION = "wsdlURL=wsdl/hello_world.wsdl";
private static final String SERVICE_NAME = "serviceName={http://apache.org/hello_world_soap_http}SOAPService";
@@ -46,6 +48,10 @@ public final class CamelCxfExample {
@Override
public void configure() throws Exception {
+ // Set system properties for use with Camel property placeholders for running the example tests.
+ System.setProperty("routerPort", String.valueOf(AvailablePortFinder.getNextAvailable()));
+ System.setProperty("servicePort", String.valueOf(AvailablePortFinder.getNextAvailable()));
+
// Here we just pass the exception back, don't need to use errorHandler
errorHandler(noErrorHandler());
from(ROUTER_ENDPOINT_URI).to(SERVICE_ENDPOINT_URI);
@@ -54,10 +60,16 @@ public final class CamelCxfExample {
}
public static void main(String args[]) throws Exception {
+
+ // Set system properties for use with Camel property placeholders for running the examples.
+ System.setProperty("routerPort", "9001");
+ System.setProperty("servicePort", "9003");
// START SNIPPET: e1
CamelContext context = new DefaultCamelContext();
// END SNIPPET: e1
+ PropertiesComponent pc = new PropertiesComponent();
+ context.addComponent("properties", pc);
// Set up the JMS broker and the CXF SOAP over JMS server
// START SNIPPET: e2
JmsBroker broker = new JmsBroker();
@@ -76,11 +88,12 @@ public final class CamelCxfExample {
}
});
// END SNIPPET: e3
+ String address = ROUTER_ADDRESS.replace("{{routerPort}}", System.getProperty("routerPort"));
// Starting the routing context
// Using the CXF Client to kick off the invocations
// START SNIPPET: e4
context.start();
- Client client = new Client(ROUTER_ADDRESS + "?wsdl");
+ Client client = new Client(address + "?wsdl");
// END SNIPPET: e4
// Now everything is set up - let's start the context
Modified: camel/trunk/examples/camel-example-cxf/src/main/java/org/apache/camel/example/cxf/jaxrs/CamelRouterBuilder.java
URL: http://svn.apache.org/viewvc/camel/trunk/examples/camel-example-cxf/src/main/java/org/apache/camel/example/cxf/jaxrs/CamelRouterBuilder.java?rev=1376081&r1=1376080&r2=1376081&view=diff
==============================================================================
--- camel/trunk/examples/camel-example-cxf/src/main/java/org/apache/camel/example/cxf/jaxrs/CamelRouterBuilder.java (original)
+++ camel/trunk/examples/camel-example-cxf/src/main/java/org/apache/camel/example/cxf/jaxrs/CamelRouterBuilder.java Wed Aug 22 14:48:05 2012
@@ -24,22 +24,28 @@ import org.apache.camel.Exchange;
import org.apache.camel.Processor;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.cxf.common.message.CxfConstants;
+import org.apache.camel.component.properties.PropertiesComponent;
import org.apache.camel.example.cxf.jaxrs.resources.Book;
import org.apache.camel.example.cxf.jaxrs.resources.BookStore;
import org.apache.camel.example.cxf.jaxrs.resources.BookStoreImpl;
import org.apache.camel.impl.DefaultCamelContext;
public class CamelRouterBuilder extends RouteBuilder {
- private static final String SOAP_ENDPOINT_URI = "cxf://http://localhost:9006/soap"
+ private static final String SOAP_ENDPOINT_URI = "cxf://http://localhost:{{soapEndpointPort}}/soap"
+ "?serviceClass=org.apache.camel.example.cxf.jaxrs.resources.BookStore";
- private static final String REST_ENDPOINT_URI = "cxfrs://http://localhost:9002/rest"
+ private static final String REST_ENDPOINT_URI = "cxfrs://http://localhost:{{restEndpointPort}}/rest"
+ "?resourceClasses=org.apache.camel.example.cxf.jaxrs.resources.BookStoreImpl";
/**
* Allow this route to be run as an application
*/
public static void main(String[] args) throws Exception {
+ System.setProperty("soapEndpointPort", "9006");
+ System.setProperty("restEndpointPort", "9002");
+
CamelContext context = new DefaultCamelContext();
+ PropertiesComponent pc = new PropertiesComponent();
+ context.addComponent("properties", pc);
context.start();
context.addRoutes(new CamelRouterBuilder());
Thread.sleep(1000);
Modified: camel/trunk/examples/camel-example-cxf/src/main/java/org/apache/camel/example/cxf/jaxrs/JAXRSClient.java
URL: http://svn.apache.org/viewvc/camel/trunk/examples/camel-example-cxf/src/main/java/org/apache/camel/example/cxf/jaxrs/JAXRSClient.java?rev=1376081&r1=1376080&r2=1376081&view=diff
==============================================================================
--- camel/trunk/examples/camel-example-cxf/src/main/java/org/apache/camel/example/cxf/jaxrs/JAXRSClient.java (original)
+++ camel/trunk/examples/camel-example-cxf/src/main/java/org/apache/camel/example/cxf/jaxrs/JAXRSClient.java Wed Aug 22 14:48:05 2012
@@ -31,7 +31,7 @@ public final class JAXRSClient {
public JAXRSClient() {
bookStore = JAXRSClientFactory.create(
- "http://localhost:9002/rest",
+ "http://localhost:" + System.getProperty("restEndpointPort") + "/rest",
BookStore.class,
Collections.singletonList(new TestResponseExceptionMapper()));
}
Modified: camel/trunk/examples/camel-example-cxf/src/main/java/org/apache/camel/example/cxf/jaxrs/JAXWSClient.java
URL: http://svn.apache.org/viewvc/camel/trunk/examples/camel-example-cxf/src/main/java/org/apache/camel/example/cxf/jaxrs/JAXWSClient.java?rev=1376081&r1=1376080&r2=1376081&view=diff
==============================================================================
--- camel/trunk/examples/camel-example-cxf/src/main/java/org/apache/camel/example/cxf/jaxrs/JAXWSClient.java (original)
+++ camel/trunk/examples/camel-example-cxf/src/main/java/org/apache/camel/example/cxf/jaxrs/JAXWSClient.java Wed Aug 22 14:48:05 2012
@@ -25,7 +25,7 @@ public final class JAXWSClient {
public JAXWSClient() {
JaxWsProxyFactoryBean cfb = new JaxWsProxyFactoryBean();
cfb.setServiceClass(BookStore.class);
- cfb.setAddress("http://localhost:9006/soap");
+ cfb.setAddress("http://localhost:" + System.getProperty("soapEndpointPort") + "/soap");
bookStore = (BookStore) cfb.create();
}
Modified: camel/trunk/examples/camel-example-cxf/src/main/java/org/apache/camel/example/cxf/provider/Server.java
URL: http://svn.apache.org/viewvc/camel/trunk/examples/camel-example-cxf/src/main/java/org/apache/camel/example/cxf/provider/Server.java?rev=1376081&r1=1376080&r2=1376081&view=diff
==============================================================================
--- camel/trunk/examples/camel-example-cxf/src/main/java/org/apache/camel/example/cxf/provider/Server.java (original)
+++ camel/trunk/examples/camel-example-cxf/src/main/java/org/apache/camel/example/cxf/provider/Server.java Wed Aug 22 14:48:05 2012
@@ -23,6 +23,10 @@ public class Server {
AbstractApplicationContext applicationContext;
public void start() throws Exception {
+ // Set a system property used to configure the server. The example runs on port 9000;
+ // however, the unit tests must run on a dynamic port. As such, we make the port configurable
+ // in the Spring context.
+ System.setProperty("port", "9000");
// Setup the Camel context using Spring
applicationContext = new ClassPathXmlApplicationContext("/META-INF/spring/CamelCXFProviderRouteConfig.xml");
}
Modified: camel/trunk/examples/camel-example-cxf/src/main/resources/META-INF/spring/CamelCXFProviderRouteConfig.xml
URL: http://svn.apache.org/viewvc/camel/trunk/examples/camel-example-cxf/src/main/resources/META-INF/spring/CamelCXFProviderRouteConfig.xml?rev=1376081&r1=1376080&r2=1376081&view=diff
==============================================================================
--- camel/trunk/examples/camel-example-cxf/src/main/resources/META-INF/spring/CamelCXFProviderRouteConfig.xml (original)
+++ camel/trunk/examples/camel-example-cxf/src/main/resources/META-INF/spring/CamelCXFProviderRouteConfig.xml Wed Aug 22 14:48:05 2012
@@ -24,6 +24,11 @@
http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd
">
+
+ <!-- Enable bridge between Camel Property Placeholder and Spring Property placeholder so we can use system properties
+ to dynamically set the port number for unit testing the example. -->
+ <bean id="bridgePropertyPlaceholder" class="org.apache.camel.spring.spi.BridgePropertyPlaceholderConfigurer"/>
+
<!-- START SNIPPET: example -->
<!--
@@ -37,7 +42,7 @@
<cxf:cxfEndpoint id="soapMessageEndpoint"
serviceClass="org.apache.camel.example.cxf.provider.GreeterProvider"
- address="http://localhost:9000/GreeterContext/SOAPMessageService"
+ address="http://localhost:{{port}}/GreeterContext/SOAPMessageService"
wsdlURL="wsdl/hello_world.wsdl"
endpointName="s:SoapOverHttpRouter"
serviceName="s:SOAPService"
Modified: camel/trunk/examples/camel-example-cxf/src/main/resources/META-INF/spring/CamelTransportSpringConfig.xml
URL: http://svn.apache.org/viewvc/camel/trunk/examples/camel-example-cxf/src/main/resources/META-INF/spring/CamelTransportSpringConfig.xml?rev=1376081&r1=1376080&r2=1376081&view=diff
==============================================================================
--- camel/trunk/examples/camel-example-cxf/src/main/resources/META-INF/spring/CamelTransportSpringConfig.xml (original)
+++ camel/trunk/examples/camel-example-cxf/src/main/resources/META-INF/spring/CamelTransportSpringConfig.xml Wed Aug 22 14:48:05 2012
@@ -21,9 +21,13 @@
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd
http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd">
-
+
+ <!-- Enable bridge between Camel Property Placeholder and Spring Property placeholder so we can use system properties
+ to dynamically set the port number for unit testing the example. -->
+ <bean id="bridgePropertyPlaceholder" class="org.apache.camel.spring.spi.BridgePropertyPlaceholderConfigurer"/>
+
<import resource="classpath:META-INF/cxf/cxf.xml"/>
-
+
<bean id="roundRobinRef" class="org.apache.camel.processor.loadbalancer.RoundRobinLoadBalancer"/>
<bean class="org.apache.camel.component.cxf.transport.CamelTransportFactory" lazy-init="false">
@@ -38,7 +42,7 @@
<camelContext id="dest_context" xmlns="http://camel.apache.org/schema/spring">
<route>
- <from uri="jetty:http://localhost:9091/GreeterContext/GreeterPort"/>
+ <from uri="jetty:http://localhost:{{port}}/GreeterContext/GreeterPort"/>
<loadBalance ref="roundRobinRef">
<to uri="direct:EndpointA"/>
<to uri="direct:EndpointB"/>
Modified: camel/trunk/examples/camel-example-cxf/src/main/resources/META-INF/spring/HttpToJmsCamelContext.xml
URL: http://svn.apache.org/viewvc/camel/trunk/examples/camel-example-cxf/src/main/resources/META-INF/spring/HttpToJmsCamelContext.xml?rev=1376081&r1=1376080&r2=1376081&view=diff
==============================================================================
--- camel/trunk/examples/camel-example-cxf/src/main/resources/META-INF/spring/HttpToJmsCamelContext.xml (original)
+++ camel/trunk/examples/camel-example-cxf/src/main/resources/META-INF/spring/HttpToJmsCamelContext.xml Wed Aug 22 14:48:05 2012
@@ -27,6 +27,10 @@
http://activemq.apache.org/schema/core http://activemq.apache.org/schema/core/activemq-core-5.5.0.xsd
http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd">
+ <!-- Enable bridge between Camel Property Placeholder and Spring Property placeholder so we can use system properties
+ to dynamically set the port number for unit testing the example. -->
+ <bean id="bridgePropertyPlaceholder" class="org.apache.camel.spring.spi.BridgePropertyPlaceholderConfigurer"/>
+
<import resource="classpath:META-INF/cxf/cxf.xml"/>
<broker:broker id="broker" useJmx="false" persistent="false" dataDirectory="target/activemq">
Modified: camel/trunk/examples/camel-example-cxf/src/main/resources/META-INF/spring/JAXRSCamelContext.xml
URL: http://svn.apache.org/viewvc/camel/trunk/examples/camel-example-cxf/src/main/resources/META-INF/spring/JAXRSCamelContext.xml?rev=1376081&r1=1376080&r2=1376081&view=diff
==============================================================================
--- camel/trunk/examples/camel-example-cxf/src/main/resources/META-INF/spring/JAXRSCamelContext.xml (original)
+++ camel/trunk/examples/camel-example-cxf/src/main/resources/META-INF/spring/JAXRSCamelContext.xml Wed Aug 22 14:48:05 2012
@@ -23,6 +23,10 @@
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd">
+ <!-- Enable bridge between Camel Property Placeholder and Spring Property placeholder so we can use system properties
+ to dynamically set the port number for unit testing the example. -->
+ <bean id="bridgePropertyPlaceholder" class="org.apache.camel.spring.spi.BridgePropertyPlaceholderConfigurer"/>
+
<import resource="classpath:META-INF/cxf/cxf.xml"/>
<camel:camelContext id="cxfrs_context">
Modified: camel/trunk/examples/camel-example-cxf/src/main/resources/org/apache/camel/example/camel/transport/CamelDestination.xml
URL: http://svn.apache.org/viewvc/camel/trunk/examples/camel-example-cxf/src/main/resources/org/apache/camel/example/camel/transport/CamelDestination.xml?rev=1376081&r1=1376080&r2=1376081&view=diff
==============================================================================
--- camel/trunk/examples/camel-example-cxf/src/main/resources/org/apache/camel/example/camel/transport/CamelDestination.xml (original)
+++ camel/trunk/examples/camel-example-cxf/src/main/resources/org/apache/camel/example/camel/transport/CamelDestination.xml Wed Aug 22 14:48:05 2012
@@ -26,12 +26,16 @@
http://camel.apache.org/schema/cxf http://camel.apache.org/schema/cxf/cxfEndpoint.xsd
http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd
">
+
+ <!-- Enable bridge between Camel Property Placeholder and Spring Property placeholder so we can use system properties
+ to dynamically set the port number for unit testing the example. -->
+ <bean id="bridgePropertyPlaceholder" class="org.apache.camel.spring.spi.BridgePropertyPlaceholderConfigurer"/>
<bean id = "roundRobinRef" class="org.apache.camel.processor.loadbalancer.RoundRobinLoadBalancer" />
<camelContext id="dest_context" xmlns="http://camel.apache.org/schema/spring">
<route>
- <from uri="jetty:http://localhost:9091/GreeterContext/GreeterPort"/>
+ <from uri="jetty:http://localhost:{{port}}/GreeterContext/GreeterPort"/>
<loadBalance ref="roundRobinRef">
<to uri="direct:EndpointA"/>
<to uri="direct:EndpointB"/>
Modified: camel/trunk/examples/camel-example-cxf/src/test/java/org/apache/camel/example/camel/transport/CamelTransportClientServerTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/examples/camel-example-cxf/src/test/java/org/apache/camel/example/camel/transport/CamelTransportClientServerTest.java?rev=1376081&r1=1376080&r2=1376081&view=diff
==============================================================================
--- camel/trunk/examples/camel-example-cxf/src/test/java/org/apache/camel/example/camel/transport/CamelTransportClientServerTest.java (original)
+++ camel/trunk/examples/camel-example-cxf/src/test/java/org/apache/camel/example/camel/transport/CamelTransportClientServerTest.java Wed Aug 22 14:48:05 2012
@@ -18,6 +18,7 @@ package org.apache.camel.example.camel.t
import java.net.MalformedURLException;
+import org.apache.camel.test.AvailablePortFinder;
import org.apache.hello_world_soap_http.Greeter;
import org.apache.hello_world_soap_http.PingMeFault;
import org.apache.hello_world_soap_http.types.FaultDetail;
@@ -30,10 +31,13 @@ import org.springframework.context.suppo
public class CamelTransportClientServerTest extends Assert {
static AbstractApplicationContext context;
+ static int port;
@BeforeClass
public static void startUpServer() throws Exception {
if (!"true".equalsIgnoreCase(System.getProperty("skipStartingCamelContext"))) {
+ port = AvailablePortFinder.getNextAvailable();
+ System.setProperty("port", String.valueOf(port));
context = new ClassPathXmlApplicationContext(new String[]{"/META-INF/spring/CamelTransportSpringConfig.xml"});
} else {
System.out.println("Skipping starting CamelContext as system property skipStartingCamelContext is set to be true.");
@@ -49,7 +53,7 @@ public class CamelTransportClientServerT
@Test
public void testClientInvocation() throws MalformedURLException {
- Client client = new Client("http://localhost:9091/GreeterContext/GreeterPort");
+ Client client = new Client("http://localhost:" + port + "/GreeterContext/GreeterPort");
Greeter port = client.getProxy();
assertNotNull("The proxy should not be null", port);
Modified: camel/trunk/examples/camel-example-cxf/src/test/java/org/apache/camel/example/cxf/httptojms/CxfHttpJmsClientServerTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/examples/camel-example-cxf/src/test/java/org/apache/camel/example/cxf/httptojms/CxfHttpJmsClientServerTest.java?rev=1376081&r1=1376080&r2=1376081&view=diff
==============================================================================
--- camel/trunk/examples/camel-example-cxf/src/test/java/org/apache/camel/example/cxf/httptojms/CxfHttpJmsClientServerTest.java (original)
+++ camel/trunk/examples/camel-example-cxf/src/test/java/org/apache/camel/example/cxf/httptojms/CxfHttpJmsClientServerTest.java Wed Aug 22 14:48:05 2012
@@ -27,11 +27,13 @@ import org.springframework.context.suppo
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class CxfHttpJmsClientServerTest extends CamelSpringTestSupport {
- private static final String ROUTER_ADDRESS = "http://localhost:9001/SoapContext/SoapPort";
+ private static final String ROUTER_ADDRESS = "http://localhost:{{routerPort}}/SoapContext/SoapPort";
@Test
public void testClientInvocation() throws MalformedURLException {
- Client client = new Client(ROUTER_ADDRESS + "?wsdl");
+ String address = ROUTER_ADDRESS.replace("{{routerPort}}", System.getProperty("routerPort"));
+
+ Client client = new Client(address + "?wsdl");
Greeter proxy = client.getProxy();
String resp;
Modified: camel/trunk/examples/camel-example-cxf/src/test/java/org/apache/camel/example/cxf/jaxrs/JAXRSClientServerTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/examples/camel-example-cxf/src/test/java/org/apache/camel/example/cxf/jaxrs/JAXRSClientServerTest.java?rev=1376081&r1=1376080&r2=1376081&view=diff
==============================================================================
--- camel/trunk/examples/camel-example-cxf/src/test/java/org/apache/camel/example/cxf/jaxrs/JAXRSClientServerTest.java (original)
+++ camel/trunk/examples/camel-example-cxf/src/test/java/org/apache/camel/example/cxf/jaxrs/JAXRSClientServerTest.java Wed Aug 22 14:48:05 2012
@@ -19,14 +19,22 @@ package org.apache.camel.example.cxf.jax
import org.apache.camel.example.cxf.jaxrs.resources.Book;
import org.apache.camel.example.cxf.jaxrs.resources.BookNotFoundFault;
import org.apache.camel.example.cxf.jaxrs.resources.BookStore;
+import org.apache.camel.test.AvailablePortFinder;
import org.apache.camel.test.junit4.CamelSpringTestSupport;
import org.apache.cxf.BusFactory;
+import org.junit.BeforeClass;
import org.junit.Test;
import org.springframework.context.support.AbstractXmlApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class JAXRSClientServerTest extends CamelSpringTestSupport {
+ @BeforeClass
+ public static void setupPorts() {
+ System.setProperty("soapEndpointPort", String.valueOf(AvailablePortFinder.getNextAvailable()));
+ System.setProperty("restEndpointPort", String.valueOf(AvailablePortFinder.getNextAvailable()));
+ }
+
@Test
public void testJAXWSClient() throws BookNotFoundFault {
JAXWSClient jaxwsClient = new JAXWSClient();
Modified: camel/trunk/examples/camel-example-cxf/src/test/java/org/apache/camel/example/provider/ProviderClientServerTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/examples/camel-example-cxf/src/test/java/org/apache/camel/example/provider/ProviderClientServerTest.java?rev=1376081&r1=1376080&r2=1376081&view=diff
==============================================================================
--- camel/trunk/examples/camel-example-cxf/src/test/java/org/apache/camel/example/provider/ProviderClientServerTest.java (original)
+++ camel/trunk/examples/camel-example-cxf/src/test/java/org/apache/camel/example/provider/ProviderClientServerTest.java Wed Aug 22 14:48:05 2012
@@ -17,6 +17,7 @@
package org.apache.camel.example.provider;
import org.apache.camel.example.cxf.provider.Client;
+import org.apache.camel.test.AvailablePortFinder;
import org.apache.camel.test.junit4.CamelSpringTestSupport;
import org.junit.Test;
import org.springframework.context.support.AbstractXmlApplicationContext;
@@ -24,10 +25,12 @@ import org.springframework.context.suppo
public class ProviderClientServerTest extends CamelSpringTestSupport {
+ int port;
+
@Test
public void testClientInvocation() throws Exception {
// set the client's service access point
- Client client = new Client("http://localhost:9000/GreeterContext/SOAPMessageService");
+ Client client = new Client("http://localhost:" + port + "/GreeterContext/SOAPMessageService");
// invoke the services
String response = client.invoke();
@@ -36,6 +39,9 @@ public class ProviderClientServerTest ex
@Override
protected AbstractXmlApplicationContext createApplicationContext() {
+ port = AvailablePortFinder.getNextAvailable();
+ System.setProperty("port", String.valueOf(port));
+
return new ClassPathXmlApplicationContext(new String[]{"/META-INF/spring/CamelCXFProviderRouteConfig.xml"});
}
Modified: camel/trunk/examples/pom.xml
URL: http://svn.apache.org/viewvc/camel/trunk/examples/pom.xml?rev=1376081&r1=1376080&r2=1376081&view=diff
==============================================================================
--- camel/trunk/examples/pom.xml (original)
+++ camel/trunk/examples/pom.xml Wed Aug 22 14:48:05 2012
@@ -108,6 +108,35 @@
</configuration>
</plugin>
</plugins>
+ <pluginManagement>
+ <plugins>
+ <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
+ <plugin>
+ <groupId>org.eclipse.m2e</groupId>
+ <artifactId>lifecycle-mapping</artifactId>
+ <version>1.0.0</version>
+ <configuration>
+ <lifecycleMappingMetadata>
+ <pluginExecutions>
+ <pluginExecution>
+ <pluginExecutionFilter>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>maven-bundle-plugin</artifactId>
+ <versionRange>[2.3.7,)</versionRange>
+ <goals>
+ <goal>cleanVersions</goal>
+ </goals>
+ </pluginExecutionFilter>
+ <action>
+ <ignore></ignore>
+ </action>
+ </pluginExecution>
+ </pluginExecutions>
+ </lifecycleMappingMetadata>
+ </configuration>
+ </plugin>
+ </plugins>
+ </pluginManagement>
</build>
<profiles>