FELIX-3645: Tests which reproduces the "Could not obtain lock in 5000 milliseconds" Exception.
git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@1379968 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/scr/src/test/resources/integration_test_component_concurrency.xml b/scr/src/test/resources/integration_test_component_concurrency.xml
new file mode 100644
index 0000000..aeb7c7f
--- /dev/null
+++ b/scr/src/test/resources/integration_test_component_concurrency.xml
@@ -0,0 +1,64 @@
+<?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. -->
+<components xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0">
+ <scr:component
+ name='org.apache.felix.scr.integration.components.concurrency.A'
+ factory='AFactory' activate='start'>
+ <implementation
+ class='org.apache.felix.scr.integration.components.concurrency.A' />
+ <reference name='b'
+ interface='org.apache.felix.scr.integration.components.concurrency.B'
+ bind='bindB' cardinality='0..n' policy='dynamic' />
+ </scr:component>
+
+ <scr:component
+ name='org.apache.felix.scr.integration.components.concurrency.B'>
+ <implementation
+ class='org.apache.felix.scr.integration.components.concurrency.B' />
+ <service>
+ <provide interface='org.apache.felix.scr.integration.components.concurrency.B' />
+ </service>
+ <reference name='c'
+ interface='org.apache.felix.scr.integration.components.concurrency.C'
+ bind='bindC' />
+ </scr:component>
+
+ <scr:component
+ name='org.apache.felix.scr.integration.components.concurrency.C'
+ factory='CFactory'>
+ <implementation
+ class='org.apache.felix.scr.integration.components.concurrency.C' />
+ <service>
+ <provide interface='org.apache.felix.scr.integration.components.concurrency.C' />
+ </service>
+ </scr:component>
+
+ <scr:component enabled='false'
+ name='org.apache.felix.scr.integration.components.concurrency.AFactory'
+ activate='activate' deactivate='deactivate'>
+ <implementation
+ class='org.apache.felix.scr.integration.components.concurrency.AFactory' />
+ <reference name='aFactory'
+ interface='org.osgi.service.component.ComponentFactory' bind='bindAFactory'
+ target='(component.factory=AFactory)' />
+ </scr:component>
+
+ <scr:component enabled='false'
+ name='org.apache.felix.scr.integration.components.concurrency.CFactory'
+ activate='activate' deactivate='deactivate'>
+ <implementation
+ class='org.apache.felix.scr.integration.components.concurrency.CFactory' />
+ <reference name='cFactory'
+ interface='org.osgi.service.component.ComponentFactory' bind='bindCFactory'
+ target='(component.factory=CFactory)' />
+ </scr:component>
+</components>