[ 
https://issues.apache.org/activemq/browse/SM-883?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

David Potter updated SM-883:
----------------------------

    Attachment: SM-883-MBeanRegistration.patch

Attached patch in diff format as requested.


> MBean registration in Websphere returns different objectName
> ------------------------------------------------------------
>
>                 Key: SM-883
>                 URL: https://issues.apache.org/activemq/browse/SM-883
>             Project: ServiceMix
>          Issue Type: Improvement
>          Components: servicemix-core
>    Affects Versions: 3.0.1, 3.1
>         Environment: Windows XP SP1, Ubuntu Linux, Java 1.5
>            Reporter: Grant McDonald
>         Assigned To: Grant McDonald
>             Fix For: 3.2, incubation
>
>         Attachments: PatchTo3.0.1.zip, PatchToCurrentVersion.zip, 
> SM-883-MBeanRegistration.patch
>
>   Original Estimate: 2 hours
>  Remaining Estimate: 2 hours
>
> Description courtesy of David Potter:
> When running serviceMix V3.0 on WebSphere 6.1.0.0 I get the following error
> after stopping and starting serviceMix from the WebSphere console.
> ERROR - ContextLoader                  - Context initialization failed
> org.springframework.beans.factory.BeanCreationException: Error creating bean
> with name 'jbi' defined in ServletContext resource
> [/WEB-INF/servicemix.xml]: Invocation of init method failed;
> nested exception is
> javax.jbi.JBIException: javax.management.InstanceAlreadyExistsException:
> org.apache.servicemix:Name=ManagementContext,cell=SD1464Node01Cell,Type=SystemService,ContainerName=ServiceMix,node=SD1464Node01,process=server1
> I have traced the error to the fact that when you register an mbean IBM adds
> additional information to the bean. So when serviceMix regesters the bean
> org.apache.servicemix:Name=ManagementContext,Type=SystemService,ContainerName=ServiceMix
> IBM, in the method
> com.ibm.ws.management.PlatformMBeanServer.registerMBean(PlatformMBeanServer.java:469)
> , adds the attributes cell=SD1464Node01Cell,
> node=SD1464Node01,process=server1
> These means that when we try to unregister the bean on application shutdown
> we cannot find it (as we look the been up by name).
> Solution Ideas:
> 1) In AsyncBaseLifeCycle.doInit() use queryNames() instead of isRegistered().
> Care would need to be taken in unregistering the bean is case the bean is
> not ours.
> 2) After a bean is registered, update its name (or the complete bean) with the
> name of the bean returned by the register operation. (this is preferred)

-- 
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