cxf-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Freeman Fang <freeman.f...@gmail.com>
Subject Re: [DISCUSSION] Adding the instance.id on the ObjectName
Date Fri, 29 Jun 2012 12:08:39 GMT
Hi,

Yeah, it's same case when use multiple jaxrs:server which refer same  
serviceBeans.
For an instance

<bean id="hello" class="com.example.service.RouterRestService"/>
<bean id="goodbye" class="com.example.service.RouterRestService"/>

<jaxrs:server id="helloServer" address="/hello">
<jaxrs:serviceBeans>
<ref component-id="hello" />
</jaxrs:serviceBeans>
</jaxrs:server>

<jaxrs:server id="goodbyeServer" address="/goodbye">
<jaxrs:serviceBeans>
<ref component-id="goodbye" />
</jaxrs:serviceBeans>
</jaxrs:server>

Then we can see exceptions like
javax.management.InstanceAlreadyExistsException:  
org.apache.cxf:bus.id=ex- 
cxf984165123,type=Bus.Service.Endpoint,service="{http://service.example.com/ 
}RouterRestService",port="RouterRestService"
at com.sun.jmx.mbeanserver.Repository.addMBean(Repository.java:453): 
1.6.0_33
at  
com 
.sun 
.jmx 
.interceptor 
.DefaultMBeanServerInterceptor 
.internal_addObject(DefaultMBeanServerInterceptor.java:1484):1.6.0_33
at  
com 
.sun 
.jmx 
.interceptor 
.DefaultMBeanServerInterceptor 
.registerDynamicMBean(DefaultMBeanServerInterceptor.java:963):1.6.0_33
at  
com 
.sun 
.jmx 
.interceptor 
.DefaultMBeanServerInterceptor 
.registerObject(DefaultMBeanServerInterceptor.java:917):1.6.0_33
at  
com 
.sun 
.jmx 
.interceptor 
.DefaultMBeanServerInterceptor 
.registerMBean(DefaultMBeanServerInterceptor.java:312):1.6.0_33
at  
com 
.sun.jmx.mbeanserver.JmxMBeanServer.registerMBean(JmxMBeanServer.java: 
482):1.6.0_33
at



Freeman

On 2012-6-29, at 下午7:53, Willem Jiang wrote:

> Let's take the ManagedEndpoint as an example.
> If the user create two jaxws endpoint with same SEI like this.
> <jaxws:endpoint id="endpoint1"
> serviceClass="com.example.SEI"
> address="http://localhost:9000/service1" />
>
> <jaxws:endpoint id="endpoint2"
> serviceClass="com.example.SEI"
> address="http://localhost:9000/service2" />
>
> It ends up with javax.management.InstanceAlreadyExistsException.
> As CXF build up the ObjectName for the ManagedEndpoint with the same  
> bus id, service name and endpoint name.
>
> On Fri Jun 29 18:42:47 2012, Aki Yoshida wrote:
>> Hi Willem,
>> I am not sure exactly what you mean by this "instance.id".
>>
>> Currently, if no id attribute is set, the bus.id is generated by the
>> bundle id plus cxf and a random number.
>> When the id attribute is set, it is used as the bus.id shown in JMX.
>>
>> I am not sure how this "instance.id" is supposed to be used in your  
>> use case.
>>
>> Could you give some examples?
>> Thanks.
>> regards, aki
>>
>> 2012/6/29 Willem Jiang <willem.jiang@gmail.com>:
>>> Hi,
>>>
>>> As you know CXF management provides a lots MBeans out of box. It  
>>> works
>>> perfect if it run as stand alone.
>>> If we deploy the CXF endpoints into container like Apache Karaf,  
>>> we may hit
>>> the issue that Object is already registered. That is because we  
>>> don't build
>>> up unique Object name for JMX to use. And there could be more than  
>>> one Bus
>>> which id is CXF.
>>>
>>> To resolve this issue I suggest we add the "instance.id" on the  
>>> ObjectName.
>>> As JMX supports to look up the object with a query string, I don't  
>>> think
>>> this change will effect much on the user CXF management codes.
>>>
>>> Any thoughts?
>>>
>>> --
>>> Willem
>>> ----------------------------------
>>> FuseSource
>>> Web: http://www.fusesource.com
>>> Blog:    http://willemjiang.blogspot.com (English)
>>>         http://jnn.javaeye.com (Chinese)
>>> Twitter: willemjiang
>>> Weibo: willemjiang
>>>
>>
>
>
>
> --
> Willem
> ----------------------------------
> FuseSource
> Web: http://www.fusesource.com
> Blog:    http://willemjiang.blogspot.com (English)
>        http://jnn.javaeye.com (Chinese)
> Twitter: willemjiang
> Weibo: willemjiang
>

---------------------------------------------
Freeman Fang

FuseSource
Email:ffang@fusesource.com
Web: fusesource.com
Twitter: freemanfang
Blog: http://freemanfang.blogspot.com
http://blog.sina.com.cn/u/1473905042
weibo: http://weibo.com/u/1473905042











Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message