Discussion:
[Openjmx-devel] FW: ANN: WebOS 0.1
Bordet, Simone
2002-01-15 08:54:02 UTC
Permalink
-----Original Message-----
Sent: martedì 15 gennaio 2002 11:42
To: Bordet, Simone
Subject: Re: ANN: WebOS 0.1
Hi Simon,
See comments inline.
Hi Jerome
Hi Simon,
All the MBeans are ModelMBeans. I am using the Sun run-time
implementation.
I have not experienced any bug with the ModelMBeans yet. Is
it so buggy?
My god it is not usable even. set/getAttribute don't work,
many other bugs. I wonder how you managed to have it working...
Well, I understand now why you said that. Effectively I am
using my own
ModelMBean implementation. I used the one from Jetty-JMX that
is pretty
nice.
http://cvs.kalixia.org/cvsweb.cgi/~checkout~/WebOS/src/com/xtr
emejava/webos/jmx/ModelMBeanImpl.java?rev=1.1.1.1&content-type
=text/plain
It sound that you know much more JMX that I do (I looked at the
website), so I have a question for you: what about TMX4J?
Have you tried it?
No, should be ok, but it is not open source like OpenJMX, so
you will have probably less support and less responsivity.
Yeah that's true. I am always kind of "frightened" about the
IBM stuff.
They have so many different licenses that it is painful to make sure
everything is fine... And moreover their TMX4J contains some
JNI code :-(
I looked at the website of OpenJMX. When will the HTML
adaptor released?
We will release the beta out today :)
Good news.... I will consider switching to OpenJMX (BTW what is your
license) for version 0.2.
And finally, I have in my plan to use dynamic proxies for creating
ModelMBeans out of Jini Services. Would OpenJMX offer any
help for that?
Yes, we can definitely work together on it.
I worked with Jini to build a cluster system, but was just
an experiment, so I say I know Jini but not at its best.
If you want to join OpenJMX mailing list, you can post your
suggestion and we can realize them as extensions.
Nice, on that stuff, we could share our efforts and provide something
nice. I will subscribe to the mailing-list and post a mail explaining
what I have in my mind about those features...
OpenJMX also has some nice features that plug in in your
framework nicely, first of them being the logging of the JMX agent.
Yes, I have seen that you use log4j just as I do, and this is between
than dumping some stupid thing on the standard streams such
as what the
JMXRI of Sun does.
We also use dynamic proxies for invocations of standard
MBeans, so we know what your talking about, and I guess your
work is inspired by Rickard Oberg's SmartWorld, isn't it ?
Part of it yes. I gained much more knowledge reading his
examples. Some
proxies are quite similar to the one he wrote and some are completely
new, such as the Weka one that will enable a new kind of application
server, believe me. I have never heard of server using data-mining
algorithms in order to improve load-balancing, high availability and
such things...
Regards,
Jerome.
Bordet, Simone
2002-01-15 20:34:07 UTC
Permalink
Reply does not work with SF lists :(
-----Original Message-----
Sent: Tuesday, January 15, 2002 12:33 PM
To: Bordet, Simone
Subject: Re: [Openjmx-devel] FW: ANN: WebOS 0.1
Hi all,
I wrote the e-mail Simon forwarded.
I have written an application server built on Jini and this
application
server provides lots of MBeans.
More information is available online at
http://www.xtremejava.com/products/WebOS.
As you can see reading an extract of the discussion I had
with Simon, I
am currently using Sun' JMXRI with my own ModelMBean implementation.
However, I want to change completely the way the MBeans are
written. I
want in fact to use dynamic proxies in order to "turn" any
interface as
a ModelMBean.
In more detail here what I would like to be able to do (I have not
thinked enough about that stuff so sorry in advance).
public interface MyInterface {
void Object myMethod(Object anotherObject, Object[]
anArrayOfObjects)
throws MyException;
void MyObject getSomeWonderfulObject() throws MyException;
void setSomeWonderfulObject(MyObject object) throws MyException;
}
Then I would like to have a dynamic proxy providing a ModelMBean with
the "someWonderfulObject" attribute and the operation "myMethod".
For my project, I would prefer a ModelMBean in order to load the
descriptions from a file and mainly because I want to use the
load() and
store() method that would be overridden in order to
start/stop my Jini
services.
There is a another option that I would consider too: a MBean
sourcecode
generator. It could take an interface AND an implementation. It could
also benefit of XDoclet with some new tags for OpenJMX in order to
generate the descriptions.
To conclude just some few ideas I must think more about but
if someone
has already been working on similar stuff I am interested in.
Depending on which features OpenJMX would like to add, I could help
coding as I will be in need of some of the features I proposed.
Regards,
Jerome.
-----Original Message-----
Sent: martedì 15 gennaio 2002 11:42
To: Bordet, Simone
Subject: Re: ANN: WebOS 0.1
Hi Simon,
See comments inline.
Hi Jerome
Hi Simon,
All the MBeans are ModelMBeans. I am using the Sun run-time
implementation.
I have not experienced any bug with the ModelMBeans yet. Is
it so buggy?
My god it is not usable even. set/getAttribute don't work,
many other bugs. I wonder how you managed to have it working...
Well, I understand now why you said that. Effectively I am
using my own
ModelMBean implementation. I used the one from Jetty-JMX that
is pretty
nice.
http://cvs.kalixia.org/cvsweb.cgi/~checkout~/WebOS/src/com/xtr
emejava/webos/jmx/ModelMBeanImpl.java?rev=1.1.1.1&content-type
=text/plain
It sound that you know much more JMX that I do (I looked at the
website), so I have a question for you: what about TMX4J?
Have you tried it?
No, should be ok, but it is not open source like OpenJMX, so
you will have probably less support and less responsivity.
Yeah that's true. I am always kind of "frightened" about the
IBM stuff.
They have so many different licenses that it is painful to
make sure
everything is fine... And moreover their TMX4J contains some
JNI code :-(
I looked at the website of OpenJMX. When will the HTML
adaptor released?
We will release the beta out today :)
Good news.... I will consider switching to OpenJMX (BTW
what is your
license) for version 0.2.
And finally, I have in my plan to use dynamic proxies for
creating
ModelMBeans out of Jini Services. Would OpenJMX offer any
help for that?
Yes, we can definitely work together on it.
I worked with Jini to build a cluster system, but was just
an experiment, so I say I know Jini but not at its best.
If you want to join OpenJMX mailing list, you can post your
suggestion and we can realize them as extensions.
Nice, on that stuff, we could share our efforts and provide
something
nice. I will subscribe to the mailing-list and post a mail
explaining
what I have in my mind about those features...
OpenJMX also has some nice features that plug in in your
framework nicely, first of them being the logging of the JMX agent.
Yes, I have seen that you use log4j just as I do, and this
is between
than dumping some stupid thing on the standard streams such
as what the
JMXRI of Sun does.
We also use dynamic proxies for invocations of standard
MBeans, so we know what your talking about, and I guess your
work is inspired by Rickard Oberg's SmartWorld, isn't it ?
Part of it yes. I gained much more knowledge reading his
examples. Some
proxies are quite similar to the one he wrote and some are
completely
new, such as the Weka one that will enable a new kind of
application
server, believe me. I have never heard of server using data-mining
algorithms in order to improve load-balancing, high
availability and
such things...
Regards,
Jerome.
_______________________________________________
Openjmx-devel mailing list
https://lists.sourceforge.net/lists/listinfo/openjmx-devel
Bordet, Simone
2002-01-15 20:35:10 UTC
Permalink
Hi Jerome,

see inline.
More information is available online at
http://www.xtremejava.com/products/WebOS.
As you can see reading an extract of the discussion I had
with Simon, I
am currently using Sun' JMXRI with my own ModelMBean implementation.
However, I want to change completely the way the MBeans are
written. I
want in fact to use dynamic proxies in order to "turn" any
interface as a ModelMBean.
In more detail here what I would like to be able to do (I have not
thinked enough about that stuff so sorry in advance).
public interface MyInterface {
void Object myMethod(Object anotherObject, Object[]
anArrayOfObjects)
throws MyException;
void MyObject getSomeWonderfulObject() throws MyException;
void setSomeWonderfulObject(MyObject object) throws MyException;
}
Then I would like to have a dynamic proxy providing a ModelMBean with
the "someWonderfulObject" attribute and the operation "myMethod".
We already have something similar for Standard MBeans. I will work on this suggestion. Keep in touch !
For my project, I would prefer a ModelMBean in order to load the
descriptions from a file and mainly because I want to use the
load() and
store() method that would be overridden in order to
start/stop my Jini services.
Uhm, I would rather put start() and stop() in the interface of my MBean; bear in mind that the JMX implementation may call load() and store() at its discretion, so using them to start/stop the service is not the proper thing to do IMHO.
There is a another option that I would consider too: a MBean
sourcecode
generator. It could take an interface AND an implementation. It could
also benefit of XDoclet with some new tags for OpenJMX in order to
generate the descriptions.
Yes, the XDoclet stuff is interesting. The MMB implementation is quite bulky however...
To conclude just some few ideas I must think more about but
if someone
has already been working on similar stuff I am interested in.
Depending on which features OpenJMX would like to add, I could help
coding as I will be in need of some of the features I proposed.
No problem at all, just give me your SF id, and you're in. :)

Regards

Simon
Regards,
Jerome.
-----Original Message-----
Sent: martedì 15 gennaio 2002 11:42
To: Bordet, Simone
Subject: Re: ANN: WebOS 0.1
Hi Simon,
See comments inline.
Hi Jerome
Hi Simon,
All the MBeans are ModelMBeans. I am using the Sun run-time
implementation.
I have not experienced any bug with the ModelMBeans yet. Is
it so buggy?
My god it is not usable even. set/getAttribute don't work,
many other bugs. I wonder how you managed to have it working...
Well, I understand now why you said that. Effectively I am
using my own
ModelMBean implementation. I used the one from Jetty-JMX that
is pretty
nice.
http://cvs.kalixia.org/cvsweb.cgi/~checkout~/WebOS/src/com/xtr
emejava/webos/jmx/ModelMBeanImpl.java?rev=1.1.1.1&content-type
=text/plain
It sound that you know much more JMX that I do (I looked at the
website), so I have a question for you: what about TMX4J?
Have you tried it?
No, should be ok, but it is not open source like OpenJMX, so
you will have probably less support and less responsivity.
Yeah that's true. I am always kind of "frightened" about the
IBM stuff.
They have so many different licenses that it is painful to
make sure
everything is fine... And moreover their TMX4J contains some
JNI code :-(
I looked at the website of OpenJMX. When will the HTML
adaptor released?
We will release the beta out today :)
Good news.... I will consider switching to OpenJMX (BTW
what is your
license) for version 0.2.
And finally, I have in my plan to use dynamic proxies for
creating
ModelMBeans out of Jini Services. Would OpenJMX offer any
help for that?
Yes, we can definitely work together on it.
I worked with Jini to build a cluster system, but was just
an experiment, so I say I know Jini but not at its best.
If you want to join OpenJMX mailing list, you can post your
suggestion and we can realize them as extensions.
Nice, on that stuff, we could share our efforts and provide
something
nice. I will subscribe to the mailing-list and post a mail
explaining
what I have in my mind about those features...
OpenJMX also has some nice features that plug in in your
framework nicely, first of them being the logging of the JMX agent.
Yes, I have seen that you use log4j just as I do, and this
is between
than dumping some stupid thing on the standard streams such
as what the
JMXRI of Sun does.
We also use dynamic proxies for invocations of standard
MBeans, so we know what your talking about, and I guess your
work is inspired by Rickard Oberg's SmartWorld, isn't it ?
Part of it yes. I gained much more knowledge reading his
examples. Some
proxies are quite similar to the one he wrote and some are
completely
new, such as the Weka one that will enable a new kind of
application
server, believe me. I have never heard of server using data-mining
algorithms in order to improve load-balancing, high
availability and
such things...
Regards,
Jerome.
_______________________________________________
Openjmx-devel mailing list
https://lists.sourceforge.net/lists/listinfo/openjmx-devel
Jérôme BERNARD
2002-01-16 07:33:09 UTC
Permalink
Post by Bordet, Simone
Hi Jerome,
see inline.
For my project, I would prefer a ModelMBean in order to load the
descriptions from a file and mainly because I want to use the
load() and
store() method that would be overridden in order to
start/stop my Jini services.
Uhm, I would rather put start() and stop() in the interface of my MBean; bear in mind that the JMX implementation may call load() and store() at its discretion, so using them to start/stop the service is not the proper thing to do IMHO.
I considerated using start() and stop() methods but I would like to make
any service working without modification so I can not count on that.
However, I could probably write a dynamic proxy for my project
implementing an interface having start and stop methods and doing the
required job I guess.
Post by Bordet, Simone
There is a another option that I would consider too: a MBean
sourcecode
generator. It could take an interface AND an implementation. It could
also benefit of XDoclet with some new tags for OpenJMX in order to
generate the descriptions.
Yes, the XDoclet stuff is interesting. The MMB implementation is quite bulky however...
I do not understand what you mean when you say that the model mbean
implementation is quite bulky...
Post by Bordet, Simone
To conclude just some few ideas I must think more about but
if someone
has already been working on similar stuff I am interested in.
Depending on which features OpenJMX would like to add, I could help
coding as I will be in need of some of the features I proposed.
No problem at all, just give me your SF id, and you're in. :)
Me id is *60814* and if needed my login is "jeje".
Carlos Quiroz
2002-01-16 07:57:04 UTC
Permalink
Post by Jérôme BERNARD
Post by Bordet, Simone
Hi Jerome,
see inline.
For my project, I would prefer a ModelMBean in order to load the
descriptions from a file and mainly because I want to use the
load() and
store() method that would be overridden in order to
start/stop my Jini services.
What do you think about doing some standard descriptor for this. I have some
work done for a XML file descriptor which will build a ModelMBean and the you
set the reference.
Post by Jérôme BERNARD
Post by Bordet, Simone
Uhm, I would rather put start() and stop() in the interface of my MBean;
bear in mind that the JMX implementation may call load() and store() at
its discretion, so using them to start/stop the service is not the proper
thing to do IMHO.
I considerated using start() and stop() methods but I would like to make
any service working without modification so I can not count on that.
However, I could probably write a dynamic proxy for my project
implementing an interface having start and stop methods and doing the
required job I guess.
Post by Bordet, Simone
There is a another option that I would consider too: a MBean
sourcecode
generator. It could take an interface AND an implementation. It could
also benefit of XDoclet with some new tags for OpenJMX in order to
generate the descriptions.
Yes, the XDoclet stuff is interesting. The MMB implementation is quite bulky however...
I do not understand what you mean when you say that the model mbean
implementation is quite bulky...
I guess he's talking about the RequiredModelMBean whic is indeed quite bulky
Post by Jérôme BERNARD
Post by Bordet, Simone
To conclude just some few ideas I must think more about but
if someone
has already been working on similar stuff I am interested in.
Depending on which features OpenJMX would like to add, I could help
coding as I will be in need of some of the features I proposed.
No problem at all, just give me your SF id, and you're in. :)
Me id is *60814* and if needed my login is "jeje".
_______________________________________________
Openjmx-devel mailing list
https://lists.sourceforge.net/lists/listinfo/openjmx-devel
--
Carlos Quiroz
Software Engineer
Invasio Oy
Mobile +358 (0)40 555 5793
mailto:***@rtse.com
http://www.invasio.com/
Jérôme BERNARD
2002-01-16 08:57:05 UTC
Permalink
Post by Carlos Quiroz
Post by Bordet, Simone
Hi Jerome,
see inline.
For my project, I would prefer a ModelMBean in order to load the
descriptions from a file and mainly because I want to use the
load() and
store() method that would be overridden in order to
start/stop my Jini services.
What do you think about doing some standard descriptor for this. I have some
work done for a XML file descriptor which will build a ModelMBean and the you
set the reference.
This is something really close to what I was thinking about. In fact, I
would like to have some features likes the auto-deployer of JBoss in my
project. The auto-deployer would read an XML descriptor file inside a
JAR file, instanciate the MBean dynamically based on that descriptor and
start the service.


Jerome.
Carlos Quiroz
2002-01-16 11:26:04 UTC
Permalink
Post by Jérôme BERNARD
Post by Carlos Quiroz
What do you think about doing some standard descriptor for this. I have
some work done for a XML file descriptor which will build a ModelMBean
and the you set the reference.
This is something really close to what I was thinking about. In fact, I
would like to have some features likes the auto-deployer of JBoss in my
project. The auto-deployer would read an XML descriptor file inside a
JAR file, instanciate the MBean dynamically based on that descriptor and
start the service.
I'll publish very soon a possible DTD or XMLSchema for discussion. However you
have to somehow set the managed resource. How do you plan to do that? Should
an auto deployer instantiate an object an set it as its managed resource?
What if your constructor need parameters?
Post by Jérôme BERNARD
Jerome.
--
Carlos Quiroz
Software Engineer
Invasio Oy
Mobile +358 (0)40 555 5793
mailto:***@rtse.com
http://www.invasio.com/
Jérôme BERNARD
2002-01-16 11:36:03 UTC
Permalink
Post by Carlos Quiroz
Post by Jérôme BERNARD
Post by Carlos Quiroz
What do you think about doing some standard descriptor for this. I have
some work done for a XML file descriptor which will build a ModelMBean
and the you set the reference.
This is something really close to what I was thinking about. In fact, I
would like to have some features likes the auto-deployer of JBoss in my
project. The auto-deployer would read an XML descriptor file inside a
JAR file, instanciate the MBean dynamically based on that descriptor and
start the service.
I'll publish very soon a possible DTD or XMLSchema for discussion.
Great.
Post by Carlos Quiroz
However you
have to somehow set the managed resource. How do you plan to do that? Should
an auto deployer instantiate an object an set it as its managed resource?
What if your constructor need parameters?
I think there are multiple ways to solve this.

Either OpenJMX ignores the problem and then I will embed your XML
document in my descriptor and add enough information in order to set the
managed ressource, or OpenJMX wants to deal with it and then it's a bit
more complicated.

Regarding the problem with constructors, I think that the call to the
constructor could be written as XML and some children nodes would be set
for arguments to the constructor. If the constructor needs a
"non-standard" argument (I mean an argument that is of a class out of
the OpenJMX, java.* and javax.* packages) then we could give a
serialized object (preferably a MarshalledObject) written in a file?

I do not like the idea of using a serialized object but I do not know
how we could deal with it otherwise. Any idea?


Jerome.

Bordet, Simone
2002-01-15 21:02:35 UTC
Permalink
Jerome,

I'm thinking about your idea of the ModelMBean proxy, I would like to have some input...
In more detail here what I would like to be able to do (I have not
thinked enough about that stuff so sorry in advance).
public interface MyInterface {
void Object myMethod(Object anotherObject, Object[]
anArrayOfObjects)
throws MyException;
void MyObject getSomeWonderfulObject() throws MyException;
void setSomeWonderfulObject(MyObject object) throws MyException;
}
Then I would like to have a dynamic proxy providing a
ModelMBean with
the "someWonderfulObject" attribute and the operation "myMethod".
Ok, where is the managed resource ? I mean the implementation of the interface ?
This is what I'm thinking:

MBeanServer server = ...;
ObjectName name = ...;
Object resource = ...;
ModelMBean mmb = server.instantiate("my.package.MyModelMBean", null);
mmb.setManagedResource(resource, MyModelMBean.OBJECT_RESOURCE_TYPE);
MyInterface mbean = (MyInterface)ModelMBeanProxy.register(MyInterface.class, server, name, mmb);
MyObject wonder = mbean.getSomeWonderfulObject();

Some point:
1) you cannot register a model mbean in the mbeanserver if its modelmbeaninfo is not set, somehow (through direct setting or through load()); this is the spec.
2) RequiredModelMBean don't know where to take the modelmbeaninfo from, so you need to override load, hence create a subclass of RMMB.
3) The proxy will only mask the invocations, but will be useless for extracting modelmbeaninfo from the interface for the reasons 1 and 2

Uhm the above is spec-thought.

ModelMBean are good when they're there, putting them there requires quite work... 'there' is inside the MBeanServer.

I will think if there is a way to workaround the egg-chicken problem of creating requiredmodelmbeans without subclassing, and wander with thoughts in search of a good solution.

Simon
Bordet, Simone
2002-01-16 11:02:02 UTC
Permalink
Hi,
Post by Carlos Quiroz
Post by Carlos Quiroz
What do you think about doing some standard descriptor for
this. I have some
Post by Carlos Quiroz
work done for a XML file descriptor which will build a
ModelMBean and the you
Post by Carlos Quiroz
set the reference.
This is something really close to what I was thinking about.
In fact, I
would like to have some features likes the auto-deployer of
JBoss in my
project. The auto-deployer would read an XML descriptor file inside a
JAR file, instanciate the MBean dynamically based on that
descriptor and
start the service.
Eh, JBoss rules.
The deployer however covers some trouble, that JBoss seems to have solved only yesterday, that is the classloader / deployer integration...

Ah, well, let's start simple :) Also XP rules.

Simon
Jérôme BERNARD
2002-01-16 11:26:03 UTC
Permalink
Post by Bordet, Simone
Hi,
Post by Carlos Quiroz
Post by Carlos Quiroz
What do you think about doing some standard descriptor for
this. I have some
Post by Carlos Quiroz
work done for a XML file descriptor which will build a
ModelMBean and the you
Post by Carlos Quiroz
set the reference.
This is something really close to what I was thinking about.
In fact, I
would like to have some features likes the auto-deployer of
JBoss in my
project. The auto-deployer would read an XML descriptor file inside a
JAR file, instanciate the MBean dynamically based on that
descriptor and
start the service.
Eh, JBoss rules.
I don't know if jBoss rules, but there are some pretty good ideas in
this project :-)
And as I saw you're a developer of the jBoss project too. lol
Post by Bordet, Simone
The deployer however covers some trouble, that JBoss seems to have solved only yesterday, that is the classloader / deployer integration...
Yeah. I heard that. I think it was echoed on the log4j-dev mailing-list.
Post by Bordet, Simone
Ah, well, let's start simple :) Also XP rules.
True.
Loading...