Then we need to look at how the kernel behaves with beans like:
| public class BeanWithStates
| {
| public String getstate()
| {
| return "state";
| }
| public void setstate(String s)
| {
| }
|
| public int getState()
| {
| return 0;
| }
| public void setState(int s)
| {
| }
| }
|
The java.beans.Introspector does not pickup different properties state and State for
this:
| package javabean;
|
| import java.beans.BeanInfo;
| import java.beans.Introspector;
| import java.beans.PropertyDescriptor;
|
| import org.junit.Test;
|
| public class TestIntrospector
| {
| @Test
| public void testBeanPropertyCase()
| throws Exception
| {
| BeanInfo beanWithStatesInfo = Introspector.getBeanInfo(BeanWithStates.class);
| PropertyDescriptor[] props = beanWithStatesInfo.getPropertyDescriptors();
| System.out.println("BeanWithStates properties:");
| for(PropertyDescriptor p : props)
| {
| System.out.println(p.getName()+", read: "+p.getReadMethod()+",
write: "+p.getWriteMethod());
| }
| }
| }
|
| BeanWithStates properties:
| class, read: public final native java.lang.Class java.lang.Object.getClass(), write:
null
| state, read: public java.lang.String javabean.BeanWithStates.getstate(), write: public
void javabean.BeanWithStates.setstate(java.lang.String)
|
Instead, it only finds state, but does use the setter/getter that is consistent with the
mbean naming conventions. I guess one would have to supply a class level
java.beans.BeanInfo to have access to both state and State as properties.
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4004985#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...