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

Jarek Gawor commented on ARIES-98:
----------------------------------

I agree with Alasdair. This is not a blueprint problem and instead seems like a 
mbean issue. From what I understand, the core of the problem is that we can't 
(or we don't know) how to define a field in an openmbean as of type any (that 
is, as 'Object value' for example). That's why the current jmx blueprint 
implementation serializes the blueprint bean argument and property values as 
Byte[]. If we can find a way to define a field of type any in openmbean then 
this entire problem disappears. If not, there are other ways we can try to 
avoid the Byte[] serialization. For example, we could define a new 
CompositeType that has a separate field for each possible value metadata type 
in blueprint. And only one of those fields could ever be set on the 
ComposisteData of that new CompositeType type. It's not very nice solution but 
I think it would work in most cases and it would avoid the expensive 
serialization/deserialization.


> 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