You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@aries.apache.org by "Roland Huss (JIRA)" <ji...@apache.org> on 2010/02/17 20:30:27 UTC
[jira] Updated: (ARIES-178) PackageMBean.listPackages() raises an
exception for certain bundles in Felix 2.0.3
[ https://issues.apache.org/jira/browse/ARIES-178?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Roland Huss updated ARIES-178:
------------------------------
Attachment: patch.txt
> PackageMBean.listPackages() raises an exception for certain bundles in Felix 2.0.3
> ----------------------------------------------------------------------------------
>
> Key: ARIES-178
> URL: https://issues.apache.org/jira/browse/ARIES-178
> Project: Aries
> Issue Type: Bug
> Components: JMX
> Affects Versions: Incubation
> Reporter: Roland Huss
> Attachments: patch.txt
>
>
> Using PackageStateMBean.listPackages() gives the following exception on Felix 2.0.3 for certain bundles (here: spring-ws-core-1.5.9.jar)
> Caused by: javax.management.openmbean.KeyAlreadyExistsException: Argument value's index, calculated according to this TabularData instance's tabularType, already refers to a value in this table.
> at javax.management.openmbean.TabularDataSupport.checkValueAndIndex(TabularDataSupport.java:871)
> at javax.management.openmbean.TabularDataSupport.internalPut(TabularDataSupport.java:331)
> at javax.management.openmbean.TabularDataSupport.put(TabularDataSupport.java:323)
> at org.apache.aries.jmx.codec.PackageData.tableFrom(PackageData.java:142)
> at org.apache.aries.jmx.framework.PackageState.listPackages(PackageState.java:130)
> ...
> The original reason for this is that Felix returns multiple identical ExportedPackage when calling
> ExportedPackage[] PackageAdmin.getExportedPackages(bundle)
> (in this example, org.springframework.ws.soap.addressing.server; version=1.5.9 is given twice)
> I don't know whether this is allowed by the Spec (or is in fact a bug in Felix), but Aries could be smarter here anyway.
> Since each ExportedPackage is wrapped in a PackageData for JMX-Export and then added to a Set<PackageData> all
> what is needed to add appropriate equals() and hashCode() to PackageData to make the set contain only PackageData
> with a unique index (NAME, VERSION, EXPORTING_BUNDLE) for the TabularData to build up for the JMX return value.
> Please find attachted a patch to add equals() and hashCode() to PackageData.
> My question though is, whether this an allowed behaviour of Felix to return same ExportedPackage objects multiple times
> in getExportedPackages() (so that in case I could rise an issue for Felix as well).
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.