Hi Siqi,

I saw your other note on this being something that affects a Geronimo console bug you're attempting to fix. Going to move it over to the Geronimo dev list as we might be able to take a different route to get the info we want.

-David

On Sep 1, 2009, at 2:02 AM, Siqi Du wrote:

Hello,
Thanks for your review. Here I need to monitor the ejb nodes, so I try this
code:

           Properties props = new Properties();
           props.setProperty(Context.INITIAL_CONTEXT_FACTORY,

"org.apache.openejb.client.RemoteInitialContextFactory");
props.setProperty(Context.PROVIDER_URL, "ejbd://" + ip + ":"
+ port);
           props.setProperty(Context.SECURITY_PRINCIPAL, userName);
           props.setProperty(Context.SECURITY_CREDENTIALS, password);
           ...
           Context ctx = new InitialContext(props);

Firstly, I tried a wrong ip. Yes, I got the expected exception.
Secondly, I tried a right ip. It's OK, still right.
Thirdly, I tried the wrong ip again, it also ran well. Here I was confused
and looked into the code of  openejb and found something in
package org.apache.openejb.client.

In method Client.processRequest() the code always consider we are in a
clustering environment and put the only server in a ClusterMetaData.
But in the default connection strategy StickyConnectionStrategy, this part
of code will never run.

      if (locations.length == 0){
           return connect(server.getLocation());
       }

I guess this code wants to deal with the non-clustering environment, is that
a conflict with Client.processRequest()?

Can we provide an api to connect to a non-clustering environment?
Or may there is a way already, please tell me. ^_^

Thanks!

-Siqi

Reply via email to