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

Rex Wang commented on ARIES-98:
-------------------------------

Yes, that is a limitation of the MBean, and not a problem of Blueprint, so I 
agree with Alasdair that we should not doc this as a best practice, although 
the muti-inline managers seems really not a good style.
The essential issue is what said by Jarek. That is, in openmbean's 
CompositeType, we can not define an item that represents a value with an 
uncertain type. So we have to uniform it as a Byte[]. Actually when firstly 
implement this way, we try it in Java 6, which support the primitive ArrayType. 
But Java 5 don't. Hence we move it to Byte[]. I am also not comfortable with 
this work around.
I think Jarek's solution is better on performance. I would like to have a try 
and then provide a patch. So until we get an acceptable solution on this 
problem I'd like to keep this JIRA as open. Could anybody assign this to me?

Thanks :-)

-Rex

> Blueprint MetadataMBean cannot handle multiple-nesting blueprint component 
> definitions
> --------------------------------------------------------------------------------------
>
>                 Key: ARIES-98
>                 URL: https://issues.apache.org/jira/browse/ARIES-98
>             Project: Aries
>          Issue Type: Bug
>          Components: Blueprint
>    Affects Versions: Incubation
>         Environment: Linux i386
> Sun jdk1.5.0_16
>            Reporter: Forrest Xia
>
> When a blueprint config has multiple-nesting components definition, for 
> example as follows, then the BlueprintMetadataMBean will return a huge 
> java.lang.Byte[], in my case, it's more than 5 millions, thus cause JMX 
> client application(e.g JConsole) hangs.
> <?xml version="1.0" encoding="UTF-8"?>        
> <blueprint default-activation="eager" default-availability="optional"
>       default-timeout="300000" 
> xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0";>
>       <description>Apache Aries Blueprint Complex Sample - 
> Client</description>
>       <bean id="bean1" 
> class="org.apache.aries.blueprint.sample.complex.client.temp.Bean1" 
> init-method="startUp">
>               <argument>
>                       <bean 
> class="org.apache.aries.blueprint.sample.complex.client.temp.Bean2" 
> init-method="startUp">
>                               <argument>
>                                       <bean 
> class="org.apache.aries.blueprint.sample.complex.client.temp.Bean3" 
> init-method="startUp">
>                                               <argument>
>                                                       <bean 
> class="org.apache.aries.blueprint.sample.complex.client.temp.Bean4" 
> init-method="startUp">
>                                                               <argument>
>                                                                       <bean 
> class="org.apache.aries.blueprint.sample.complex.client.temp.Bean5" 
> init-method="startUp">
>                                                                               
> <argument>
>                                                                               
>         <bean 
> class="org.apache.aries.blueprint.sample.complex.client.temp.Bean6" 
> init-method="startUp">
>                                                                               
>                 <argument value="This is Bean6!"/>
>                                                                               
>         </bean>
>                                                                               
> </argument>
>                                                                       </bean>
>                                                               </argument>
>                                                       </bean>
>                                               </argument>
>                                       </bean>
>                               </argument>
>                       </bean>
>               </argument>
>       </bean>
> </blueprint>

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to