Re: loading gbeans

2005-10-24 Thread David Jencks


On Oct 23, 2005, at 8:10 PM, Sachin Patel wrote:




David Jencks wrote:

On Oct 22, 2005, at 7:05 PM, Sachin Patel wrote:
Is there a way to load a loaded configuration's gbeans' without 
starting the configuration?  I'm basically wanting query a gbean's 
persistent attribute value on a loaded but not started 
configuration.  Looking through the code the configuration's gbeans 
are loaded only after its containing configuration is started


kernel.startGBean(configName);
kernel.invoke(configName, loadGBeans, new Object[] 
{attributeStore}, new String[] 
{ManageableAttributeStore.class.getName()});


This makes sense, but I'm wondering if there is an alternate way to 
get the gbeans attribute values on an already deployed and 
serialized configuration.
I don't think we can do better at this point.  There is no limit on 
the complexity of attribute values, and the only restriction other 
than serializablitly is that classes used must be loadable by the 
configuration's classloader.  This classloader is only available when 
the configuration gbean is started.
If you're willing to use the kernel methods directly rather than the 
methods on ConfigurationManager (I recommend sticking to using the 
ConfigurationManager) you could pass your own 
ManageableAttributeStore in that gets all the gbean datas and return 
an empty list.  This would result in you getting the gbean datas and 
no gbeans getting loaded.

Why do you want to avoid loading the gbeans?


Well I was looking into the shutdown script a little this weekend and 
we need to be able to shutdown the correct kernel if multiple server 
instances are running.  In order to do so we need to get the correct 
port number from the RMIRegistry gbean in order to be able to connect 
to and shutdown the correct kernel.  So I launched a temp kernel and 
loaded the RMINamingConfiguration.  From there, starting that 
configuration fails since the RMIRegistry gbean's port number is 
already in use.  So I was looking a way to bypass starting the 
configuration and to just be able to load that particular gbean and 
get its port attribute.  From there I can put togather the correct 
uri, create a kernel delegate and shut it down.





thanks
david jencks


???

Sachin







Re: loading gbeans

2005-10-24 Thread David Jencks

this time I'll respond before hitting send :-(
On Oct 23, 2005, at 8:10 PM, Sachin Patel wrote:




David Jencks wrote:

On Oct 22, 2005, at 7:05 PM, Sachin Patel wrote:
Is there a way to load a loaded configuration's gbeans' without 
starting the configuration?  I'm basically wanting query a gbean's 
persistent attribute value on a loaded but not started 
configuration.  Looking through the code the configuration's gbeans 
are loaded only after its containing configuration is started


kernel.startGBean(configName);
kernel.invoke(configName, loadGBeans, new Object[] 
{attributeStore}, new String[] 
{ManageableAttributeStore.class.getName()});


This makes sense, but I'm wondering if there is an alternate way to 
get the gbeans attribute values on an already deployed and 
serialized configuration.
I don't think we can do better at this point.  There is no limit on 
the complexity of attribute values, and the only restriction other 
than serializablitly is that classes used must be loadable by the 
configuration's classloader.  This classloader is only available when 
the configuration gbean is started.
If you're willing to use the kernel methods directly rather than the 
methods on ConfigurationManager (I recommend sticking to using the 
ConfigurationManager) you could pass your own 
ManageableAttributeStore in that gets all the gbean datas and return 
an empty list.  This would result in you getting the gbean datas and 
no gbeans getting loaded.

Why do you want to avoid loading the gbeans?


Well I was looking into the shutdown script a little this weekend and 
we need to be able to shutdown the correct kernel if multiple server 
instances are running.  In order to do so we need to get the correct 
port number from the RMIRegistry gbean in order to be able to connect 
to and shutdown the correct kernel.  So I launched a temp kernel and 
loaded the RMINamingConfiguration.  From there, starting that 
configuration fails since the RMIRegistry gbean's port number is 
already in use.  So I was looking a way to bypass starting the 
configuration and to just be able to load that particular gbean and 
get its port attribute.  From there I can put togather the correct 
uri, create a kernel delegate and shut it down.


First of all...

configurationManager.load(myURI);  //starts the configuration gbean, 
but not the gbeans in the configuration
configurationManager.loadGBeans(myURI);  //loads but does not start the 
gbeans in the configuration


will load the configuration whose ID is myURI, and then load but not 
start the gbeans in the configuration, so you won't get any port 
conflicts.  Starting the configuration 
(configurationManager.start(myURI) will load and start the gbeans in 
the configuration: you don't want to do this.


Second, does jmx remoting use the jndi naming port?  I keep getting 
confused about which port jmx remoting connects to.


thanks
david jencks



Re: loading gbeans

2005-10-24 Thread Sachin Patel

Sending again.. (sorry if dup reply)

David Jencks wrote:
starts the configuration gbean, but

not the gbeans in the configuration
configurationManager.loadGBeans(myURI);  //loads but does not start the 
gbeans in the configuration


Doh! must have overlooked that API.



will load the configuration whose ID is myURI, and then load but not 
start the gbeans in the configuration, so you won't get any port 
conflicts.  Starting the configuration 
(configurationManager.start(myURI) will load and start the gbeans in the 
configuration: you don't want to do this.


Second, does jmx remoting use the jndi naming port?  I keep getting 
confused about which port jmx remoting connects to.


I thought so... but now I'm 100% sure myself.  :)   In the wiki  it does

deployer:geronimo:jmx:rmi:///jndi/rmi://localhost:1099/JMXConnector 
(which by the way the path is incorrect)


but in my eclipse tooling code... the uri I have is

deployer:geronimo:jmx:rmi://localhost/jndi/rmi:/JMXConnector

So I'm wondering now myself how its connecting to the correct port, or 
if not specified it just happens to be defaulting to 1099.


Sachin


Re: loading gbeans

2005-10-24 Thread Sachin Patel



David Jencks wrote:

First of all...

configurationManager.load(myURI);  //starts the configuration gbean, but 
not the gbeans in the configuration
configurationManager.loadGBeans(myURI);  //loads but does not start the 
gbeans in the configuration


Doh! must have overlooked that API.



will load the configuration whose ID is myURI, and then load but not 
start the gbeans in the configuration, so you won't get any port 
conflicts.  Starting the configuration 
(configurationManager.start(myURI) will load and start the gbeans in the 
configuration: you don't want to do this.


Second, does jmx remoting use the jndi naming port?  I keep getting 
confused about which port jmx remoting connects to.


I thought so... but now I'm 100% sure myself. :)  In the wiki  it does

deployer:geronimo:jmx:rmi:///jndi/rmi://localhost:1099/JMXConnector 
(which by the way the path is incorrect)


but in my eclipse tooling code... the uri I have is

deployer:geronimo:jmx:rmi://localhost/jndi/rmi:/JMXConnector

So I'm wondering now myself how its connecting to the correct port, or 
if not specified it just happens to be defaulting to 1099.




thanks
david jencks




Re: loading gbeans

2005-10-23 Thread David Jencks


On Oct 22, 2005, at 7:05 PM, Sachin Patel wrote:

Is there a way to load a loaded configuration's gbeans' without 
starting the configuration?  I'm basically wanting query a gbean's 
persistent attribute value on a loaded but not started configuration.  
Looking through the code the configuration's gbeans are loaded only 
after its containing configuration is started


kernel.startGBean(configName);
kernel.invoke(configName, loadGBeans, new Object[] {attributeStore}, 
new String[] {ManageableAttributeStore.class.getName()});


This makes sense, but I'm wondering if there is an alternate way to 
get the gbeans attribute values on an already deployed and serialized 
configuration.


I don't think we can do better at this point.  There is no limit on the 
complexity of attribute values, and the only restriction other than 
serializablitly is that classes used must be loadable by the 
configuration's classloader.  This classloader is only available when 
the configuration gbean is started.


If you're willing to use the kernel methods directly rather than the 
methods on ConfigurationManager (I recommend sticking to using the 
ConfigurationManager) you could pass your own ManageableAttributeStore 
in that gets all the gbean datas and return an empty list.  This would 
result in you getting the gbean datas and no gbeans getting loaded.


Why do you want to avoid loading the gbeans?

thanks
david jencks



???

Sachin





Re: loading gbeans

2005-10-23 Thread Sachin Patel



David Jencks wrote:


On Oct 22, 2005, at 7:05 PM, Sachin Patel wrote:

Is there a way to load a loaded configuration's gbeans' without 
starting the configuration?  I'm basically wanting query a gbean's 
persistent attribute value on a loaded but not started configuration.  
Looking through the code the configuration's gbeans are loaded only 
after its containing configuration is started


kernel.startGBean(configName);
kernel.invoke(configName, loadGBeans, new Object[] {attributeStore}, 
new String[] {ManageableAttributeStore.class.getName()});


This makes sense, but I'm wondering if there is an alternate way to 
get the gbeans attribute values on an already deployed and serialized 
configuration.


I don't think we can do better at this point.  There is no limit on the 
complexity of attribute values, and the only restriction other than 
serializablitly is that classes used must be loadable by the 
configuration's classloader.  This classloader is only available when 
the configuration gbean is started.


If you're willing to use the kernel methods directly rather than the 
methods on ConfigurationManager (I recommend sticking to using the 
ConfigurationManager) you could pass your own ManageableAttributeStore 
in that gets all the gbean datas and return an empty list.  This would 
result in you getting the gbean datas and no gbeans getting loaded.


Why do you want to avoid loading the gbeans?


Well I was looking into the shutdown script a little this weekend and we 
need to be able to shutdown the correct kernel if multiple server 
instances are running.  In order to do so we need to get the correct 
port number from the RMIRegistry gbean in order to be able to connect to 
and shutdown the correct kernel.  So I launched a temp kernel and loaded 
the RMINamingConfiguration.  From there, starting that configuration 
fails since the RMIRegistry gbean's port number is already in use.  So I 
was looking a way to bypass starting the configuration and to just be 
able to load that particular gbean and get its port attribute.  From 
there I can put togather the correct uri, create a kernel delegate and 
shut it down.






thanks
david jencks



???

Sachin






loading gbeans

2005-10-22 Thread Sachin Patel
Is there a way to load a loaded configuration's gbeans' without 
starting the configuration?  I'm basically wanting query a gbean's 
persistent attribute value on a loaded but not started configuration.  
Looking through the code the configuration's gbeans are loaded only 
after its containing configuration is started


kernel.startGBean(configName);
kernel.invoke(configName, loadGBeans, new Object[] {attributeStore}, 
new String[] {ManageableAttributeStore.class.getName()});


This makes sense, but I'm wondering if there is an alternate way to get 
the gbeans attribute values on an already deployed and serialized 
configuration.


???

Sachin