You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicemix.apache.org by ff...@apache.org on 2008/10/27 08:41:53 UTC
svn commit: r708100 - in
/servicemix/components/bindings/servicemix-cxf-bc/trunk: ./
src/main/java/org/apache/servicemix/cxfbc/
src/test/java/org/apache/servicemix/cxfbc/
src/test/java/org/apache/servicemix/cxfbc/provider/
src/test/resources/org/apache...
Author: ffang
Date: Mon Oct 27 00:41:53 2008
New Revision: 708100
URL: http://svn.apache.org/viewvc?rev=708100&view=rev
Log:
[SM-1571]CXF BC Provider using JMS Transport is not scalable (locks thread waiting for external service response)
Added:
servicemix/components/bindings/servicemix-cxf-bc/trunk/src/test/java/org/apache/servicemix/cxfbc/provider/CxfBCSEProviderAsyncSystemTest.java (with props)
servicemix/components/bindings/servicemix-cxf-bc/trunk/src/test/java/org/apache/servicemix/cxfbc/provider/TimeCompareInterceptor.java (with props)
servicemix/components/bindings/servicemix-cxf-bc/trunk/src/test/resources/org/apache/servicemix/cxfbc/provider/xbean_provider_async.xml (with props)
servicemix/components/bindings/servicemix-cxf-bc/trunk/src/test/resources/org/apache/servicemix/cxfbc/provider/xbean_provider_sync.xml (with props)
Modified:
servicemix/components/bindings/servicemix-cxf-bc/trunk/pom.xml
servicemix/components/bindings/servicemix-cxf-bc/trunk/src/main/java/org/apache/servicemix/cxfbc/CxfBcProvider.java
servicemix/components/bindings/servicemix-cxf-bc/trunk/src/test/java/org/apache/servicemix/cxfbc/GreeterImplTwoWayJMS.java
servicemix/components/bindings/servicemix-cxf-bc/trunk/src/test/java/org/apache/servicemix/cxfbc/provider/GreeterImpl.java
Modified: servicemix/components/bindings/servicemix-cxf-bc/trunk/pom.xml
URL: http://svn.apache.org/viewvc/servicemix/components/bindings/servicemix-cxf-bc/trunk/pom.xml?rev=708100&r1=708099&r2=708100&view=diff
==============================================================================
--- servicemix/components/bindings/servicemix-cxf-bc/trunk/pom.xml (original)
+++ servicemix/components/bindings/servicemix-cxf-bc/trunk/pom.xml Mon Oct 27 00:41:53 2008
@@ -48,7 +48,7 @@
<servicemix-version>3.2.1</servicemix-version>
<servicemix-shared-version>2008.02-SNAPSHOT</servicemix-shared-version>
<servicemix-cxf-se-version>2008.02-SNAPSHOT</servicemix-cxf-se-version>
- <cxf-version>2.1.3</cxf-version>
+ <cxf-version>2.1.4-SNAPSHOT</cxf-version>
<jetty-version>6.1.6</jetty-version>
<spring-version>2.0.6</spring-version>
<derby-version>10.2.2.0</derby-version>
Modified: servicemix/components/bindings/servicemix-cxf-bc/trunk/src/main/java/org/apache/servicemix/cxfbc/CxfBcProvider.java
URL: http://svn.apache.org/viewvc/servicemix/components/bindings/servicemix-cxf-bc/trunk/src/main/java/org/apache/servicemix/cxfbc/CxfBcProvider.java?rev=708100&r1=708099&r2=708100&view=diff
==============================================================================
--- servicemix/components/bindings/servicemix-cxf-bc/trunk/src/main/java/org/apache/servicemix/cxfbc/CxfBcProvider.java (original)
+++ servicemix/components/bindings/servicemix-cxf-bc/trunk/src/main/java/org/apache/servicemix/cxfbc/CxfBcProvider.java Mon Oct 27 00:41:53 2008
@@ -133,6 +133,8 @@
private boolean mtomEnabled;
private boolean useJBIWrapper = true;
+
+ private boolean synchronous = true;
public void processExchange(MessageExchange exchange) {
@@ -153,8 +155,9 @@
Message message = ep.getBinding().createMessage();
message.put(MessageExchange.class, exchange);
Exchange cxfExchange = new ExchangeImpl();
+ cxfExchange.setSynchronous(isSynchronous());
cxfExchange.put(MessageExchange.class, exchange);
-
+
message.setExchange(cxfExchange);
cxfExchange.setOutMessage(message);
@@ -177,6 +180,7 @@
cxfExchange.put(BindingOperationInfo.class, boi);
cxfExchange.put(Endpoint.class, ep);
cxfExchange.put(Service.class, cxfService);
+ cxfExchange.put(Bus.class, getBus());
PhaseChainCache outboundChainCache = new PhaseChainCache();
PhaseManager pm = getBus().getExtension(PhaseManager.class);
List<Interceptor> outList = new ArrayList<Interceptor>();
@@ -229,13 +233,12 @@
throw ex;
}
-
os = message.getContent(OutputStream.class);
os.flush();
is.close();
os.close();
} catch (Exception e) {
- faultProcess(exchange, message, e);
+ faultProcess(exchange, message, e);
}
}
@@ -571,4 +574,20 @@
transformer.transform(src, result);
return new ByteArrayInputStream(baos.toByteArray());
}
+
+ /**
+ * Specifies if the endpoints send message synchronously to external server using underlying
+ * jms/http transport
+ *
+ * * @param synchronous a boolean
+ * @org.apache.xbean.Property description="Specifies if the endpoints send message synchronously to external server using underlying
+ * jms/http transport. Default is <code>true</code>."
+ **/
+ public void setSynchronous(boolean synchronous) {
+ this.synchronous = synchronous;
+ }
+
+ public boolean isSynchronous() {
+ return synchronous;
+ }
}
Modified: servicemix/components/bindings/servicemix-cxf-bc/trunk/src/test/java/org/apache/servicemix/cxfbc/GreeterImplTwoWayJMS.java
URL: http://svn.apache.org/viewvc/servicemix/components/bindings/servicemix-cxf-bc/trunk/src/test/java/org/apache/servicemix/cxfbc/GreeterImplTwoWayJMS.java?rev=708100&r1=708099&r2=708100&view=diff
==============================================================================
--- servicemix/components/bindings/servicemix-cxf-bc/trunk/src/test/java/org/apache/servicemix/cxfbc/GreeterImplTwoWayJMS.java (original)
+++ servicemix/components/bindings/servicemix-cxf-bc/trunk/src/test/java/org/apache/servicemix/cxfbc/GreeterImplTwoWayJMS.java Mon Oct 27 00:41:53 2008
@@ -37,6 +37,14 @@
e.printStackTrace();
}
}
+ if ("wait".equals(me)) {
+ try {
+ Thread.sleep(10000);
+ } catch (InterruptedException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ }
return "Hello " + me;
}
Added: servicemix/components/bindings/servicemix-cxf-bc/trunk/src/test/java/org/apache/servicemix/cxfbc/provider/CxfBCSEProviderAsyncSystemTest.java
URL: http://svn.apache.org/viewvc/servicemix/components/bindings/servicemix-cxf-bc/trunk/src/test/java/org/apache/servicemix/cxfbc/provider/CxfBCSEProviderAsyncSystemTest.java?rev=708100&view=auto
==============================================================================
--- servicemix/components/bindings/servicemix-cxf-bc/trunk/src/test/java/org/apache/servicemix/cxfbc/provider/CxfBCSEProviderAsyncSystemTest.java (added)
+++ servicemix/components/bindings/servicemix-cxf-bc/trunk/src/test/java/org/apache/servicemix/cxfbc/provider/CxfBCSEProviderAsyncSystemTest.java Mon Oct 27 00:41:53 2008
@@ -0,0 +1,293 @@
+/*
+ * 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.servicemix.cxfbc.provider;
+
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.logging.Logger;
+
+import javax.jbi.messaging.InOut;
+import javax.xml.namespace.QName;
+
+
+import org.apache.cxf.common.logging.LogUtils;
+
+import org.apache.cxf.testutil.common.ServerLauncher;
+
+import org.apache.servicemix.client.DefaultServiceMixClient;
+import org.apache.servicemix.cxfbc.EmbededJMSBrokerLauncher;
+import org.apache.servicemix.cxfbc.MyJMSServer;
+import org.apache.servicemix.jbi.container.SpringJBIContainer;
+import org.apache.servicemix.jbi.jaxp.SourceTransformer;
+import org.apache.servicemix.jbi.jaxp.StringSource;
+import org.apache.servicemix.tck.SpringTestSupport;
+import org.apache.xbean.spring.context.ClassPathXmlApplicationContext;
+import org.springframework.context.support.AbstractXmlApplicationContext;
+
+/*
+ * This test is designed to verify that if use asynchrounous mode, the cxf bc provider will use non block
+ * mode to invoke the external server through underlying jms or http transport.To prove it works, configure the
+ * jbi container allocate only one thread to the cxf bc, and use a outgoing chain TimeCompareInterceptor to illustrate
+ * the second invocation send out before the first one returns, which means the noblock cxf bc provide works.
+ */
+public class CxfBCSEProviderAsyncSystemTest extends SpringTestSupport {
+
+ private static final Logger LOG = LogUtils.getL7dLogger(CxfBCSEProviderAsyncSystemTest.class);
+ private static boolean serversStarted;
+
+
+ private ServerLauncher sl;
+ private ServerLauncher embeddedLauncher;
+ private ServerLauncher jmsLauncher;
+ private boolean success;
+
+ public void startServers() throws Exception {
+ if (serversStarted) {
+ return;
+ }
+ Map<String, String> props = new HashMap<String, String>();
+
+
+
+ if (System.getProperty("activemq.store.dir") != null) {
+ props.put("activemq.store.dir", System.getProperty("activemq.store.dir"));
+ }
+ props.put("java.util.logging.config.file",
+ System.getProperty("java.util.logging.config.file"));
+
+ assertTrue("server did not launch correctly",
+ launchServer(EmbededJMSBrokerLauncher.class, props, false));
+ embeddedLauncher = sl;
+ assertTrue("server did not launch correctly",
+ launchServer(MyJMSServer.class, null, false));
+ jmsLauncher = sl;
+
+ assertTrue("server did not launch correctly",
+ launchServer(MyServer.class, props, false));
+
+ serversStarted = true;
+ }
+
+ protected void setUp() throws Exception {
+ startServers();
+ //super.setUp();
+ LOG.info("setUp is invoked");
+ }
+
+ public boolean launchServer(Class<?> clz, Map<String, String> p, boolean inProcess) {
+ boolean ok = false;
+ try {
+ sl = new ServerLauncher(clz.getName(), p, null, inProcess);
+ ok = sl.launchServer();
+ assertTrue("server failed to launch", ok);
+
+ } catch (IOException ex) {
+ ex.printStackTrace();
+ fail("failed to launch server " + clz);
+ }
+
+ return ok;
+ }
+
+ public void setUpJBI(String beanFile) throws Exception {
+ if (context != null) {
+ context.refresh();
+ }
+ transformer = new SourceTransformer();
+ if (beanFile == null) {
+ context = createBeanFactory();
+ } else {
+ context = createBeanFactory(beanFile);
+ }
+
+ jbi = (SpringJBIContainer) context.getBean("jbi");
+ assertNotNull("JBI Container not found in spring!", jbi);
+
+ }
+
+ public void tearDown() throws Exception {
+ if (context != null) {
+ context.destroy();
+ context = null;
+ }
+ if (jbi != null) {
+ jbi.shutDown();
+ jbi.destroy();
+ jbi = null;
+ }
+
+ try {
+ embeddedLauncher.stopServer();
+ } catch (IOException ex) {
+ ex.printStackTrace();
+ fail("failed to stop server " + embeddedLauncher.getClass());
+ }
+ try {
+ jmsLauncher.stopServer();
+ } catch (IOException ex) {
+ ex.printStackTrace();
+ fail("failed to stop server " + jmsLauncher.getClass());
+ }
+
+ try {
+ sl.stopServer();
+ } catch (IOException ex) {
+ ex.printStackTrace();
+ fail("failed to stop server " + sl.getClass());
+ }
+ serversStarted = false;
+ }
+
+
+
+ public void testGreetMeProviderWithHttpTransportAsync() throws Exception {
+ setUpJBI("org/apache/servicemix/cxfbc/provider/xbean_provider_async.xml");
+ greetMeProviderHttpTestBase();
+ assertTrue(success);
+ }
+
+ public void testGreetMeProviderWithJmsTransportAsync() throws Exception {
+ setUpJBI("org/apache/servicemix/cxfbc/provider/xbean_provider_async.xml");
+ greetMeProviderJmsTestBase();
+ assertTrue(success);
+ }
+
+ public void testGreetMeProviderWithHttpTransportSync() throws Exception {
+ setUpJBI("org/apache/servicemix/cxfbc/provider/xbean_provider_sync.xml");
+ greetMeProviderHttpTestBase();
+ assertTrue(success);
+ }
+
+ public void testGreetMeProviderWithJmsTransportSync() throws Exception {
+ setUpJBI("org/apache/servicemix/cxfbc/provider/xbean_provider_sync.xml");
+ greetMeProviderJmsTestBase();
+ assertTrue(success);
+ }
+
+
+ private void greetMeProviderHttpTestBase() throws Exception {
+ ClientInvocationForHttp thread1 = new ClientInvocationForHttp("wait");
+ thread1.start();
+ Thread.sleep(1000);
+ ClientInvocationForHttp thread2 = new ClientInvocationForHttp("fang");
+ thread2.start();
+ thread1.join();
+ thread2.join();
+ }
+
+ private void greetMeProviderJmsTestBase() throws Exception {
+ ClientInvocationForJms thread1 = new ClientInvocationForJms("wait");
+ thread1.start();
+ Thread.sleep(1000);
+ ClientInvocationForJms thread2 = new ClientInvocationForJms("fang");
+ thread2.start();
+ thread1.join();
+ thread2.join();
+
+ }
+
+ @Override
+ protected AbstractXmlApplicationContext createBeanFactory() {
+ // load cxf se and bc from spring config file
+ return new ClassPathXmlApplicationContext(
+ "org/apache/servicemix/cxfbc/provider/xbean_provider.xml");
+ }
+
+ protected AbstractXmlApplicationContext createBeanFactory(String beanFile) {
+ //load cxf se and bc from specified spring config file
+ return new ClassPathXmlApplicationContext(
+ beanFile);
+ }
+
+ class ClientInvocationForHttp extends Thread {
+ private String greeting;
+
+ public ClientInvocationForHttp(String greeting) {
+ this.greeting = greeting;
+ }
+
+ public void run() {
+ DefaultServiceMixClient client;
+ try {
+ client = new DefaultServiceMixClient(jbi);
+ InOut io = client.createInOutExchange();
+ io.setService(new QName("http://apache.org/hello_world_soap_http_provider", "SOAPService"));
+ io.setInterfaceName(new QName("http://apache.org/hello_world_soap_http_provider", "Greeter"));
+ io.setOperation(new QName("http://apache.org/hello_world_soap_http_provider", "greetMe"));
+ //send message to proxy
+ io.getInMessage().setContent(new StringSource(
+ "<greetMe xmlns='http://apache.org/hello_world_soap_http_provider/types'><requestType>"
+ + greeting
+ + "</requestType></greetMe>"));
+
+ client.send(io);
+ client.receive(100000);
+ client.done(io);
+ if (io.getFault() != null) {
+ success = false;
+ } else {
+ success = true;
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+
+ }
+
+
+ }
+
+ class ClientInvocationForJms extends Thread {
+ private String greeting;
+
+ public ClientInvocationForJms(String greeting) {
+ this.greeting = greeting;
+ }
+
+ public void run() {
+ DefaultServiceMixClient client;
+ try {
+ client = new DefaultServiceMixClient(jbi);
+ InOut io = client.createInOutExchange();
+ io.setService(new QName("http://apache.org/hello_world_soap_http", "HelloWorldService"));
+ io.setInterfaceName(new QName("http://apache.org/hello_world_soap_http", "Greeter"));
+ io.setOperation(new QName("http://apache.org/hello_world_soap_http", "greetMe"));
+ //send message to proxy
+ io.getInMessage().setContent(new StringSource(
+ "<greetMe xmlns='http://apache.org/hello_world_soap_http/types'><requestType>"
+ + greeting
+ + "</requestType></greetMe>"));
+
+ client.send(io);
+ client.receive(100000);
+ client.done(io);
+ if (io.getFault() != null) {
+ success = false;
+ } else {
+ success = true;
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+
+ }
+
+
+ }
+
+}
Propchange: servicemix/components/bindings/servicemix-cxf-bc/trunk/src/test/java/org/apache/servicemix/cxfbc/provider/CxfBCSEProviderAsyncSystemTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: servicemix/components/bindings/servicemix-cxf-bc/trunk/src/test/java/org/apache/servicemix/cxfbc/provider/CxfBCSEProviderAsyncSystemTest.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Modified: servicemix/components/bindings/servicemix-cxf-bc/trunk/src/test/java/org/apache/servicemix/cxfbc/provider/GreeterImpl.java
URL: http://svn.apache.org/viewvc/servicemix/components/bindings/servicemix-cxf-bc/trunk/src/test/java/org/apache/servicemix/cxfbc/provider/GreeterImpl.java?rev=708100&r1=708099&r2=708100&view=diff
==============================================================================
--- servicemix/components/bindings/servicemix-cxf-bc/trunk/src/test/java/org/apache/servicemix/cxfbc/provider/GreeterImpl.java (original)
+++ servicemix/components/bindings/servicemix-cxf-bc/trunk/src/test/java/org/apache/servicemix/cxfbc/provider/GreeterImpl.java Mon Oct 27 00:41:53 2008
@@ -28,6 +28,14 @@
public String greetMe(String me) {
System.out.println("\n\n*** GreetMe called with: " + me + "***\n\n");
+ if ("wait".equals(me)) {
+ try {
+ Thread.sleep(10000);
+ } catch (InterruptedException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ }
return "Hello " + me;
}
Added: servicemix/components/bindings/servicemix-cxf-bc/trunk/src/test/java/org/apache/servicemix/cxfbc/provider/TimeCompareInterceptor.java
URL: http://svn.apache.org/viewvc/servicemix/components/bindings/servicemix-cxf-bc/trunk/src/test/java/org/apache/servicemix/cxfbc/provider/TimeCompareInterceptor.java?rev=708100&view=auto
==============================================================================
--- servicemix/components/bindings/servicemix-cxf-bc/trunk/src/test/java/org/apache/servicemix/cxfbc/provider/TimeCompareInterceptor.java (added)
+++ servicemix/components/bindings/servicemix-cxf-bc/trunk/src/test/java/org/apache/servicemix/cxfbc/provider/TimeCompareInterceptor.java Mon Oct 27 00:41:53 2008
@@ -0,0 +1,69 @@
+/**
+ * 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.servicemix.cxfbc.provider;
+
+import org.apache.cxf.binding.jbi.JBIFault;
+import org.apache.cxf.interceptor.Fault;
+import org.apache.cxf.message.Message;
+import org.apache.cxf.phase.AbstractPhaseInterceptor;
+import org.apache.cxf.phase.Phase;
+
+public class TimeCompareInterceptor extends AbstractPhaseInterceptor {
+
+ private long currentThreadId;
+ private long before;
+ private boolean firstInvocation = true;
+
+ public TimeCompareInterceptor() {
+ super(Phase.PRE_STREAM);
+ }
+
+
+
+
+
+
+ public void handleMessage(Message message) throws Fault {
+ if (firstInvocation) {
+ firstInvocation = false;
+ currentThreadId = Thread.currentThread().getId();
+ before = System.currentTimeMillis();
+ } else {
+ if (Thread.currentThread().getId() != currentThreadId) {
+ //ensure only one thread is used for the cxf bc provider
+ throw new JBIFault("not invoked by the same thread");
+ }
+ if (!message.getExchange().isSynchronous()) {
+ if (System.currentTimeMillis() - before > 10000) {
+ //it's asynchronous way, so should use nonblcok invocation
+ throw new JBIFault("second invocation shouldn't wait the first invocation return");
+
+ }
+ } else {
+ if (System.currentTimeMillis() - before < 8000) {
+ //it's synchronous way, so should use blcok invocation
+ throw new JBIFault("second invocation should wait until the first invocation return");
+
+ }
+ }
+ }
+ }
+
+}
Propchange: servicemix/components/bindings/servicemix-cxf-bc/trunk/src/test/java/org/apache/servicemix/cxfbc/provider/TimeCompareInterceptor.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: servicemix/components/bindings/servicemix-cxf-bc/trunk/src/test/java/org/apache/servicemix/cxfbc/provider/TimeCompareInterceptor.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: servicemix/components/bindings/servicemix-cxf-bc/trunk/src/test/resources/org/apache/servicemix/cxfbc/provider/xbean_provider_async.xml
URL: http://svn.apache.org/viewvc/servicemix/components/bindings/servicemix-cxf-bc/trunk/src/test/resources/org/apache/servicemix/cxfbc/provider/xbean_provider_async.xml?rev=708100&view=auto
==============================================================================
--- servicemix/components/bindings/servicemix-cxf-bc/trunk/src/test/resources/org/apache/servicemix/cxfbc/provider/xbean_provider_async.xml (added)
+++ servicemix/components/bindings/servicemix-cxf-bc/trunk/src/test/resources/org/apache/servicemix/cxfbc/provider/xbean_provider_async.xml Mon Oct 27 00:41:53 2008
@@ -0,0 +1,95 @@
+<?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.
+
+ -->
+<beans xmlns:sm="http://servicemix.apache.org/config/1.0"
+ xmlns:cxfbc="http://servicemix.apache.org/cxfbc/1.0"
+ xmlns:test="urn:test"
+ xmlns:greeter="http://apache.org/hello_world_soap_http_provider"
+ xmlns:jmsgreeter="http://apache.org/hello_world_soap_http">
+
+
+
+ <sm:container id="jbi" embedded="true">
+ <sm:executorFactory>
+ <bean class="org.apache.servicemix.executors.impl.ExecutorFactoryImpl">
+ <property name="configs">
+ <map>
+ <entry key="flow.seda.servicemix-cxfbc">
+ <bean class="org.apache.servicemix.executors.impl.ExecutorConfig">
+ <property name="corePoolSize" value="1"/>
+ <property name="maximumPoolSize" value="1"/>
+ <property name="queueSize" value="-1"/>
+ </bean>
+ </entry>
+ </map>
+ </property>
+ </bean>
+ </sm:executorFactory>
+
+ <sm:endpoints>
+
+ <cxfbc:provider wsdl="./hello_world.wsdl"
+ locationURI="http://localhost:9000/SoapContext/SoapPort"
+ endpoint="SoapPort"
+ service="greeter:SOAPService"
+ interfaceName="greeter:Greeter"
+ useJBIWrapper="false"
+ synchronous="false"
+ >
+ <cxfbc:inInterceptors>
+ <bean class="org.apache.cxf.interceptor.LoggingInInterceptor"/>
+ </cxfbc:inInterceptors>
+ <cxfbc:outInterceptors>
+ <bean class="org.apache.cxf.interceptor.LoggingOutInterceptor"/>
+ <bean class="org.apache.servicemix.cxfbc.provider.TimeCompareInterceptor"/>
+ </cxfbc:outInterceptors>
+ <cxfbc:inFaultInterceptors>
+ <bean class="org.apache.cxf.interceptor.LoggingInInterceptor"/>
+ </cxfbc:inFaultInterceptors>
+ <cxfbc:outFaultInterceptors>
+ <bean class="org.apache.cxf.interceptor.LoggingOutInterceptor"/>
+ </cxfbc:outFaultInterceptors>
+ </cxfbc:provider>
+
+ <cxfbc:provider wsdl="org/apache/servicemix/cxfbc/ws/security/hello_world.wsdl"
+ service="jmsgreeter:HelloWorldService"
+ endpoint="HelloWorldPortProxy"
+ interfaceName="jmsgreeter:Greetr"
+ useJBIWrapper="false"
+ synchronous="false"
+ >
+ <cxfbc:inInterceptors>
+ <bean class="org.apache.cxf.interceptor.LoggingInInterceptor"/>
+ </cxfbc:inInterceptors>
+ <cxfbc:outInterceptors>
+ <bean class="org.apache.cxf.interceptor.LoggingOutInterceptor"/>
+ <bean class="org.apache.servicemix.cxfbc.provider.TimeCompareInterceptor"/>
+ </cxfbc:outInterceptors>
+ <cxfbc:inFaultInterceptors>
+ <bean class="org.apache.cxf.interceptor.LoggingInInterceptor"/>
+ </cxfbc:inFaultInterceptors>
+ <cxfbc:outFaultInterceptors>
+ <bean class="org.apache.cxf.interceptor.LoggingOutInterceptor"/>
+ </cxfbc:outFaultInterceptors>
+ </cxfbc:provider>
+ </sm:endpoints>
+
+ </sm:container>
+
+</beans>
Propchange: servicemix/components/bindings/servicemix-cxf-bc/trunk/src/test/resources/org/apache/servicemix/cxfbc/provider/xbean_provider_async.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: servicemix/components/bindings/servicemix-cxf-bc/trunk/src/test/resources/org/apache/servicemix/cxfbc/provider/xbean_provider_async.xml
------------------------------------------------------------------------------
svn:keywords = Rev Date
Propchange: servicemix/components/bindings/servicemix-cxf-bc/trunk/src/test/resources/org/apache/servicemix/cxfbc/provider/xbean_provider_async.xml
------------------------------------------------------------------------------
svn:mime-type = text/xml
Added: servicemix/components/bindings/servicemix-cxf-bc/trunk/src/test/resources/org/apache/servicemix/cxfbc/provider/xbean_provider_sync.xml
URL: http://svn.apache.org/viewvc/servicemix/components/bindings/servicemix-cxf-bc/trunk/src/test/resources/org/apache/servicemix/cxfbc/provider/xbean_provider_sync.xml?rev=708100&view=auto
==============================================================================
--- servicemix/components/bindings/servicemix-cxf-bc/trunk/src/test/resources/org/apache/servicemix/cxfbc/provider/xbean_provider_sync.xml (added)
+++ servicemix/components/bindings/servicemix-cxf-bc/trunk/src/test/resources/org/apache/servicemix/cxfbc/provider/xbean_provider_sync.xml Mon Oct 27 00:41:53 2008
@@ -0,0 +1,95 @@
+<?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.
+
+ -->
+<beans xmlns:sm="http://servicemix.apache.org/config/1.0"
+ xmlns:cxfbc="http://servicemix.apache.org/cxfbc/1.0"
+ xmlns:test="urn:test"
+ xmlns:greeter="http://apache.org/hello_world_soap_http_provider"
+ xmlns:jmsgreeter="http://apache.org/hello_world_soap_http">
+
+
+
+ <sm:container id="jbi" embedded="true">
+ <sm:executorFactory>
+ <bean class="org.apache.servicemix.executors.impl.ExecutorFactoryImpl">
+ <property name="configs">
+ <map>
+ <entry key="flow.seda.servicemix-cxfbc">
+ <bean class="org.apache.servicemix.executors.impl.ExecutorConfig">
+ <property name="corePoolSize" value="1"/>
+ <property name="maximumPoolSize" value="1"/>
+ <property name="queueSize" value="-1"/>
+ </bean>
+ </entry>
+
+ </map>
+ </property>
+ </bean>
+ </sm:executorFactory>
+
+ <sm:endpoints>
+
+ <cxfbc:provider wsdl="./hello_world.wsdl"
+ locationURI="http://localhost:9000/SoapContext/SoapPort"
+ endpoint="SoapPort"
+ service="greeter:SOAPService"
+ interfaceName="greeter:Greeter"
+ useJBIWrapper="false"
+ >
+ <cxfbc:inInterceptors>
+ <bean class="org.apache.cxf.interceptor.LoggingInInterceptor"/>
+ </cxfbc:inInterceptors>
+ <cxfbc:outInterceptors>
+ <bean class="org.apache.cxf.interceptor.LoggingOutInterceptor"/>
+ <bean class="org.apache.servicemix.cxfbc.provider.TimeCompareInterceptor"/>
+ </cxfbc:outInterceptors>
+ <cxfbc:inFaultInterceptors>
+ <bean class="org.apache.cxf.interceptor.LoggingInInterceptor"/>
+ </cxfbc:inFaultInterceptors>
+ <cxfbc:outFaultInterceptors>
+ <bean class="org.apache.cxf.interceptor.LoggingOutInterceptor"/>
+ </cxfbc:outFaultInterceptors>
+ </cxfbc:provider>
+
+ <cxfbc:provider wsdl="org/apache/servicemix/cxfbc/ws/security/hello_world.wsdl"
+ service="jmsgreeter:HelloWorldService"
+ endpoint="HelloWorldPortProxy"
+ interfaceName="jmsgreeter:Greetr"
+ useJBIWrapper="false"
+ busCfg="org/apache/servicemix/cxfbc/jms_test_timeout.xml"
+ >
+ <cxfbc:inInterceptors>
+ <bean class="org.apache.cxf.interceptor.LoggingInInterceptor"/>
+ </cxfbc:inInterceptors>
+ <cxfbc:outInterceptors>
+ <bean class="org.apache.cxf.interceptor.LoggingOutInterceptor"/>
+ <bean class="org.apache.servicemix.cxfbc.provider.TimeCompareInterceptor"/>
+ </cxfbc:outInterceptors>
+ <cxfbc:inFaultInterceptors>
+ <bean class="org.apache.cxf.interceptor.LoggingInInterceptor"/>
+ </cxfbc:inFaultInterceptors>
+ <cxfbc:outFaultInterceptors>
+ <bean class="org.apache.cxf.interceptor.LoggingOutInterceptor"/>
+ </cxfbc:outFaultInterceptors>
+ </cxfbc:provider>
+ </sm:endpoints>
+
+ </sm:container>
+
+</beans>
Propchange: servicemix/components/bindings/servicemix-cxf-bc/trunk/src/test/resources/org/apache/servicemix/cxfbc/provider/xbean_provider_sync.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: servicemix/components/bindings/servicemix-cxf-bc/trunk/src/test/resources/org/apache/servicemix/cxfbc/provider/xbean_provider_sync.xml
------------------------------------------------------------------------------
svn:keywords = Rev Date
Propchange: servicemix/components/bindings/servicemix-cxf-bc/trunk/src/test/resources/org/apache/servicemix/cxfbc/provider/xbean_provider_sync.xml
------------------------------------------------------------------------------
svn:mime-type = text/xml