You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aries.apache.org by cs...@apache.org on 2017/11/17 10:36:13 UTC
[1/2] aries-rsa git commit: Ignore pluin in eclipse
Repository: aries-rsa
Updated Branches:
refs/heads/master 218e0b2d3 -> 0ea1c0c37
Ignore pluin in eclipse
Project: http://git-wip-us.apache.org/repos/asf/aries-rsa/repo
Commit: http://git-wip-us.apache.org/repos/asf/aries-rsa/commit/3cfb2dc7
Tree: http://git-wip-us.apache.org/repos/asf/aries-rsa/tree/3cfb2dc7
Diff: http://git-wip-us.apache.org/repos/asf/aries-rsa/diff/3cfb2dc7
Branch: refs/heads/master
Commit: 3cfb2dc7dab0e19cad01cb96966b5ceae622f2c5
Parents: 218e0b2
Author: Christian Schneider <cs...@adobe.com>
Authored: Fri Nov 17 11:32:14 2017 +0100
Committer: Christian Schneider <cs...@adobe.com>
Committed: Fri Nov 17 11:32:14 2017 +0100
----------------------------------------------------------------------
provider/fastbin/pom.xml | 35 +++++++++++++++++++++++++++++++++++
1 file changed, 35 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/aries-rsa/blob/3cfb2dc7/provider/fastbin/pom.xml
----------------------------------------------------------------------
diff --git a/provider/fastbin/pom.xml b/provider/fastbin/pom.xml
index b6a2be1..4b273bf 100644
--- a/provider/fastbin/pom.xml
+++ b/provider/fastbin/pom.xml
@@ -97,6 +97,41 @@
</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.fusesource.hawtbuf
+ </groupId>
+ <artifactId>
+ hawtbuf-protoc
+ </artifactId>
+ <versionRange>
+ [1.11,)
+ </versionRange>
+ <goals>
+ <goal>compile</goal>
+ </goals>
+ </pluginExecutionFilter>
+ <action>
+ <ignore></ignore>
+ </action>
+ </pluginExecution>
+ </pluginExecutions>
+ </lifecycleMappingMetadata>
+ </configuration>
+ </plugin>
+ </plugins>
+ </pluginManagement>
</build>
</project>
[2/2] aries-rsa git commit: [ARIES-1756] Support osgi.basic.timeout
Posted by cs...@apache.org.
[ARIES-1756] Support osgi.basic.timeout
Project: http://git-wip-us.apache.org/repos/asf/aries-rsa/repo
Commit: http://git-wip-us.apache.org/repos/asf/aries-rsa/commit/0ea1c0c3
Tree: http://git-wip-us.apache.org/repos/asf/aries-rsa/tree/0ea1c0c3
Diff: http://git-wip-us.apache.org/repos/asf/aries-rsa/diff/0ea1c0c3
Branch: refs/heads/master
Commit: 0ea1c0c37d44e192478edc8a1e6c91383bb91381
Parents: 3cfb2dc
Author: Christian Schneider <cs...@adobe.com>
Authored: Fri Nov 17 11:35:02 2017 +0100
Committer: Christian Schneider <cs...@adobe.com>
Committed: Fri Nov 17 11:35:02 2017 +0100
----------------------------------------------------------------------
.../provider/tcp/EndpointPropertiesParser.java | 70 ++++++++++++++++
.../aries/rsa/provider/tcp/TCPProvider.java | 5 +-
.../aries/rsa/provider/tcp/TcpEndpoint.java | 20 +----
.../rsa/provider/tcp/TcpInvocationHandler.java | 12 +--
.../rsa/provider/tcp/EndpointParserTest.java | 86 ++++++++++++++++++++
.../aries/rsa/provider/tcp/TcpEndpointTest.java | 44 ++++------
.../aries/rsa/provider/tcp/TcpProviderTest.java | 15 +++-
.../rsa/provider/tcp/myservice/MyService.java | 1 +
.../provider/tcp/myservice/MyServiceImpl.java | 8 +-
9 files changed, 210 insertions(+), 51 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/aries-rsa/blob/0ea1c0c3/provider/tcp/src/main/java/org/apache/aries/rsa/provider/tcp/EndpointPropertiesParser.java
----------------------------------------------------------------------
diff --git a/provider/tcp/src/main/java/org/apache/aries/rsa/provider/tcp/EndpointPropertiesParser.java b/provider/tcp/src/main/java/org/apache/aries/rsa/provider/tcp/EndpointPropertiesParser.java
new file mode 100644
index 0000000..692c1d8
--- /dev/null
+++ b/provider/tcp/src/main/java/org/apache/aries/rsa/provider/tcp/EndpointPropertiesParser.java
@@ -0,0 +1,70 @@
+/**
+ * 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.aries.rsa.provider.tcp;
+
+import java.util.Map;
+
+import org.osgi.service.remoteserviceadmin.EndpointDescription;
+
+public class EndpointPropertiesParser {
+ static final String PORT_KEY = "aries.rsa.port";
+ static final String DYNAMIC_PORT = "0";
+ static final String HOSTNAME_KEY = "aries.rsa.hostname";
+ static final String TIMEOUT_KEY = "osgi.basic.timeout";
+ static final String DEFAULT_TIMEOUT_MILLIS = "300000";
+
+ private Map<String, Object> ep;
+
+ public EndpointPropertiesParser(EndpointDescription ep) {
+ this.ep = ep.getProperties();
+ }
+
+ public EndpointPropertiesParser(Map<String, Object> ep) {
+ this.ep = ep;
+ }
+
+ public int getTimeoutMillis() {
+ return getInt(TIMEOUT_KEY, DEFAULT_TIMEOUT_MILLIS);
+ }
+
+ int getInt(String key, String defaultValue) {
+ return Integer.parseInt(getString(key, defaultValue));
+ }
+
+ String getString(String key, String defaultValue) {
+ Object value = ep.get(key);
+ return value != null ? value.toString() : defaultValue;
+ }
+
+ public int getPort() {
+ return getInt(PORT_KEY, DYNAMIC_PORT);
+ }
+
+ public String getHostname() {
+ String hostName = getString(HOSTNAME_KEY, System.getProperty(HOSTNAME_KEY));
+ if (hostName == null) {
+ hostName = LocalHostUtil.getLocalIp();
+ }
+ return hostName;
+ }
+
+ public int getNumThreads() {
+ return getInt("aries.rsa.numThreads", "10");
+ }
+}
http://git-wip-us.apache.org/repos/asf/aries-rsa/blob/0ea1c0c3/provider/tcp/src/main/java/org/apache/aries/rsa/provider/tcp/TCPProvider.java
----------------------------------------------------------------------
diff --git a/provider/tcp/src/main/java/org/apache/aries/rsa/provider/tcp/TCPProvider.java b/provider/tcp/src/main/java/org/apache/aries/rsa/provider/tcp/TCPProvider.java
index c103abb..4ae654f 100644
--- a/provider/tcp/src/main/java/org/apache/aries/rsa/provider/tcp/TCPProvider.java
+++ b/provider/tcp/src/main/java/org/apache/aries/rsa/provider/tcp/TCPProvider.java
@@ -32,7 +32,6 @@ import org.osgi.service.remoteserviceadmin.RemoteConstants;
@SuppressWarnings("rawtypes")
public class TCPProvider implements DistributionProvider {
-
private static final String TCP_CONFIG_TYPE = "aries.tcp";
@Override
@@ -57,11 +56,13 @@ public class TCPProvider implements DistributionProvider {
throws IntentUnsatisfiedException {
try {
URI address = new URI(endpoint.getId());
- InvocationHandler handler = new TcpInvocationHandler(cl, address.getHost(), address.getPort());
+ Integer timeout = new EndpointPropertiesParser(endpoint).getTimeoutMillis();
+ InvocationHandler handler = new TcpInvocationHandler(cl, address.getHost(), address.getPort(), timeout);
return Proxy.newProxyInstance(cl, interfaces, handler);
} catch (Exception e) {
throw new RuntimeException(e);
}
}
+
}
http://git-wip-us.apache.org/repos/asf/aries-rsa/blob/0ea1c0c3/provider/tcp/src/main/java/org/apache/aries/rsa/provider/tcp/TcpEndpoint.java
----------------------------------------------------------------------
diff --git a/provider/tcp/src/main/java/org/apache/aries/rsa/provider/tcp/TcpEndpoint.java b/provider/tcp/src/main/java/org/apache/aries/rsa/provider/tcp/TcpEndpoint.java
index 41ae16e..25f6d62 100644
--- a/provider/tcp/src/main/java/org/apache/aries/rsa/provider/tcp/TcpEndpoint.java
+++ b/provider/tcp/src/main/java/org/apache/aries/rsa/provider/tcp/TcpEndpoint.java
@@ -33,28 +33,16 @@ public class TcpEndpoint implements Endpoint {
if (service == null) {
throw new NullPointerException("Service must not be null");
}
- Integer port = getInt(effectiveProperties, "aries.rsa.port", "0");
- String hostName = getString(effectiveProperties, "aries.rsa.hostname", System.getProperty("aries.rsa.hostname"));
- if (hostName == null) {
- hostName = LocalHostUtil.getLocalIp();
- }
- int numThreads = getInt(effectiveProperties, "aries.rsa.numThreads", "10");
+ EndpointPropertiesParser parser = new EndpointPropertiesParser(effectiveProperties);
+ Integer port = parser.getPort();
+ String hostName = parser.getHostname();
+ int numThreads = parser.getNumThreads();
tcpServer = new TCPServer(service, hostName, port, numThreads);
String endpointId = String.format("tcp://%s:%s",hostName, tcpServer.getPort());
effectiveProperties.put(RemoteConstants.ENDPOINT_ID, endpointId);
effectiveProperties.put(RemoteConstants.SERVICE_EXPORTED_CONFIGS, "");
this.epd = new EndpointDescription(effectiveProperties);
}
-
-
- private Integer getInt(Map<String, Object> effectiveProperties, String key, String defaultValue) {
- return Integer.parseInt(getString(effectiveProperties, key, defaultValue));
- }
-
- private String getString(Map<String, Object> effectiveProperties, String key, String defaultValue) {
- Object value = effectiveProperties.get(key);
- return value != null ? value.toString() : defaultValue;
- }
@Override
public EndpointDescription description() {
http://git-wip-us.apache.org/repos/asf/aries-rsa/blob/0ea1c0c3/provider/tcp/src/main/java/org/apache/aries/rsa/provider/tcp/TcpInvocationHandler.java
----------------------------------------------------------------------
diff --git a/provider/tcp/src/main/java/org/apache/aries/rsa/provider/tcp/TcpInvocationHandler.java b/provider/tcp/src/main/java/org/apache/aries/rsa/provider/tcp/TcpInvocationHandler.java
index cdbf8ec..3206339 100644
--- a/provider/tcp/src/main/java/org/apache/aries/rsa/provider/tcp/TcpInvocationHandler.java
+++ b/provider/tcp/src/main/java/org/apache/aries/rsa/provider/tcp/TcpInvocationHandler.java
@@ -30,26 +30,28 @@ public class TcpInvocationHandler implements InvocationHandler {
private String host;
private int port;
private ClassLoader cl;
+ private int timeoutMillis;
- public TcpInvocationHandler(ClassLoader cl, String host, int port)
+ public TcpInvocationHandler(ClassLoader cl, String host, int port, int timeoutMillis)
throws UnknownHostException, IOException {
this.cl = cl;
this.host = host;
this.port = port;
-
+ this.timeoutMillis = timeoutMillis;
}
@Override
public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
try (
- Socket socket = new Socket(this.host, this.port);
- ObjectOutputStream out = new ObjectOutputStream(socket.getOutputStream())
+ Socket socket = new Socket(this.host, this.port);
+ ObjectOutputStream out = new ObjectOutputStream(socket.getOutputStream())
) {
+ socket.setSoTimeout(timeoutMillis);
out.writeObject(method.getName());
out.writeObject(args);
out.flush();
return parseResult(socket);
- } catch (Exception e) {
+ } catch (Exception e) {
throw new RuntimeException("Error calling " + host + ":" + port + " method: " + method.getName(), e);
}
}
http://git-wip-us.apache.org/repos/asf/aries-rsa/blob/0ea1c0c3/provider/tcp/src/test/java/org/apache/aries/rsa/provider/tcp/EndpointParserTest.java
----------------------------------------------------------------------
diff --git a/provider/tcp/src/test/java/org/apache/aries/rsa/provider/tcp/EndpointParserTest.java b/provider/tcp/src/test/java/org/apache/aries/rsa/provider/tcp/EndpointParserTest.java
new file mode 100644
index 0000000..27a2399
--- /dev/null
+++ b/provider/tcp/src/test/java/org/apache/aries/rsa/provider/tcp/EndpointParserTest.java
@@ -0,0 +1,86 @@
+/**
+ * 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.aries.rsa.provider.tcp;
+
+import java.util.Date;
+import java.util.Hashtable;
+import java.util.Map;
+
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+import org.osgi.service.remoteserviceadmin.EndpointDescription;
+import org.osgi.service.remoteserviceadmin.RemoteConstants;
+
+
+public class EndpointParserTest {
+
+ private Map<String, Object> props;
+
+ @Before
+ public void defaultProps() {
+ props = new Hashtable<String, Object>();
+ props.put("objectClass", new String[]{Runnable.class.getName()});
+ props.put(RemoteConstants.ENDPOINT_ID, "myid");
+ props.put(RemoteConstants.SERVICE_IMPORTED_CONFIGS, "any");
+ }
+
+ @Test
+ public void testDefaults() {
+ Assert.assertEquals(300000, getParser().getTimeoutMillis());
+ Assert.assertEquals(0, getParser().getPort());
+ Assert.assertEquals(LocalHostUtil.getLocalIp(), getParser().getHostname());
+ }
+
+ @Test
+ public void testTimeoutString() {
+ props.put(EndpointPropertiesParser.TIMEOUT_KEY, "100");
+ Assert.assertEquals(100, getParser().getTimeoutMillis());
+ }
+
+ @Test
+ public void testTimeoutInt() {
+ props.put(EndpointPropertiesParser.TIMEOUT_KEY, 100);
+ Assert.assertEquals(100, getParser().getTimeoutMillis());
+ }
+
+
+ @Test
+ public void testPortString() {
+ props.put(EndpointPropertiesParser.PORT_KEY, "11111");
+ Assert.assertEquals(11111, getParser().getPort());
+ }
+
+ @Test
+ public void testPortInt() {
+ props.put(EndpointPropertiesParser.PORT_KEY, 11111);
+ Assert.assertEquals(11111, getParser().getPort());
+ }
+
+ @Test(expected=IllegalArgumentException.class)
+ public void testTimeoutInvalid() {
+ props.put(EndpointPropertiesParser.TIMEOUT_KEY, new Date());
+ getParser().getTimeoutMillis();
+ }
+
+ private EndpointPropertiesParser getParser() {
+ return new EndpointPropertiesParser(new EndpointDescription(props));
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/aries-rsa/blob/0ea1c0c3/provider/tcp/src/test/java/org/apache/aries/rsa/provider/tcp/TcpEndpointTest.java
----------------------------------------------------------------------
diff --git a/provider/tcp/src/test/java/org/apache/aries/rsa/provider/tcp/TcpEndpointTest.java b/provider/tcp/src/test/java/org/apache/aries/rsa/provider/tcp/TcpEndpointTest.java
index d516822..2610aa9 100644
--- a/provider/tcp/src/test/java/org/apache/aries/rsa/provider/tcp/TcpEndpointTest.java
+++ b/provider/tcp/src/test/java/org/apache/aries/rsa/provider/tcp/TcpEndpointTest.java
@@ -7,52 +7,44 @@ import java.util.Map;
import org.apache.aries.rsa.provider.tcp.myservice.MyService;
import org.apache.aries.rsa.provider.tcp.myservice.MyServiceImpl;
import org.junit.Assert;
+import org.junit.Before;
import org.junit.Test;
import org.osgi.framework.Constants;
import org.osgi.service.remoteserviceadmin.EndpointDescription;
import org.osgi.service.remoteserviceadmin.RemoteConstants;
public class TcpEndpointTest {
-
- static final String PORT = "45346";
-
- @Test
- public void testEndpointProperties() throws IOException {
- Object service = new MyServiceImpl();
- Map<String, Object> props = new HashMap<>();
+ private static final String HOSTNAME = "myhost";
+ private static final String PORT = "45346";
+
+ private Map<String, Object> props;
+ private Object service;
+
+ @Before
+ public void defaultProps() {
+ props = new HashMap<>();
props.put(Constants.OBJECTCLASS, new String[]{MyService.class.getName()});
props.put(RemoteConstants.SERVICE_IMPORTED_CONFIGS, "");
- props.put("aries.rsa.port", PORT);
- props.put("aries.rsa.hostname", "myhost");
- TcpEndpoint tcpEndpoint = new TcpEndpoint(service, props);
- EndpointDescription epd = tcpEndpoint.description();
- Assert.assertEquals("tcp://myhost:" + PORT, epd.getId());
- tcpEndpoint.close();
+ service = new MyServiceImpl();
}
-
+
@Test
- public void testIntPort() throws IOException {
- Object service = new MyServiceImpl();
- Map<String, Object> props = new HashMap<>();
- props.put(Constants.OBJECTCLASS, new String[]{MyService.class.getName()});
- props.put(RemoteConstants.SERVICE_IMPORTED_CONFIGS, "");
- props.put("aries.rsa.port", Integer.parseInt(PORT));
- props.put("aries.rsa.hostname", "myhost");
+ public void testEndpointProperties() throws IOException {
+ props.put("aries.rsa.port", PORT);
+ props.put("aries.rsa.hostname", HOSTNAME);
TcpEndpoint tcpEndpoint = new TcpEndpoint(service, props);
EndpointDescription epd = tcpEndpoint.description();
- Assert.assertEquals("tcp://myhost:" + PORT, epd.getId());
+ Assert.assertEquals("tcp://" + HOSTNAME + ":" + PORT, epd.getId());
tcpEndpoint.close();
}
@Test
public void testEndpointPropertiesDefault() throws IOException {
- Object service = new MyServiceImpl();
- Map<String, Object> props = new HashMap<>();
- props.put(Constants.OBJECTCLASS, new String[]{MyService.class.getName()});
- props.put(RemoteConstants.SERVICE_IMPORTED_CONFIGS, "");
TcpEndpoint tcpEndpoint = new TcpEndpoint(service, props);
EndpointDescription epd = tcpEndpoint.description();
Assert.assertNotNull(epd.getId());
tcpEndpoint.close();
}
+
+
}
http://git-wip-us.apache.org/repos/asf/aries-rsa/blob/0ea1c0c3/provider/tcp/src/test/java/org/apache/aries/rsa/provider/tcp/TcpProviderTest.java
----------------------------------------------------------------------
diff --git a/provider/tcp/src/test/java/org/apache/aries/rsa/provider/tcp/TcpProviderTest.java b/provider/tcp/src/test/java/org/apache/aries/rsa/provider/tcp/TcpProviderTest.java
index ad36f65..c9d69d2 100644
--- a/provider/tcp/src/test/java/org/apache/aries/rsa/provider/tcp/TcpProviderTest.java
+++ b/provider/tcp/src/test/java/org/apache/aries/rsa/provider/tcp/TcpProviderTest.java
@@ -21,6 +21,7 @@ package org.apache.aries.rsa.provider.tcp;
import static org.hamcrest.core.StringStartsWith.startsWith;
import java.io.IOException;
+import java.net.SocketTimeoutException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@@ -54,6 +55,7 @@ public class TcpProviderTest {
EndpointHelper.addObjectClass(props, exportedInterfaces);
props.put("aries.rsa.hostname", "localhost");
props.put("aries.rsa.numThreads", "10");
+ props.put("osgi.basic.timeout", 100);
MyService myService = new MyServiceImpl();
BundleContext bc = EasyMock.mock(BundleContext.class);
ep = provider.exportService(myService, bc, props, exportedInterfaces);
@@ -64,6 +66,16 @@ public class TcpProviderTest {
exportedInterfaces,
ep.description());
}
+
+ @Test
+ public void testCallTimeout() throws IOException {
+ try {
+ myServiceProxy.call("slow");
+ Assert.fail("Expecting timeout");
+ } catch (RuntimeException e) {
+ Assert.assertEquals(SocketTimeoutException.class, e.getCause().getClass());
+ }
+ }
@Test
public void testPerf() throws IOException, InterruptedException {
@@ -96,7 +108,7 @@ public class TcpProviderTest {
List<String> msgList = new ArrayList<String>();
myServiceProxy.callWithList(msgList);
}
-
+
@AfterClass
public static void close() throws IOException {
ep.close();
@@ -126,4 +138,5 @@ public class TcpProviderTest {
long tps = NUM_CALLS * 1000 / (System.currentTimeMillis() - start);
System.out.println(tps + " tps");
}
+
}
http://git-wip-us.apache.org/repos/asf/aries-rsa/blob/0ea1c0c3/provider/tcp/src/test/java/org/apache/aries/rsa/provider/tcp/myservice/MyService.java
----------------------------------------------------------------------
diff --git a/provider/tcp/src/test/java/org/apache/aries/rsa/provider/tcp/myservice/MyService.java b/provider/tcp/src/test/java/org/apache/aries/rsa/provider/tcp/myservice/MyService.java
index 04cbe86..6a791c9 100644
--- a/provider/tcp/src/test/java/org/apache/aries/rsa/provider/tcp/myservice/MyService.java
+++ b/provider/tcp/src/test/java/org/apache/aries/rsa/provider/tcp/myservice/MyService.java
@@ -32,4 +32,5 @@ public interface MyService {
void callOneWay(String msg);
void callWithList(List<String> msg);
+
}
http://git-wip-us.apache.org/repos/asf/aries-rsa/blob/0ea1c0c3/provider/tcp/src/test/java/org/apache/aries/rsa/provider/tcp/myservice/MyServiceImpl.java
----------------------------------------------------------------------
diff --git a/provider/tcp/src/test/java/org/apache/aries/rsa/provider/tcp/myservice/MyServiceImpl.java b/provider/tcp/src/test/java/org/apache/aries/rsa/provider/tcp/myservice/MyServiceImpl.java
index de27304..93d61a3 100644
--- a/provider/tcp/src/test/java/org/apache/aries/rsa/provider/tcp/myservice/MyServiceImpl.java
+++ b/provider/tcp/src/test/java/org/apache/aries/rsa/provider/tcp/myservice/MyServiceImpl.java
@@ -32,6 +32,12 @@ public class MyServiceImpl implements MyService {
if ("throw exception".equals(msg)) {
throw new IllegalArgumentException("Throwing expected exception");
}
+ if ("slow".equals(msg)) {
+ try {
+ Thread.sleep(200);
+ } catch (InterruptedException e) {
+ }
+ }
}
@Override
@@ -40,7 +46,7 @@ public class MyServiceImpl implements MyService {
@Override
public void callWithList(List<String> msg) {
-
+
}
}