[ 
https://issues.apache.org/jira/browse/ARIES-904?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13434689#comment-13434689
 ] 

Hendy Irawan edited comment on ARIES-904 at 8/15/12 11:20 AM:
--------------------------------------------------------------

Probably a useful snippet of the Blueprint XML.

I'm using JPA via EntityManagerFactory (cannot use jpa:context due to 
#ARIES-796 ), with CM PropertyPlaceholder as follows :

{code}
<?xml version="1.0" encoding="UTF-8"?>
<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
        xmlns:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.1.0";
        xmlns:ext="http://aries.apache.org/blueprint/xmlns/blueprint-ext/v1.0.0";
        xmlns:jpa="http://aries.apache.org/xmlns/jpa/v1.0.0"; 
xmlns:tx="http://aries.apache.org/xmlns/transactions/v1.0.0";
        xsi:schemaLocation="http://www.osgi.org/xmlns/blueprint/v1.0.0 
http://www.osgi.org/xmlns/blueprint/v1.0.0
        http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.1.0 
http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.1.0
        http://aries.apache.org/blueprint/xmlns/blueprint-ext/v1.0.0 
http://aries.apache.org/blueprint/xmlns/blueprint-ext/v1.0.0
        http://aries.apache.org/xmlns/jpa/v1.0.0 
http://aries.apache.org/xmlns/jpa/v1.0.0
        http://aries.apache.org/xmlns/transactions/v1.0.0 
http://aries.apache.org/xmlns/transactions/v1.0.0";>

        <cm:property-placeholder persistent-id="id.co.bippo.commerce" 
update-strategy="reload">
                <cm:default-properties>
                        <cm:property name="auth.ldap.uri" 
value="ldap://localhost:10389"/>
                        <cm:property name="auth.ldap.bind.dn" 
value="uid=admin,ou=system"/>
                        <cm:property name="auth.ldap.bind.password" 
value="secret"/>
                        <cm:property name="auth.ldap.basedn" 
value="ou=users,dc=dev,dc=berbatik,dc=com"/>
                        
                        <cm:property name="image.dav.uri" 
value="http://berbatik_dev:[email protected]/"/>
                        <cm:property name="image.public.uri" 
value="http://dav.berbatik.annafi.dev/"/>
                        <cm:property name="image.mongo.uri" 
value="mongodb://127.0.0.1:27017/berbatik_dev_image"/>
                        
                        <cm:property name="booking.mongo.uri" 
value="mongodb://127.0.0.1:27017/berbatik_dev"/>
                        
                        <cm:property name="magento.apiuser" value="sysadmin"/>
                        <cm:property name="magento.apikey" value="admin123"/>
                        <cm:property name="magento.baseurl" 
value="http://www.berbatik.annafi.dev/"/>
                </cm:default-properties>
        </cm:property-placeholder>
        
        <reference id="magentoEmf" 
interface="javax.persistence.EntityManagerFactory"
                                filter="(osgi.unit.name=magento)"/>
        <bean id="magentoEm" factory-ref="magentoEmf" 
factory-method="createEntityManager" destroy-method="close"/>
                                
        <bean id="productDao" class="id.co.bippo.magento.jpa.dao.ProductDao">
                <!-- jpa:context unitname="magento" property="em" # see 
https://issues.apache.org/jira/browse/ARIES-796 /-->
                <property name="em" ref="magentoEm"/>
                <tx:transaction method="*" value="Required" />
        </bean>

        <service ref="productDao" auto-export="class-hierarchy">
                <service-properties>
                        <entry key="clientId" value="berbatik"/>
                        <entry key="tenantEnv" value="dev"/>
                        <entry key="tenantId" value="berbatik"/>
                        <entry key="namespace" value=""/>
                </service-properties>
        </service>

</blueprint>
{code}

Commenting this line:

{code}
<property name="em" ref="magentoEm"/>
{code}

makes the ConcurrentModificationException go away. (of course the bean will not 
work now... but I hope this is a clue)
                
      was (Author: ceefour):
    Probably a useful snippet of the Blueprint XML.

I'm using JPA via EntityManagerFactory (cannot use jpa:context due to 
#ARIES-796 ), with CM PropertyPlaceholder as follows :

{code}
<?xml version="1.0" encoding="UTF-8"?>
<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
        xmlns:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.1.0";
        xmlns:ext="http://aries.apache.org/blueprint/xmlns/blueprint-ext/v1.0.0";
        xmlns:jpa="http://aries.apache.org/xmlns/jpa/v1.0.0"; 
xmlns:tx="http://aries.apache.org/xmlns/transactions/v1.0.0";
        xsi:schemaLocation="http://www.osgi.org/xmlns/blueprint/v1.0.0 
http://www.osgi.org/xmlns/blueprint/v1.0.0
        http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.1.0 
http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.1.0
        http://aries.apache.org/blueprint/xmlns/blueprint-ext/v1.0.0 
http://aries.apache.org/blueprint/xmlns/blueprint-ext/v1.0.0
        http://aries.apache.org/xmlns/jpa/v1.0.0 
http://aries.apache.org/xmlns/jpa/v1.0.0
        http://aries.apache.org/xmlns/transactions/v1.0.0 
http://aries.apache.org/xmlns/transactions/v1.0.0";>

        <cm:property-placeholder persistent-id="id.co.bippo.commerce" 
update-strategy="reload">
                <cm:default-properties>
                        <cm:property name="auth.ldap.uri" 
value="ldap://localhost:10389"/>
                        <cm:property name="auth.ldap.bind.dn" 
value="uid=admin,ou=system"/>
                        <cm:property name="auth.ldap.bind.password" 
value="secret"/>
                        <cm:property name="auth.ldap.basedn" 
value="ou=users,dc=dev,dc=berbatik,dc=com"/>
                        
                        <cm:property name="image.dav.uri" 
value="http://berbatik_dev:[email protected]/"/>
                        <cm:property name="image.public.uri" 
value="http://dav.berbatik.annafi.dev/"/>
                        <cm:property name="image.mongo.uri" 
value="mongodb://127.0.0.1:27017/berbatik_dev_image"/>
                        
                        <cm:property name="booking.mongo.uri" 
value="mongodb://127.0.0.1:27017/berbatik_dev"/>
                        
                        <cm:property name="magento.apiuser" value="sysadmin"/>
                        <cm:property name="magento.apikey" value="admin123"/>
                        <cm:property name="magento.baseurl" 
value="http://www.berbatik.annafi.dev/"/>
                </cm:default-properties>
        </cm:property-placeholder>
        
        <reference id="magentoEmf" 
interface="javax.persistence.EntityManagerFactory"
                                filter="(osgi.unit.name=magento)"/>
        <bean id="magentoEm" factory-ref="magentoEmf" 
factory-method="createEntityManager" destroy-method="close"/>
                                
        <bean id="productDao" class="id.co.bippo.magento.jpa.dao.ProductDao">
                <!-- jpa:context unitname="magento" property="em" # see 
https://issues.apache.org/jira/browse/ARIES-796 /-->
                <property name="em" ref="magentoEm"/>
                <tx:transaction method="*" value="Required" />
        </bean>

        <service ref="productDao" auto-export="class-hierarchy">
                <service-properties>
                        <entry key="clientId" value="berbatik"/>
                        <entry key="tenantEnv" value="dev"/>
                        <entry key="tenantId" value="berbatik"/>
                        <entry key="namespace" value=""/>
                </service-properties>
        </service>

</blueprint>
{code}

Commenting this line:

{code}
<property name="em" ref="magentoEm"/>
{code}

makes the ConcurrentModificationException go away.
                  
> Blueprint throws java.util.ConcurrentModificationException when starting 
> bundle
> -------------------------------------------------------------------------------
>
>                 Key: ARIES-904
>                 URL: https://issues.apache.org/jira/browse/ARIES-904
>             Project: Aries
>          Issue Type: Bug
>          Components: Blueprint
>    Affects Versions: blueprint-core-0.3.2
>            Reporter: Hendy Irawan
>
> I'm not sure what combination exactly causes this, but current state of my 
> project (which is unfortunately already quite complex) can always trigger 
> this bug.
> Probably related to #FELIX-3242.
> {code}
> 2012-08-15 07:09:45,081 | ERROR | rint Extender: 1 | BlueprintContainerImpl   
>         | container.BlueprintContainerImpl  364 | 9 - 
> org.apache.aries.blueprint - 0.3.2 | Unable to start blueprint container for 
> bundle id.co.bippo.commerce.core
> java.util.ConcurrentModificationException
>         at 
> java.util.LinkedHashMap$LinkedHashIterator.nextEntry(LinkedHashMap.java:390)[:1.7.0_03]
>         at 
> java.util.LinkedHashMap$KeyIterator.next(LinkedHashMap.java:401)[:1.7.0_03]
>         at 
> java.util.Collections$UnmodifiableCollection$1.next(Collections.java:1067)[:1.7.0_03]
>         at 
> org.apache.aries.blueprint.container.RecipeBuilder.createRepository(RecipeBuilder.java:87)[9:org.apache.aries.blueprint:0.3.2]
>         at 
> org.apache.aries.blueprint.container.BlueprintContainerImpl.processProcessors(BlueprintContainerImpl.java:495)[9:org.apache.aries.blueprint:0.3.2]
>         at 
> org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:320)[9:org.apache.aries.blueprint:0.3.2]
>         at 
> org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:230)[9:org.apache.aries.blueprint:0.3.2]
>         at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)[:1.7.0_03]
>         at 
> java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)[:1.7.0_03]
>         at java.util.concurrent.FutureTask.run(FutureTask.java:166)[:1.7.0_03]
>         at 
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178)[:1.7.0_03]
>         at 
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292)[:1.7.0_03]
>         at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)[:1.7.0_03]
>         at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)[:1.7.0_03]
>         at java.lang.Thread.run(Thread.java:722)[:1.7.0_03]
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to