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

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

Hi, 

I am working on the RFC of blueprint mbeans for OSGi Alliance. Before the 
writing starts, I think this issue should be resolved. After a long time 
thoughts on this problem, I am afraid the only choice is to change the current 
design of the metadata mbean:-(

That is as follows:
    public CompositeData[] getComponentMetadata(long containerServiceId, String 
componentId) {

The api getComponentMetadata will return an array of composite datas, in which 
the first element is the component's composite data and the others are the 
inner values or targets' composite datas.
The component's composite data won't have an value item whose type is BYTE 
array. Instead, it will be an integer that indicates the index in the returned 
CompositeData array. 

I have implemented the design in the patches...

Any comments is appreciated! 

-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
>         Attachments: api.patch, core.patch
>
>
> 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