You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomee.apache.org by bitz <th...@canada.com> on 2009/10/29 00:05:18 UTC

OpenEJB 3.1.2 - "Cannot connect to server" WARNING message

I'm using Geronimo 2.2 which uses OpenEJB 3.1.2.  I have a client application
which retrieves a remote EJB reference and makes a remote EJB method call. 
I'm seeing the following message being logged by the OpenEJB client on the
client side...

Oct 28, 2009 3:36:03 PM org.apache.openejb.client.StickyConnectionStrategy
connect
WARNING: Failover: Cannot connect to server(s): ejbd://0.0.0.0:4201
Exception: Cannot connect to server 'ejbd://0.0.0.0:4201'.  Check that the
server is started and that the specified serverURL is correct..  Trying
next.

Well, the serverURL is not correct, and it's also not the one I provided. 
Here's a snippet of the client code...

final URI serverURI = new URI( "ejbd", null, "192.168.0.1", 4201, null,
null, null );
final Properties contextProperties = new Properties( );
contextProperties.put( Context.INITIAL_CONTEXT_FACTORY,
"org.apache.openejb.client.RemoteInitialContextFactory" );
contextProperties.put( Context.PROVIDER_URL, serverURI.toString( ) );
	        
final InitialContext ctx = new InitialContext( contextProperties );
final MyEjbService remote = (MyEjbService)ctx.lookup("MyEjbRemote");
final String serverTime = remote.getServerTime();

In
org.apache.openejb.client.StickyConnectionStrategy.connect(ClusterMetaData
cluster, ServerMetaData server), the ctx.lookup("MyEjbRemote") call is
successful, but the next call to remote.getServerTime() produces the error
message indicated above, yet still succeeds.  Further calls to
remote.getServerTime() work fine and do not produce any error messages.

I debugged enough to find the cause.  I'll try to explain... The first
client-server communication involves a handshake where ClusterRequest and
ClusterResponse objects are exchanged.  During this handshake the server
returns a URI of "ejbd://0.0.0.0:4201".  On the next communication to the
server, for the remote.getServerTime() method call, the
org.apache.openejb.client.StickyConnectionStrategy.connect(ClusterMetaData
cluster, ServerMetaData server) code attempts to use the URI returned by the
server, which obviously fails, resulting in the message, then it falls back
to the original, correct URI, which is successful.

My question:  What is the reason for the ClusterRequest/ClusterResponse
handshake, and why does the OpenEJB client try to connect using an invalid
URI provided by server?


-- 
View this message in context: http://www.nabble.com/OpenEJB-3.1.2---%22Cannot-connect-to-server%22-WARNING-message-tp26103713p26103713.html
Sent from the OpenEJB User mailing list archive at Nabble.com.


Re: OpenEJB 3.1.2 - "Cannot connect to server" WARNING message

Posted by bitz <th...@canada.com>.
I'm using a snapshot of Geronimo 2.2, revision 830701, downloaded on Oct 28,
2009.  As I said, I did not alter the Geronimo config at all, but I've
pasted it for you below.  On the server side, there's a single stateless
session bean, with a single remote method.  Very simple.  Thanks for your
help.


Geronimo config.xml:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<attributes xmlns:ns2="http://geronimo.apache.org/xml/ns/plugins-1.3"
xmlns="http://geronimo.apache.org/xml/ns/attributes-1.2">
    <comment>
==================================================================
Warning - This XML file is regenerated by Geronimo whenever
changes are made to Geronimo's configuration.

If you want to include comments, create a single comment element
element.  They are allowable at any level of the configuration.

!!!! Do not edit this file while Geronimo is running !!!!
==================================================================</comment>
    <module
name="org.apache.geronimo.framework/client-system/2.2-SNAPSHOT/car"
load="false"/>
    <module
name="org.apache.geronimo.framework/j2ee-system/2.2-SNAPSHOT/car"/>
    <module
name="org.apache.geronimo.framework/jee-specs/2.2-SNAPSHOT/car"/>
    <module
name="org.apache.geronimo.plugins.classloaders/xbean-finder/2.2-SNAPSHOT/car"/>
    <module name="org.apache.geronimo.configs/client/2.2-SNAPSHOT/car"
load="false"/>
    <module
name="org.apache.geronimo.configs/client-security/2.2-SNAPSHOT/car"
load="false"/>
    <module
name="org.apache.geronimo.configs/client-corba-yoko/2.2-SNAPSHOT/car"
load="false"/>
    <module name="org.apache.geronimo.framework/xmlbeans/2.2-SNAPSHOT/car"/>
    <module
name="org.apache.geronimo.framework/rmi-naming/2.2-SNAPSHOT/car">
        <gbean name="RMIRegistry">
            <attribute name="port">${NamingPort + PortOffset}</attribute>
            <attribute name="host">${ServerHostname}</attribute>
        </gbean>
        <gbean name="NamingProperties">
            <attribute
name="namingProviderUrl">rmi://${ServerHostname}:${NamingPort +
PortOffset}</attribute>
        </gbean>
        <gbean name="DefaultThreadPool">
            <attribute name="keepAliveTime">30000</attribute>
            <attribute name="minPoolSize">${MinThreadPoolSize}</attribute>
            <attribute name="maxPoolSize">${MaxThreadPoolSize}</attribute>
        </gbean>
    </module>
    <module
name="org.apache.geronimo.plugins.classloaders/geronimo-javaee-deployment_1.1MR3_spec/2.2-SNAPSHOT/car"/>
    <module name="org.apache.geronimo.framework/plugin/2.2-SNAPSHOT/car">
        <gbean name="DownloadedPluginRepos">
            <attribute
name="repositoryList">http://geronimo.apache.org/plugins/plugin-repository-list-2.2.txt</attribute>
        </gbean>
    </module>
    <module
name="org.apache.geronimo.framework/geronimo-gbean-deployer/2.2-SNAPSHOT/car">
        <gbean name="Deployer">
            <attribute
name="remoteDeployAddress">http://${RemoteDeployHostname}:${HTTPPort +
PortOffset}</attribute>
        </gbean>
    </module>
    <module
name="org.apache.geronimo.configs/j2ee-server/2.2-SNAPSHOT/car"/>
    <module
name="org.apache.geronimo.framework/j2ee-security/2.2-SNAPSHOT/car">
        <gbean name="JMXService">
            <attribute name="protocol">rmi</attribute>
            <attribute name="host">${ServerHostname}</attribute>
            <attribute name="port">${JMXPort + PortOffset}</attribute>
            <attribute
name="urlPath">/jndi/rmi://${ServerHostname}:${NamingPort +
PortOffset}/JMXConnector</attribute>
        </gbean>
    </module>
    <module
name="org.apache.geronimo.framework/server-security-config/2.2-SNAPSHOT/car"/>
    <module
name="org.apache.geronimo.plugins.classloaders/geronimo-schema-jee_5/2.2-SNAPSHOT/car"/>
    <module
name="org.apache.geronimo.configs/j2ee-deployer/2.2-SNAPSHOT/car">
        <gbean name="WebBuilder">
            <attribute
name="defaultNamespace">http://geronimo.apache.org/xml/ns/j2ee/web/jetty-2.0</attribute>
        </gbean>
        <gbean name="EnvironmentEntryBuilder">
            <attribute
name="eeNamespaces">http://java.sun.com/xml/ns/j2ee,http://java.sun.com/xml/ns/javaee</attribute>
        </gbean>
    </module>
    <module
name="org.apache.geronimo.configs/client-transaction/2.2-SNAPSHOT/car"
load="false"/>
    <module
name="org.apache.geronimo.configs/client-deployer/2.2-SNAPSHOT/car"/>
    <module name="org.apache.geronimo.configs/farming/2.2-SNAPSHOT/car"
load="false">
        <gbean name="NodeInfo">
            <attribute name="name">${ClusterNodeName}</attribute>
        </gbean>
        <gbean name="ClusterInfo">
            <attribute name="name">${FarmName}</attribute>
        </gbean>
    </module>
    <module name="org.apache.geronimo.configs/aspectj/2.2-SNAPSHOT/car"/>
    <module name="org.apache.geronimo.configs/clustering/2.2-SNAPSHOT/car">
        <gbean name="Node">
            <attribute name="nodeName">${ClusterNodeName}</attribute>
        </gbean>
    </module>
    <module
name="org.apache.geronimo.configs/wadi-clustering/2.2-SNAPSHOT/car"
load="false">
        <gbean name="DefaultBackingStrategyFactory">
            <attribute name="nbReplica">${ReplicaCount}</attribute>
        </gbean>
        <gbean name="DefaultDispatcherHolder">
            <attribute name="endPointURI">${EndPointURI}</attribute>
            <attribute name="clusterName">${WADIClusterName}</attribute>
        </gbean>
    </module>
    <module name="org.apache.geronimo.configs/transaction/2.2-SNAPSHOT/car">
        <gbean name="XidFactory">
            <attribute name="tmId">${TmId}</attribute>
        </gbean>
        <gbean name="ResourceBindings">
            <attribute name="format">${ResourceBindingsFormat}</attribute>
            <attribute
name="nameInNamespace">${ResourceBindingsNameInNamespace}</attribute>
            <attribute
name="namePattern">${ResourceBindingsNamePattern}</attribute>
            <attribute
name="abstractNameQuery">${ResourceBindingsQuery}</attribute>
        </gbean>
    </module>
    <module
name="org.apache.geronimo.configs/connector-deployer/2.2-SNAPSHOT/car">
        <gbean name="ResourceRefBuilder">
            <attribute
name="eeNamespaces">http://java.sun.com/xml/ns/j2ee,http://java.sun.com/xml/ns/javaee</attribute>
            <attribute
propertyEditor="org.apache.geronimo.deployment.service.EnvironmentBuilder"
name="corbaEnvironment">
                <environment:environment
xmlns:ns2="http://geronimo.apache.org/xml/ns/attributes-1.2"
xmlns="http://geronimo.apache.org/xml/ns/deployment-1.2"
xmlns:environment="http://geronimo.apache.org/xml/ns/deployment-1.2">
                    <dependencies>
                        <dependency>
                            <groupId>org.apache.geronimo.configs</groupId>
                            <artifactId>j2ee-corba-yoko</artifactId>
                            <type>car</type>
            </dependency>
          </dependencies>
        </environment:environment>
            </attribute>
        </gbean>
        <gbean name="AdminObjectRefBuilder">
            <attribute
name="eeNamespaces">http://java.sun.com/xml/ns/j2ee,http://java.sun.com/xml/ns/javaee</attribute>
        </gbean>
        <gbean name="ClientResourceRefBuilder">
            <attribute
name="eeNamespaces">http://java.sun.com/xml/ns/j2ee,http://java.sun.com/xml/ns/javaee</attribute>
            <attribute
propertyEditor="org.apache.geronimo.deployment.service.EnvironmentBuilder"
name="corbaEnvironment">
                <environment:environment
xmlns:ns2="http://geronimo.apache.org/xml/ns/attributes-1.2"
xmlns="http://geronimo.apache.org/xml/ns/deployment-1.2"
xmlns:environment="http://geronimo.apache.org/xml/ns/deployment-1.2">
                    <dependencies>
                        <dependency>
                            <groupId>org.apache.geronimo.configs</groupId>
                            <artifactId>client-corba-yoko</artifactId>
                            <type>car</type>
            </dependency>
          </dependencies>
        </environment:environment>
            </attribute>
        </gbean>
    </module>
    <module name="org.apache.geronimo.configs/derby/2.2-SNAPSHOT/car"/>
    <module
name="org.apache.geronimo.configs/system-database/2.2-SNAPSHOT/car">
        <gbean name="DerbyNetwork">
            <attribute name="host">${ServerHostname}</attribute>
            <attribute name="port">${DerbyPort + PortOffset}</attribute>
        </gbean>
    </module>
    <module name="org.apache.geronimo.configs/openjpa/2.2-SNAPSHOT/car"/>
    <module
name="org.apache.geronimo.configs/webservices-common/2.2-SNAPSHOT/car"/>
    <module name="org.apache.geronimo.configs/openejb/2.2-SNAPSHOT/car">
        <gbean name="EJBNetworkService">
            <attribute name="port">${OpenEJBPort + PortOffset}</attribute>
            <attribute name="host">${ServerHostname}</attribute>
            <attribute
name="multicastHost">${MulticastDiscoveryAddress}</attribute>
            <attribute
name="multicastPort">${MulticastDiscoveryPort}</attribute>
            <attribute name="clusterName">${ClusterName}</attribute>
        </gbean>
        <gbean name="DefaultStatefulContainer">
            <attribute name="timeout">${StatefulTimeout}</attribute>
            <attribute name="capacity">${Capacity}</attribute>
            <attribute name="bulkPassivate">${BulkPassivate}</attribute>
        </gbean>
        <gbean name="DefaultSingletonContainer">
            <attribute name="accessTimeout">${AccessTimeout}</attribute>
        </gbean>
        <gbean name="DefaultBMPContainer">
            <attribute name="poolSize">${BMPPoolSize}</attribute>
        </gbean>
        <gbean name="DefaultStatelessContainer">
            <attribute name="timeout">${StatelessTimeout}</attribute>
            <attribute name="poolSize">${StatelessPoolSize}</attribute>
            <attribute name="strictPooling">${StrictPooling}</attribute>
        </gbean>
    </module>
    <module
name="org.apache.geronimo.configs/openejb-deployer/2.2-SNAPSHOT/car">
        <gbean name="EjbRefBuilder">
            <attribute
name="eeNamespaces">http://java.sun.com/xml/ns/j2ee,http://java.sun.com/xml/ns/javaee</attribute>
        </gbean>
        <gbean name="ClientEjbRefBuilder">
            <attribute
name="eeNamespaces">http://java.sun.com/xml/ns/j2ee,http://java.sun.com/xml/ns/javaee</attribute>
            <attribute name="host">${ServerHostname}</attribute>
            <attribute name="port">${OpenEJBPort + PortOffset}</attribute>
        </gbean>
    </module>
    <module
name="org.apache.geronimo.configs/openejb-clustering-wadi/2.2-SNAPSHOT/car"
load="false"/>
    <module
name="org.apache.geronimo.configs/openejb-clustering-builder-wadi/2.2-SNAPSHOT/car"/>
    <module name="org.apache.geronimo.configs/jasper/2.2-SNAPSHOT/car"/>
    <module name="org.apache.geronimo.configs/tomcat6/2.2-SNAPSHOT/car"/>
    <module
name="org.apache.geronimo.configs/tomcat6-deployer/2.2-SNAPSHOT/car"/>
    <module
name="org.apache.geronimo.configs/tomcat6-no-ha/2.2-SNAPSHOT/car"/>
    <module
name="org.apache.geronimo.configs/tomcat6-clustering-wadi/2.2-SNAPSHOT/car"
load="false"/>
    <module
name="org.apache.geronimo.configs/tomcat6-clustering-builder-wadi/2.2-SNAPSHOT/car">
        <gbean name="TomcatClusteringBuilder">
            <attribute
name="defaultSweepInterval">${DefaultWadiSweepInterval}</attribute>
            <attribute
name="defaultNumPartitions">${DefaultWadiNumPartitions}</attribute>
        </gbean>
    </module>
    <module
name="org.apache.geronimo.configs/openejb-corba-deployer/2.2-SNAPSHOT/car"/>
    <module
name="org.apache.geronimo.configs/j2ee-corba-yoko/2.2-SNAPSHOT/car">
        <gbean name="NameServer">
            <attribute name="port">${COSNamingPort + PortOffset}</attribute>
            <attribute name="host">${ServerHostname}</attribute>
        </gbean>
        <gbean name="Server">
            <attribute name="port">${ORBSSLPort + PortOffset}</attribute>
            <attribute name="host">${ServerHostname}</attribute>
        </gbean>
        <gbean name="UnprotectedServer">
            <attribute name="port">${ORBPort + PortOffset}</attribute>
            <attribute name="host">${ServerHostname}</attribute>
        </gbean>
    </module>
    <module name="org.apache.geronimo.configs/mejb/2.2-SNAPSHOT/car"/>
    <module
name="org.apache.geronimo.framework/online-deployer/2.2-SNAPSHOT/car"
load="false"/>
    <module name="org.apache.geronimo.framework/shutdown/2.2-SNAPSHOT/car"
load="false"/>
    <module
name="org.apache.geronimo.framework/transformer-agent/2.2-SNAPSHOT/car"/>
    <module
name="org.apache.geronimo.framework/gshell-framework/2.2-SNAPSHOT/car"/>
    <module
name="org.apache.geronimo.framework/gshell-geronimo/2.2-SNAPSHOT/car"/>
    <module
name="org.apache.geronimo.framework/gshell-remote/2.2-SNAPSHOT/car"/>
    <module
name="org.apache.geronimo.configs/persistence-jpa10-deployer/2.2-SNAPSHOT/car">
        <gbean name="PersistenceUnitBuilder">
            <attribute
name="defaultPersistenceProviderClassName">org.apache.openjpa.persistence.PersistenceProviderImpl</attribute>
            <attribute
name="defaultPersistenceUnitProperties">openjpa.Log=commons
                                       
openjpa.jdbc.SynchronizeMappings=buildSchema(ForeignKeys=true)
                                       
openjpa.jdbc.UpdateManager=operation-order
                                       
openjpa.Sequence=table(Table=OPENJPASEQ, Increment=100)</attribute>
            <attribute
propertyEditor="org.apache.geronimo.deployment.service.EnvironmentBuilder"
name="defaultEnvironment">
                <environment:environment
xmlns:ns2="http://geronimo.apache.org/xml/ns/attributes-1.2"
xmlns="http://geronimo.apache.org/xml/ns/deployment-1.2"
xmlns:environment="http://geronimo.apache.org/xml/ns/deployment-1.2">
                    <dependencies>
                        <dependency>
                            <groupId>org.apache.geronimo.configs</groupId>
                            <artifactId>openjpa</artifactId>
                            <type>car</type>
            </dependency>
          </dependencies>
        </environment:environment>
            </attribute>
        </gbean>
    </module>
    <module
name="org.apache.geronimo.framework/upgrade-cli/2.2-SNAPSHOT/car"
load="false"/>
    <module
name="org.apache.geronimo.framework/offline-deployer/2.2-SNAPSHOT/car"
load="false"/>
    <module
name="org.apache.geronimo.configs/hot-deployer/2.2-SNAPSHOT/car">
        <gbean name="HotDeployer">
            <attribute name="path">deploy/</attribute>
            <attribute name="pollIntervalMillis">2000</attribute>
        </gbean>
    </module>
    <module
name="org.apache.geronimo.configs/remote-deploy-tomcat/2.2-SNAPSHOT/car"/>
    <module
name="org.apache.geronimo.configs/jasper-deployer/2.2-SNAPSHOT/car"/>
    <module name="org.apache.geronimo.configs/sharedlib/2.2-SNAPSHOT/car"/>
    <module name="org.apache.geronimo.configs/axis/2.2-SNAPSHOT/car"/>
    <module
name="org.apache.geronimo.configs/axis-deployer/2.2-SNAPSHOT/car">
        <gbean name="AxisModuleBuilderExtension">
            <attribute name="listener">?name=${webcontainer}</attribute>
            <attribute
propertyEditor="org.apache.geronimo.deployment.service.EnvironmentBuilder"
name="defaultEnvironment">
                <environment:environment
xmlns:ns2="http://geronimo.apache.org/xml/ns/attributes-1.2"
xmlns="http://geronimo.apache.org/xml/ns/deployment-1.2"
xmlns:environment="http://geronimo.apache.org/xml/ns/deployment-1.2">
                    <dependencies>
                        <dependency>
                            <groupId>org.apache.geronimo.configs</groupId>
                            <artifactId>${webcontainerName}</artifactId>
                            <type>car</type>
            </dependency>
          </dependencies>
        </environment:environment>
            </attribute>
        </gbean>
    </module>
    <module
name="org.apache.geronimo.configs/jaxws-deployer/2.2-SNAPSHOT/car"/>
    <module name="org.apache.geronimo.configs/axis2/2.2-SNAPSHOT/car"/>
    <module
name="org.apache.geronimo.configs/axis2-deployer/2.2-SNAPSHOT/car"
condition="props['org.apache.geronimo.jaxws.provider'] == 'axis2' or
(props['org.apache.geronimo.jaxws.provider'] == null and webcontainerName ==
'tomcat6')"/>
    <module
name="org.apache.geronimo.configs/jaxws-ejb-deployer/2.2-SNAPSHOT/car"/>
    <module name="org.apache.geronimo.configs/axis2-ejb/2.2-SNAPSHOT/car"
load="false"/>
    <module
name="org.apache.geronimo.configs/axis2-ejb-deployer/2.2-SNAPSHOT/car"
condition="props['org.apache.geronimo.jaxws.provider'] == 'axis2' or
(props['org.apache.geronimo.jaxws.provider'] == null and webcontainerName ==
'tomcat6')"/>
    <module
name="org.apache.geronimo.configs/jaxws-sun-tools/2.2-SNAPSHOT/car"/>
    <module
name="org.apache.geronimo.configs/jaxws-tools/2.2-SNAPSHOT/car"/>
    <module name="org.apache.geronimo.configs/spring/2.2-SNAPSHOT/car"/>
    <module
name="org.apache.geronimo.configs/cxf-jaxws-tools/2.2-SNAPSHOT/car"
load="false"/>
    <module name="org.apache.geronimo.configs/cxf-tools/2.2-SNAPSHOT/car"
load="false"/>
    <module name="org.apache.geronimo.configs/cxf/2.2-SNAPSHOT/car"
load="false"/>
    <module name="org.apache.geronimo.configs/cxf-deployer/2.2-SNAPSHOT/car"
condition="props['org.apache.geronimo.jaxws.provider'] == 'cxf' or
(props['org.apache.geronimo.jaxws.provider'] == null and webcontainerName ==
'jetty7')"/>
    <module name="org.apache.geronimo.configs/cxf-ejb/2.2-SNAPSHOT/car"
load="false"/>
    <module
name="org.apache.geronimo.configs/cxf-ejb-deployer/2.2-SNAPSHOT/car"
condition="props['org.apache.geronimo.jaxws.provider'] == 'cxf' or
(props['org.apache.geronimo.jaxws.provider'] == null and webcontainerName ==
'jetty7')"/>
    <module name="org.apache.geronimo.configs/concurrent/2.2-SNAPSHOT/car"/>
    <module
name="org.apache.geronimo.configs/concurrent-deployer/2.2-SNAPSHOT/car"/>
    <module name="org.apache.geronimo.configs/javamail/2.2-SNAPSHOT/car">
        <gbean name="SMTPTransport">
            <attribute name="host">${SMTPHost}</attribute>
            <attribute name="port">${SMTPPort}</attribute>
        </gbean>
    </module>
    <module name="org.apache.geronimo.plugins/uddi-db/2.2-SNAPSHOT/car"/>
    <module
name="org.apache.geronimo.configs/uddi-tomcat/2.2-SNAPSHOT/car"/>
    <module
name="org.apache.geronimo.configs/welcome-tomcat/2.2-SNAPSHOT/car"/>
    <module
name="org.apache.geronimo.framework/jmx-security/2.2-SNAPSHOT/car"
load="false">
        <gbean name="JMXSecureConnector">
            <attribute name="protocol">rmi</attribute>
            <attribute name="host">${ServerHostname}</attribute>
            <attribute name="port">${JMXSecurePort + PortOffset}</attribute>
            <attribute
name="urlPath">/jndi/rmi://${ServerHostname}:${NamingPort +
PortOffset}/JMXSecureConnector</attribute>
        </gbean>
    </module>
    <module
name="org.apache.geronimo.configs/activemq-broker/2.2-SNAPSHOT/car"/>
    <module name="org.apache.geronimo.configs/activemq-ra/2.2-SNAPSHOT/car">
        <gbean name="ActiveMQ RA">
            <attribute
name="ServerUrl">tcp://${ServerHostname}:${ActiveMQPort +
PortOffset}</attribute>
        </gbean>
    </module>
    <module name="org.apache.geronimo.configs/myfaces/2.2-SNAPSHOT/car"/>
    <module
name="org.apache.geronimo.configs/myfaces-deployer/2.2-SNAPSHOT/car"/>
    <module
name="org.apache.geronimo.configs/ca-helper-tomcat/2.2-SNAPSHOT/car"/>
    <module
name="org.apache.geronimo.plugins.monitoring/agent-ds/2.2-SNAPSHOT/car"/>
    <module
name="org.apache.geronimo.plugins.monitoring/agent-car-ejb/2.2-SNAPSHOT/car"
load="false"/>
    <module
name="org.apache.geronimo.plugins.monitoring/agent-car-jmx/2.2-SNAPSHOT/car"/>
    <module
name="org.apache.geronimo.plugins.monitoring/mconsole-ds/2.2-SNAPSHOT/car"/>
    <module
name="org.apache.geronimo.plugins/pluto-support/2.2-SNAPSHOT/car"/>
    <module
name="org.apache.geronimo.plugins/console-tomcat/2.2-SNAPSHOT/car"/>
    <module
name="org.apache.geronimo.configs/dojo-tomcat/2.2-SNAPSHOT/car"/>
    <module
name="org.apache.geronimo.plugins.monitoring/mconsole-tomcat/2.2-SNAPSHOT/car"/>
    <module
name="org.apache.geronimo.plugins/activemq-console-tomcat/2.2-SNAPSHOT/car"/>
    <module
name="org.apache.geronimo.plugins/debugviews-console-tomcat/2.2-SNAPSHOT/car"/>
    <module
name="org.apache.geronimo.plugins/plancreator-console-tomcat/2.2-SNAPSHOT/car"/>
    <module
name="org.apache.geronimo.plugins/plugin-console-tomcat/2.2-SNAPSHOT/car"/>
    <module
name="org.apache.geronimo.plugins/sysdb-console-tomcat/2.2-SNAPSHOT/car"/>
    <module
name="org.apache.geronimo.plugins/openejb-console-tomcat/2.2-SNAPSHOT/car"/>
    <module name="test/MyServer/1.0/car"/>
</attributes>



Geronimo config-substitutions.properties:

# Put variables and their substitution values in this file. 
# They will be used when processing the corresponding config.xml. 
# Values in this file can be overridden by environment variables and system
properties 
# by prefixing the property name with
'org.apache.geronimo.config.substitution.' 
# For example, an entry such as hostName=localhost 
# can be overridden by an environment variable or system property
org.apache.geronimo.config.substitution.hostName=foo 
# When running multiple instances of Geronimo choose a PortOffset value such
that none of the ports conflict. 
# For example, try PortOffset=10 
#Wed Oct 28 14:44:34 EDT 2009
ORBPort=6882
AJPPort=8009
MaxThreadPoolSize=500
ResourceBindingsNamePattern=
Capacity=1000
SMTPHost=localhost
StatelessPoolSize=10
StatelessTimeout=0
ResourceBindingsQuery=?\#org.apache.geronimo.naming.ResourceSource
DerbyPort=1527
BMPPoolSize=10
COSNamingPort=1050
StatefulTimeout=20
webcontainer=TomcatWebContainer
OpenEJBPort=4201
ORBSSLPort=2001
PortOffset=0
JMXPort=9999
ClusterNodeName=NODE
EndPointURI=http\://localhost\:8080
NamingPort=1099
DefaultWadiSweepInterval=36000
WebConnectorConTimeout=20000
WADIClusterName=DEFAULT_WADI_CLUSTER
BulkPassivate=100
MulticastDiscoveryPort=6142
HTTPSPort=8443
MinThreadPoolSize=200
MulticastDiscoveryAddress=239.255.3.2
ReplicaCount=2
ServerHostname=0.0.0.0
ActiveMQPort=61616
SMTPPort=25
webcontainerName=tomcat6
ResourceBindingsNameInNamespace=jca\:
StrictPooling=true
JMXSecurePort=9998
DefaultWadiNumPartitions=24
AccessTimeout=30
HTTPPort=8080
FarmName=DEFAULT_FARM
ClusterName=cluster1
ResourceBindingsFormat={groupId}/{artifactId}/{j2eeType}/{name}
RemoteDeployHostname=localhost
TmId=71,84,77,73,68




David Blevins wrote:
> 
> 
> On Oct 29, 2009, at 10:19 AM, bitz wrote:
> 
>>
>> Good question.  I haven't configured a cluster.  I have one instance  
>> of
>> Geronimo 2.2 running, and didn't make any changes to the default  
>> config.
>> The client side code is a very simple test app.  At this point, I'm  
>> only
>> doing some research and testing, nothing fancy.  Is clustering somehow
>> enabled by default?
> 
> It is enabled by default, though it is designed so that it (should)  
> have no effect unless there actually *is* a cluster.  Clearly  
> something i s not lined up correctly.  I'll have a look in the code.
> 
> Can you post your related server side config?
> 
> 
> -David
> 
>> Quintin Beukes-2 wrote:
>>>
>>> Are you using clustering?
>>>
>>> Quintin Beukes
>>>
>>>
>>>
>>> On Thu, Oct 29, 2009 at 1:05 AM, bitz <th...@canada.com>  
>>> wrote:
>>>>
>>>> I'm using Geronimo 2.2 which uses OpenEJB 3.1.2.  I have a client
>>>> application
>>>> which retrieves a remote EJB reference and makes a remote EJB method
>>>> call.
>>>> I'm seeing the following message being logged by the OpenEJB  
>>>> client on
>>>> the
>>>> client side...
>>>>
>>>> Oct 28, 2009 3:36:03 PM
>>>> org.apache.openejb.client.StickyConnectionStrategy
>>>> connect
>>>> WARNING: Failover: Cannot connect to server(s): ejbd://0.0.0.0:4201
>>>> Exception: Cannot connect to server 'ejbd://0.0.0.0:4201'.  Check  
>>>> that
>>>> the
>>>> server is started and that the specified serverURL is correct..   
>>>> Trying
>>>> next.
>>>>
>>>> Well, the serverURL is not correct, and it's also not the one I  
>>>> provided.
>>>> Here's a snippet of the client code...
>>>>
>>>> final URI serverURI = new URI( "ejbd", null, "192.168.0.1", 4201,  
>>>> null,
>>>> null, null );
>>>> final Properties contextProperties = new Properties( );
>>>> contextProperties.put( Context.INITIAL_CONTEXT_FACTORY,
>>>> "org.apache.openejb.client.RemoteInitialContextFactory" );
>>>> contextProperties.put( Context.PROVIDER_URL,  
>>>> serverURI.toString( ) );
>>>>
>>>> final InitialContext ctx = new InitialContext( contextProperties );
>>>> final MyEjbService remote = (MyEjbService)ctx.lookup("MyEjbRemote");
>>>> final String serverTime = remote.getServerTime();
>>>>
>>>> In
>>>> org 
>>>> .apache 
>>>> .openejb.client.StickyConnectionStrategy.connect(ClusterMetaData
>>>> cluster, ServerMetaData server), the ctx.lookup("MyEjbRemote")  
>>>> call is
>>>> successful, but the next call to remote.getServerTime() produces the
>>>> error
>>>> message indicated above, yet still succeeds.  Further calls to
>>>> remote.getServerTime() work fine and do not produce any error  
>>>> messages.
>>>>
>>>> I debugged enough to find the cause.  I'll try to explain... The  
>>>> first
>>>> client-server communication involves a handshake where  
>>>> ClusterRequest and
>>>> ClusterResponse objects are exchanged.  During this handshake the  
>>>> server
>>>> returns a URI of "ejbd://0.0.0.0:4201".  On the next communication  
>>>> to the
>>>> server, for the remote.getServerTime() method call, the
>>>> org 
>>>> .apache 
>>>> .openejb.client.StickyConnectionStrategy.connect(ClusterMetaData
>>>> cluster, ServerMetaData server) code attempts to use the URI  
>>>> returned by
>>>> the
>>>> server, which obviously fails, resulting in the message, then it  
>>>> falls
>>>> back
>>>> to the original, correct URI, which is successful.
>>>>
>>>> My question:  What is the reason for the ClusterRequest/ 
>>>> ClusterResponse
>>>> handshake, and why does the OpenEJB client try to connect using an
>>>> invalid
>>>> URI provided by server?
>>>>
>>>>
>>>> --
>>>> View this message in context:
>>>> http://www.nabble.com/OpenEJB-3.1.2---%22Cannot-connect-to-server%22-WARNING-message-tp26103713p26103713.html
>>>> Sent from the OpenEJB User mailing list archive at Nabble.com.
>>>>
>>>>
>>>
>>>
>>
>> -- 
>> View this message in context:
>> http://www.nabble.com/OpenEJB-3.1.2---%22Cannot-connect-to-server%22-WARNING-message-tp26103713p26117261.html
>> Sent from the OpenEJB User mailing list archive at Nabble.com.
>>
>>
> 
> 
> 

-- 
View this message in context: http://old.nabble.com/OpenEJB-3.1.2---%22Cannot-connect-to-server%22-WARNING-message-tp26103713p26158850.html
Sent from the OpenEJB User mailing list archive at Nabble.com.


Re: OpenEJB 3.1.2 - "Cannot connect to server" WARNING message

Posted by bitz <th...@canada.com>.
I'm using a snapshot of Geronimo 2.2, revision 830701, downloaded on Oct 28,
2009.  As I said, I did not alter the Geronimo config at all, but I've
pasted it for you below.  On the server side, there's a single stateless
session bean, with a single remote method.  Very simple.  Thanks for your
help.


Geronimo config.xml:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<attributes xmlns:ns2="http://geronimo.apache.org/xml/ns/plugins-1.3"
xmlns="http://geronimo.apache.org/xml/ns/attributes-1.2">
    <comment>
==================================================================
Warning - This XML file is regenerated by Geronimo whenever
changes are made to Geronimo's configuration.

If you want to include comments, create a single comment element
element.  They are allowable at any level of the configuration.

!!!! Do not edit this file while Geronimo is running !!!!
==================================================================</comment>
    <module
name="org.apache.geronimo.framework/client-system/2.2-SNAPSHOT/car"
load="false"/>
    <module
name="org.apache.geronimo.framework/j2ee-system/2.2-SNAPSHOT/car"/>
    <module
name="org.apache.geronimo.framework/jee-specs/2.2-SNAPSHOT/car"/>
    <module
name="org.apache.geronimo.plugins.classloaders/xbean-finder/2.2-SNAPSHOT/car"/>
    <module name="org.apache.geronimo.configs/client/2.2-SNAPSHOT/car"
load="false"/>
    <module
name="org.apache.geronimo.configs/client-security/2.2-SNAPSHOT/car"
load="false"/>
    <module
name="org.apache.geronimo.configs/client-corba-yoko/2.2-SNAPSHOT/car"
load="false"/>
    <module name="org.apache.geronimo.framework/xmlbeans/2.2-SNAPSHOT/car"/>
    <module
name="org.apache.geronimo.framework/rmi-naming/2.2-SNAPSHOT/car">
        <gbean name="RMIRegistry">
            <attribute name="port">${NamingPort + PortOffset}</attribute>
            <attribute name="host">${ServerHostname}</attribute>
        </gbean>
        <gbean name="NamingProperties">
            <attribute
name="namingProviderUrl">rmi://${ServerHostname}:${NamingPort +
PortOffset}</attribute>
        </gbean>
        <gbean name="DefaultThreadPool">
            <attribute name="keepAliveTime">30000</attribute>
            <attribute name="minPoolSize">${MinThreadPoolSize}</attribute>
            <attribute name="maxPoolSize">${MaxThreadPoolSize}</attribute>
        </gbean>
    </module>
    <module
name="org.apache.geronimo.plugins.classloaders/geronimo-javaee-deployment_1.1MR3_spec/2.2-SNAPSHOT/car"/>
    <module name="org.apache.geronimo.framework/plugin/2.2-SNAPSHOT/car">
        <gbean name="DownloadedPluginRepos">
            <attribute
name="repositoryList">http://geronimo.apache.org/plugins/plugin-repository-list-2.2.txt</attribute>
        </gbean>
    </module>
    <module
name="org.apache.geronimo.framework/geronimo-gbean-deployer/2.2-SNAPSHOT/car">
        <gbean name="Deployer">
            <attribute
name="remoteDeployAddress">http://${RemoteDeployHostname}:${HTTPPort +
PortOffset}</attribute>
        </gbean>
    </module>
    <module
name="org.apache.geronimo.configs/j2ee-server/2.2-SNAPSHOT/car"/>
    <module
name="org.apache.geronimo.framework/j2ee-security/2.2-SNAPSHOT/car">
        <gbean name="JMXService">
            <attribute name="protocol">rmi</attribute>
            <attribute name="host">${ServerHostname}</attribute>
            <attribute name="port">${JMXPort + PortOffset}</attribute>
            <attribute
name="urlPath">/jndi/rmi://${ServerHostname}:${NamingPort +
PortOffset}/JMXConnector</attribute>
        </gbean>
    </module>
    <module
name="org.apache.geronimo.framework/server-security-config/2.2-SNAPSHOT/car"/>
    <module
name="org.apache.geronimo.plugins.classloaders/geronimo-schema-jee_5/2.2-SNAPSHOT/car"/>
    <module
name="org.apache.geronimo.configs/j2ee-deployer/2.2-SNAPSHOT/car">
        <gbean name="WebBuilder">
            <attribute
name="defaultNamespace">http://geronimo.apache.org/xml/ns/j2ee/web/jetty-2.0</attribute>
        </gbean>
        <gbean name="EnvironmentEntryBuilder">
            <attribute
name="eeNamespaces">http://java.sun.com/xml/ns/j2ee,http://java.sun.com/xml/ns/javaee</attribute>
        </gbean>
    </module>
    <module
name="org.apache.geronimo.configs/client-transaction/2.2-SNAPSHOT/car"
load="false"/>
    <module
name="org.apache.geronimo.configs/client-deployer/2.2-SNAPSHOT/car"/>
    <module name="org.apache.geronimo.configs/farming/2.2-SNAPSHOT/car"
load="false">
        <gbean name="NodeInfo">
            <attribute name="name">${ClusterNodeName}</attribute>
        </gbean>
        <gbean name="ClusterInfo">
            <attribute name="name">${FarmName}</attribute>
        </gbean>
    </module>
    <module name="org.apache.geronimo.configs/aspectj/2.2-SNAPSHOT/car"/>
    <module name="org.apache.geronimo.configs/clustering/2.2-SNAPSHOT/car">
        <gbean name="Node">
            <attribute name="nodeName">${ClusterNodeName}</attribute>
        </gbean>
    </module>
    <module
name="org.apache.geronimo.configs/wadi-clustering/2.2-SNAPSHOT/car"
load="false">
        <gbean name="DefaultBackingStrategyFactory">
            <attribute name="nbReplica">${ReplicaCount}</attribute>
        </gbean>
        <gbean name="DefaultDispatcherHolder">
            <attribute name="endPointURI">${EndPointURI}</attribute>
            <attribute name="clusterName">${WADIClusterName}</attribute>
        </gbean>
    </module>
    <module name="org.apache.geronimo.configs/transaction/2.2-SNAPSHOT/car">
        <gbean name="XidFactory">
            <attribute name="tmId">${TmId}</attribute>
        </gbean>
        <gbean name="ResourceBindings">
            <attribute name="format">${ResourceBindingsFormat}</attribute>
            <attribute
name="nameInNamespace">${ResourceBindingsNameInNamespace}</attribute>
            <attribute
name="namePattern">${ResourceBindingsNamePattern}</attribute>
            <attribute
name="abstractNameQuery">${ResourceBindingsQuery}</attribute>
        </gbean>
    </module>
    <module
name="org.apache.geronimo.configs/connector-deployer/2.2-SNAPSHOT/car">
        <gbean name="ResourceRefBuilder">
            <attribute
name="eeNamespaces">http://java.sun.com/xml/ns/j2ee,http://java.sun.com/xml/ns/javaee</attribute>
            <attribute
propertyEditor="org.apache.geronimo.deployment.service.EnvironmentBuilder"
name="corbaEnvironment">
                <environment:environment
xmlns:ns2="http://geronimo.apache.org/xml/ns/attributes-1.2"
xmlns="http://geronimo.apache.org/xml/ns/deployment-1.2"
xmlns:environment="http://geronimo.apache.org/xml/ns/deployment-1.2">
                    <dependencies>
                        <dependency>
                            <groupId>org.apache.geronimo.configs</groupId>
                            <artifactId>j2ee-corba-yoko</artifactId>
                            <type>car</type>
            </dependency>
          </dependencies>
        </environment:environment>
            </attribute>
        </gbean>
        <gbean name="AdminObjectRefBuilder">
            <attribute
name="eeNamespaces">http://java.sun.com/xml/ns/j2ee,http://java.sun.com/xml/ns/javaee</attribute>
        </gbean>
        <gbean name="ClientResourceRefBuilder">
            <attribute
name="eeNamespaces">http://java.sun.com/xml/ns/j2ee,http://java.sun.com/xml/ns/javaee</attribute>
            <attribute
propertyEditor="org.apache.geronimo.deployment.service.EnvironmentBuilder"
name="corbaEnvironment">
                <environment:environment
xmlns:ns2="http://geronimo.apache.org/xml/ns/attributes-1.2"
xmlns="http://geronimo.apache.org/xml/ns/deployment-1.2"
xmlns:environment="http://geronimo.apache.org/xml/ns/deployment-1.2">
                    <dependencies>
                        <dependency>
                            <groupId>org.apache.geronimo.configs</groupId>
                            <artifactId>client-corba-yoko</artifactId>
                            <type>car</type>
            </dependency>
          </dependencies>
        </environment:environment>
            </attribute>
        </gbean>
    </module>
    <module name="org.apache.geronimo.configs/derby/2.2-SNAPSHOT/car"/>
    <module
name="org.apache.geronimo.configs/system-database/2.2-SNAPSHOT/car">
        <gbean name="DerbyNetwork">
            <attribute name="host">${ServerHostname}</attribute>
            <attribute name="port">${DerbyPort + PortOffset}</attribute>
        </gbean>
    </module>
    <module name="org.apache.geronimo.configs/openjpa/2.2-SNAPSHOT/car"/>
    <module
name="org.apache.geronimo.configs/webservices-common/2.2-SNAPSHOT/car"/>
    <module name="org.apache.geronimo.configs/openejb/2.2-SNAPSHOT/car">
        <gbean name="EJBNetworkService">
            <attribute name="port">${OpenEJBPort + PortOffset}</attribute>
            <attribute name="host">${ServerHostname}</attribute>
            <attribute
name="multicastHost">${MulticastDiscoveryAddress}</attribute>
            <attribute
name="multicastPort">${MulticastDiscoveryPort}</attribute>
            <attribute name="clusterName">${ClusterName}</attribute>
        </gbean>
        <gbean name="DefaultStatefulContainer">
            <attribute name="timeout">${StatefulTimeout}</attribute>
            <attribute name="capacity">${Capacity}</attribute>
            <attribute name="bulkPassivate">${BulkPassivate}</attribute>
        </gbean>
        <gbean name="DefaultSingletonContainer">
            <attribute name="accessTimeout">${AccessTimeout}</attribute>
        </gbean>
        <gbean name="DefaultBMPContainer">
            <attribute name="poolSize">${BMPPoolSize}</attribute>
        </gbean>
        <gbean name="DefaultStatelessContainer">
            <attribute name="timeout">${StatelessTimeout}</attribute>
            <attribute name="poolSize">${StatelessPoolSize}</attribute>
            <attribute name="strictPooling">${StrictPooling}</attribute>
        </gbean>
    </module>
    <module
name="org.apache.geronimo.configs/openejb-deployer/2.2-SNAPSHOT/car">
        <gbean name="EjbRefBuilder">
            <attribute
name="eeNamespaces">http://java.sun.com/xml/ns/j2ee,http://java.sun.com/xml/ns/javaee</attribute>
        </gbean>
        <gbean name="ClientEjbRefBuilder">
            <attribute
name="eeNamespaces">http://java.sun.com/xml/ns/j2ee,http://java.sun.com/xml/ns/javaee</attribute>
            <attribute name="host">${ServerHostname}</attribute>
            <attribute name="port">${OpenEJBPort + PortOffset}</attribute>
        </gbean>
    </module>
    <module
name="org.apache.geronimo.configs/openejb-clustering-wadi/2.2-SNAPSHOT/car"
load="false"/>
    <module
name="org.apache.geronimo.configs/openejb-clustering-builder-wadi/2.2-SNAPSHOT/car"/>
    <module name="org.apache.geronimo.configs/jasper/2.2-SNAPSHOT/car"/>
    <module name="org.apache.geronimo.configs/tomcat6/2.2-SNAPSHOT/car"/>
    <module
name="org.apache.geronimo.configs/tomcat6-deployer/2.2-SNAPSHOT/car"/>
    <module
name="org.apache.geronimo.configs/tomcat6-no-ha/2.2-SNAPSHOT/car"/>
    <module
name="org.apache.geronimo.configs/tomcat6-clustering-wadi/2.2-SNAPSHOT/car"
load="false"/>
    <module
name="org.apache.geronimo.configs/tomcat6-clustering-builder-wadi/2.2-SNAPSHOT/car">
        <gbean name="TomcatClusteringBuilder">
            <attribute
name="defaultSweepInterval">${DefaultWadiSweepInterval}</attribute>
            <attribute
name="defaultNumPartitions">${DefaultWadiNumPartitions}</attribute>
        </gbean>
    </module>
    <module
name="org.apache.geronimo.configs/openejb-corba-deployer/2.2-SNAPSHOT/car"/>
    <module
name="org.apache.geronimo.configs/j2ee-corba-yoko/2.2-SNAPSHOT/car">
        <gbean name="NameServer">
            <attribute name="port">${COSNamingPort + PortOffset}</attribute>
            <attribute name="host">${ServerHostname}</attribute>
        </gbean>
        <gbean name="Server">
            <attribute name="port">${ORBSSLPort + PortOffset}</attribute>
            <attribute name="host">${ServerHostname}</attribute>
        </gbean>
        <gbean name="UnprotectedServer">
            <attribute name="port">${ORBPort + PortOffset}</attribute>
            <attribute name="host">${ServerHostname}</attribute>
        </gbean>
    </module>
    <module name="org.apache.geronimo.configs/mejb/2.2-SNAPSHOT/car"/>
    <module
name="org.apache.geronimo.framework/online-deployer/2.2-SNAPSHOT/car"
load="false"/>
    <module name="org.apache.geronimo.framework/shutdown/2.2-SNAPSHOT/car"
load="false"/>
    <module
name="org.apache.geronimo.framework/transformer-agent/2.2-SNAPSHOT/car"/>
    <module
name="org.apache.geronimo.framework/gshell-framework/2.2-SNAPSHOT/car"/>
    <module
name="org.apache.geronimo.framework/gshell-geronimo/2.2-SNAPSHOT/car"/>
    <module
name="org.apache.geronimo.framework/gshell-remote/2.2-SNAPSHOT/car"/>
    <module
name="org.apache.geronimo.configs/persistence-jpa10-deployer/2.2-SNAPSHOT/car">
        <gbean name="PersistenceUnitBuilder">
            <attribute
name="defaultPersistenceProviderClassName">org.apache.openjpa.persistence.PersistenceProviderImpl</attribute>
            <attribute
name="defaultPersistenceUnitProperties">openjpa.Log=commons
                                       
openjpa.jdbc.SynchronizeMappings=buildSchema(ForeignKeys=true)
                                       
openjpa.jdbc.UpdateManager=operation-order
                                       
openjpa.Sequence=table(Table=OPENJPASEQ, Increment=100)</attribute>
            <attribute
propertyEditor="org.apache.geronimo.deployment.service.EnvironmentBuilder"
name="defaultEnvironment">
                <environment:environment
xmlns:ns2="http://geronimo.apache.org/xml/ns/attributes-1.2"
xmlns="http://geronimo.apache.org/xml/ns/deployment-1.2"
xmlns:environment="http://geronimo.apache.org/xml/ns/deployment-1.2">
                    <dependencies>
                        <dependency>
                            <groupId>org.apache.geronimo.configs</groupId>
                            <artifactId>openjpa</artifactId>
                            <type>car</type>
            </dependency>
          </dependencies>
        </environment:environment>
            </attribute>
        </gbean>
    </module>
    <module
name="org.apache.geronimo.framework/upgrade-cli/2.2-SNAPSHOT/car"
load="false"/>
    <module
name="org.apache.geronimo.framework/offline-deployer/2.2-SNAPSHOT/car"
load="false"/>
    <module
name="org.apache.geronimo.configs/hot-deployer/2.2-SNAPSHOT/car">
        <gbean name="HotDeployer">
            <attribute name="path">deploy/</attribute>
            <attribute name="pollIntervalMillis">2000</attribute>
        </gbean>
    </module>
    <module
name="org.apache.geronimo.configs/remote-deploy-tomcat/2.2-SNAPSHOT/car"/>
    <module
name="org.apache.geronimo.configs/jasper-deployer/2.2-SNAPSHOT/car"/>
    <module name="org.apache.geronimo.configs/sharedlib/2.2-SNAPSHOT/car"/>
    <module name="org.apache.geronimo.configs/axis/2.2-SNAPSHOT/car"/>
    <module
name="org.apache.geronimo.configs/axis-deployer/2.2-SNAPSHOT/car">
        <gbean name="AxisModuleBuilderExtension">
            <attribute name="listener">?name=${webcontainer}</attribute>
            <attribute
propertyEditor="org.apache.geronimo.deployment.service.EnvironmentBuilder"
name="defaultEnvironment">
                <environment:environment
xmlns:ns2="http://geronimo.apache.org/xml/ns/attributes-1.2"
xmlns="http://geronimo.apache.org/xml/ns/deployment-1.2"
xmlns:environment="http://geronimo.apache.org/xml/ns/deployment-1.2">
                    <dependencies>
                        <dependency>
                            <groupId>org.apache.geronimo.configs</groupId>
                            <artifactId>${webcontainerName}</artifactId>
                            <type>car</type>
            </dependency>
          </dependencies>
        </environment:environment>
            </attribute>
        </gbean>
    </module>
    <module
name="org.apache.geronimo.configs/jaxws-deployer/2.2-SNAPSHOT/car"/>
    <module name="org.apache.geronimo.configs/axis2/2.2-SNAPSHOT/car"/>
    <module
name="org.apache.geronimo.configs/axis2-deployer/2.2-SNAPSHOT/car"
condition="props['org.apache.geronimo.jaxws.provider'] == 'axis2' or
(props['org.apache.geronimo.jaxws.provider'] == null and webcontainerName ==
'tomcat6')"/>
    <module
name="org.apache.geronimo.configs/jaxws-ejb-deployer/2.2-SNAPSHOT/car"/>
    <module name="org.apache.geronimo.configs/axis2-ejb/2.2-SNAPSHOT/car"
load="false"/>
    <module
name="org.apache.geronimo.configs/axis2-ejb-deployer/2.2-SNAPSHOT/car"
condition="props['org.apache.geronimo.jaxws.provider'] == 'axis2' or
(props['org.apache.geronimo.jaxws.provider'] == null and webcontainerName ==
'tomcat6')"/>
    <module
name="org.apache.geronimo.configs/jaxws-sun-tools/2.2-SNAPSHOT/car"/>
    <module
name="org.apache.geronimo.configs/jaxws-tools/2.2-SNAPSHOT/car"/>
    <module name="org.apache.geronimo.configs/spring/2.2-SNAPSHOT/car"/>
    <module
name="org.apache.geronimo.configs/cxf-jaxws-tools/2.2-SNAPSHOT/car"
load="false"/>
    <module name="org.apache.geronimo.configs/cxf-tools/2.2-SNAPSHOT/car"
load="false"/>
    <module name="org.apache.geronimo.configs/cxf/2.2-SNAPSHOT/car"
load="false"/>
    <module name="org.apache.geronimo.configs/cxf-deployer/2.2-SNAPSHOT/car"
condition="props['org.apache.geronimo.jaxws.provider'] == 'cxf' or
(props['org.apache.geronimo.jaxws.provider'] == null and webcontainerName ==
'jetty7')"/>
    <module name="org.apache.geronimo.configs/cxf-ejb/2.2-SNAPSHOT/car"
load="false"/>
    <module
name="org.apache.geronimo.configs/cxf-ejb-deployer/2.2-SNAPSHOT/car"
condition="props['org.apache.geronimo.jaxws.provider'] == 'cxf' or
(props['org.apache.geronimo.jaxws.provider'] == null and webcontainerName ==
'jetty7')"/>
    <module name="org.apache.geronimo.configs/concurrent/2.2-SNAPSHOT/car"/>
    <module
name="org.apache.geronimo.configs/concurrent-deployer/2.2-SNAPSHOT/car"/>
    <module name="org.apache.geronimo.configs/javamail/2.2-SNAPSHOT/car">
        <gbean name="SMTPTransport">
            <attribute name="host">${SMTPHost}</attribute>
            <attribute name="port">${SMTPPort}</attribute>
        </gbean>
    </module>
    <module name="org.apache.geronimo.plugins/uddi-db/2.2-SNAPSHOT/car"/>
    <module
name="org.apache.geronimo.configs/uddi-tomcat/2.2-SNAPSHOT/car"/>
    <module
name="org.apache.geronimo.configs/welcome-tomcat/2.2-SNAPSHOT/car"/>
    <module
name="org.apache.geronimo.framework/jmx-security/2.2-SNAPSHOT/car"
load="false">
        <gbean name="JMXSecureConnector">
            <attribute name="protocol">rmi</attribute>
            <attribute name="host">${ServerHostname}</attribute>
            <attribute name="port">${JMXSecurePort + PortOffset}</attribute>
            <attribute
name="urlPath">/jndi/rmi://${ServerHostname}:${NamingPort +
PortOffset}/JMXSecureConnector</attribute>
        </gbean>
    </module>
    <module
name="org.apache.geronimo.configs/activemq-broker/2.2-SNAPSHOT/car"/>
    <module name="org.apache.geronimo.configs/activemq-ra/2.2-SNAPSHOT/car">
        <gbean name="ActiveMQ RA">
            <attribute
name="ServerUrl">tcp://${ServerHostname}:${ActiveMQPort +
PortOffset}</attribute>
        </gbean>
    </module>
    <module name="org.apache.geronimo.configs/myfaces/2.2-SNAPSHOT/car"/>
    <module
name="org.apache.geronimo.configs/myfaces-deployer/2.2-SNAPSHOT/car"/>
    <module
name="org.apache.geronimo.configs/ca-helper-tomcat/2.2-SNAPSHOT/car"/>
    <module
name="org.apache.geronimo.plugins.monitoring/agent-ds/2.2-SNAPSHOT/car"/>
    <module
name="org.apache.geronimo.plugins.monitoring/agent-car-ejb/2.2-SNAPSHOT/car"
load="false"/>
    <module
name="org.apache.geronimo.plugins.monitoring/agent-car-jmx/2.2-SNAPSHOT/car"/>
    <module
name="org.apache.geronimo.plugins.monitoring/mconsole-ds/2.2-SNAPSHOT/car"/>
    <module
name="org.apache.geronimo.plugins/pluto-support/2.2-SNAPSHOT/car"/>
    <module
name="org.apache.geronimo.plugins/console-tomcat/2.2-SNAPSHOT/car"/>
    <module
name="org.apache.geronimo.configs/dojo-tomcat/2.2-SNAPSHOT/car"/>
    <module
name="org.apache.geronimo.plugins.monitoring/mconsole-tomcat/2.2-SNAPSHOT/car"/>
    <module
name="org.apache.geronimo.plugins/activemq-console-tomcat/2.2-SNAPSHOT/car"/>
    <module
name="org.apache.geronimo.plugins/debugviews-console-tomcat/2.2-SNAPSHOT/car"/>
    <module
name="org.apache.geronimo.plugins/plancreator-console-tomcat/2.2-SNAPSHOT/car"/>
    <module
name="org.apache.geronimo.plugins/plugin-console-tomcat/2.2-SNAPSHOT/car"/>
    <module
name="org.apache.geronimo.plugins/sysdb-console-tomcat/2.2-SNAPSHOT/car"/>
    <module
name="org.apache.geronimo.plugins/openejb-console-tomcat/2.2-SNAPSHOT/car"/>
    <module name="test/MyServer/1.0/car"/>
</attributes>



Geronimo config-substitutions.properties:

# Put variables and their substitution values in this file. 
# They will be used when processing the corresponding config.xml. 
# Values in this file can be overridden by environment variables and system
properties 
# by prefixing the property name with
'org.apache.geronimo.config.substitution.' 
# For example, an entry such as hostName=localhost 
# can be overridden by an environment variable or system property
org.apache.geronimo.config.substitution.hostName=foo 
# When running multiple instances of Geronimo choose a PortOffset value such
that none of the ports conflict. 
# For example, try PortOffset=10 
#Wed Oct 28 14:44:34 EDT 2009
ORBPort=6882
AJPPort=8009
MaxThreadPoolSize=500
ResourceBindingsNamePattern=
Capacity=1000
SMTPHost=localhost
StatelessPoolSize=10
StatelessTimeout=0
ResourceBindingsQuery=?\#org.apache.geronimo.naming.ResourceSource
DerbyPort=1527
BMPPoolSize=10
COSNamingPort=1050
StatefulTimeout=20
webcontainer=TomcatWebContainer
OpenEJBPort=4201
ORBSSLPort=2001
PortOffset=0
JMXPort=9999
ClusterNodeName=NODE
EndPointURI=http\://localhost\:8080
NamingPort=1099
DefaultWadiSweepInterval=36000
WebConnectorConTimeout=20000
WADIClusterName=DEFAULT_WADI_CLUSTER
BulkPassivate=100
MulticastDiscoveryPort=6142
HTTPSPort=8443
MinThreadPoolSize=200
MulticastDiscoveryAddress=239.255.3.2
ReplicaCount=2
ServerHostname=0.0.0.0
ActiveMQPort=61616
SMTPPort=25
webcontainerName=tomcat6
ResourceBindingsNameInNamespace=jca\:
StrictPooling=true
JMXSecurePort=9998
DefaultWadiNumPartitions=24
AccessTimeout=30
HTTPPort=8080
FarmName=DEFAULT_FARM
ClusterName=cluster1
ResourceBindingsFormat={groupId}/{artifactId}/{j2eeType}/{name}
RemoteDeployHostname=localhost
TmId=71,84,77,73,68




David Blevins wrote:
> 
> 
> On Oct 29, 2009, at 10:19 AM, bitz wrote:
> 
>>
>> Good question.  I haven't configured a cluster.  I have one instance  
>> of
>> Geronimo 2.2 running, and didn't make any changes to the default  
>> config.
>> The client side code is a very simple test app.  At this point, I'm  
>> only
>> doing some research and testing, nothing fancy.  Is clustering somehow
>> enabled by default?
> 
> It is enabled by default, though it is designed so that it (should)  
> have no effect unless there actually *is* a cluster.  Clearly  
> something i s not lined up correctly.  I'll have a look in the code.
> 
> Can you post your related server side config?
> 
> 
> -David
> 
>> Quintin Beukes-2 wrote:
>>>
>>> Are you using clustering?
>>>
>>> Quintin Beukes
>>>
>>>
>>>
>>> On Thu, Oct 29, 2009 at 1:05 AM, bitz <th...@canada.com>  
>>> wrote:
>>>>
>>>> I'm using Geronimo 2.2 which uses OpenEJB 3.1.2.  I have a client
>>>> application
>>>> which retrieves a remote EJB reference and makes a remote EJB method
>>>> call.
>>>> I'm seeing the following message being logged by the OpenEJB  
>>>> client on
>>>> the
>>>> client side...
>>>>
>>>> Oct 28, 2009 3:36:03 PM
>>>> org.apache.openejb.client.StickyConnectionStrategy
>>>> connect
>>>> WARNING: Failover: Cannot connect to server(s): ejbd://0.0.0.0:4201
>>>> Exception: Cannot connect to server 'ejbd://0.0.0.0:4201'.  Check  
>>>> that
>>>> the
>>>> server is started and that the specified serverURL is correct..   
>>>> Trying
>>>> next.
>>>>
>>>> Well, the serverURL is not correct, and it's also not the one I  
>>>> provided.
>>>> Here's a snippet of the client code...
>>>>
>>>> final URI serverURI = new URI( "ejbd", null, "192.168.0.1", 4201,  
>>>> null,
>>>> null, null );
>>>> final Properties contextProperties = new Properties( );
>>>> contextProperties.put( Context.INITIAL_CONTEXT_FACTORY,
>>>> "org.apache.openejb.client.RemoteInitialContextFactory" );
>>>> contextProperties.put( Context.PROVIDER_URL,  
>>>> serverURI.toString( ) );
>>>>
>>>> final InitialContext ctx = new InitialContext( contextProperties );
>>>> final MyEjbService remote = (MyEjbService)ctx.lookup("MyEjbRemote");
>>>> final String serverTime = remote.getServerTime();
>>>>
>>>> In
>>>> org 
>>>> .apache 
>>>> .openejb.client.StickyConnectionStrategy.connect(ClusterMetaData
>>>> cluster, ServerMetaData server), the ctx.lookup("MyEjbRemote")  
>>>> call is
>>>> successful, but the next call to remote.getServerTime() produces the
>>>> error
>>>> message indicated above, yet still succeeds.  Further calls to
>>>> remote.getServerTime() work fine and do not produce any error  
>>>> messages.
>>>>
>>>> I debugged enough to find the cause.  I'll try to explain... The  
>>>> first
>>>> client-server communication involves a handshake where  
>>>> ClusterRequest and
>>>> ClusterResponse objects are exchanged.  During this handshake the  
>>>> server
>>>> returns a URI of "ejbd://0.0.0.0:4201".  On the next communication  
>>>> to the
>>>> server, for the remote.getServerTime() method call, the
>>>> org 
>>>> .apache 
>>>> .openejb.client.StickyConnectionStrategy.connect(ClusterMetaData
>>>> cluster, ServerMetaData server) code attempts to use the URI  
>>>> returned by
>>>> the
>>>> server, which obviously fails, resulting in the message, then it  
>>>> falls
>>>> back
>>>> to the original, correct URI, which is successful.
>>>>
>>>> My question:  What is the reason for the ClusterRequest/ 
>>>> ClusterResponse
>>>> handshake, and why does the OpenEJB client try to connect using an
>>>> invalid
>>>> URI provided by server?
>>>>
>>>>
>>>> --
>>>> View this message in context:
>>>> http://www.nabble.com/OpenEJB-3.1.2---%22Cannot-connect-to-server%22-WARNING-message-tp26103713p26103713.html
>>>> Sent from the OpenEJB User mailing list archive at Nabble.com.
>>>>
>>>>
>>>
>>>
>>
>> -- 
>> View this message in context:
>> http://www.nabble.com/OpenEJB-3.1.2---%22Cannot-connect-to-server%22-WARNING-message-tp26103713p26117261.html
>> Sent from the OpenEJB User mailing list archive at Nabble.com.
>>
>>
> 
> 
> 

-- 
View this message in context: http://old.nabble.com/OpenEJB-3.1.2---%22Cannot-connect-to-server%22-WARNING-message-tp26103713p26158685.html
Sent from the OpenEJB User mailing list archive at Nabble.com.


Re: OpenEJB 3.1.2 - "Cannot connect to server" WARNING message

Posted by bitz <th...@canada.com>.
I'm using a snapshot of Geronimo 2.2, revision 830701, downloaded on Oct 28,
2009.  As I said, I did not alter the Geronimo config at all, but I've
pasted it for you below.  On the server side, there's a single stateless
session bean, with a single remote method.  Very simple.  Thanks for your
help.


Geronimo config.xml:

I'm unable to post this message with the entire config.xml file, so I've
stripped it down to what I think are the relevant bits.

    <module name="org.apache.geronimo.configs/openejb/2.2-SNAPSHOT/car">
        <gbean name="EJBNetworkService">
            <attribute name="port">${OpenEJBPort + PortOffset}</attribute>
            <attribute name="host">${ServerHostname}</attribute>
            <attribute
name="multicastHost">${MulticastDiscoveryAddress}</attribute>
            <attribute
name="multicastPort">${MulticastDiscoveryPort}</attribute>
            <attribute name="clusterName">${ClusterName}</attribute>
        </gbean>
        <gbean name="DefaultStatefulContainer">
            <attribute name="timeout">${StatefulTimeout}</attribute>
            <attribute name="capacity">${Capacity}</attribute>
            <attribute name="bulkPassivate">${BulkPassivate}</attribute>
        </gbean>
        <gbean name="DefaultSingletonContainer">
            <attribute name="accessTimeout">${AccessTimeout}</attribute>
        </gbean>
        <gbean name="DefaultBMPContainer">
            <attribute name="poolSize">${BMPPoolSize}</attribute>
        </gbean>
        <gbean name="DefaultStatelessContainer">
            <attribute name="timeout">${StatelessTimeout}</attribute>
            <attribute name="poolSize">${StatelessPoolSize}</attribute>
            <attribute name="strictPooling">${StrictPooling}</attribute>
        </gbean>
    </module>
    <module
name="org.apache.geronimo.configs/openejb-deployer/2.2-SNAPSHOT/car">
        <gbean name="EjbRefBuilder">
            <attribute
name="eeNamespaces">http://java.sun.com/xml/ns/j2ee,http://java.sun.com/xml/ns/javaee</attribute>
        </gbean>
        <gbean name="ClientEjbRefBuilder">
            <attribute
name="eeNamespaces">http://java.sun.com/xml/ns/j2ee,http://java.sun.com/xml/ns/javaee</attribute>
            <attribute name="host">${ServerHostname}</attribute>
            <attribute name="port">${OpenEJBPort + PortOffset}</attribute>
        </gbean>
    </module>
    <module
name="org.apache.geronimo.configs/openejb-clustering-wadi/2.2-SNAPSHOT/car"
load="false"/>

Geronimo config-substitutions.properties:

# Put variables and their substitution values in this file. 
# They will be used when processing the corresponding config.xml. 
# Values in this file can be overridden by environment variables and system
properties 
# by prefixing the property name with
'org.apache.geronimo.config.substitution.' 
# For example, an entry such as hostName=localhost 
# can be overridden by an environment variable or system property
org.apache.geronimo.config.substitution.hostName=foo 
# When running multiple instances of Geronimo choose a PortOffset value such
that none of the ports conflict. 
# For example, try PortOffset=10 
#Wed Oct 28 14:44:34 EDT 2009
ORBPort=6882
AJPPort=8009
MaxThreadPoolSize=500
ResourceBindingsNamePattern=
Capacity=1000
SMTPHost=localhost
StatelessPoolSize=10
StatelessTimeout=0
ResourceBindingsQuery=?\#org.apache.geronimo.naming.ResourceSource
DerbyPort=1527
BMPPoolSize=10
COSNamingPort=1050
StatefulTimeout=20
webcontainer=TomcatWebContainer
OpenEJBPort=4201
ORBSSLPort=2001
PortOffset=0
JMXPort=9999
ClusterNodeName=NODE
EndPointURI=http\://localhost\:8080
NamingPort=1099
DefaultWadiSweepInterval=36000
WebConnectorConTimeout=20000
WADIClusterName=DEFAULT_WADI_CLUSTER
BulkPassivate=100
MulticastDiscoveryPort=6142
HTTPSPort=8443
MinThreadPoolSize=200
MulticastDiscoveryAddress=239.255.3.2
ReplicaCount=2
ServerHostname=0.0.0.0
ActiveMQPort=61616
SMTPPort=25
webcontainerName=tomcat6
ResourceBindingsNameInNamespace=jca\:
StrictPooling=true
JMXSecurePort=9998
DefaultWadiNumPartitions=24
AccessTimeout=30
HTTPPort=8080
FarmName=DEFAULT_FARM
ClusterName=cluster1
ResourceBindingsFormat={groupId}/{artifactId}/{j2eeType}/{name}
RemoteDeployHostname=localhost
TmId=71,84,77,73,68




David Blevins wrote:
> 
> 
> On Oct 29, 2009, at 10:19 AM, bitz wrote:
> 
>>
>> Good question.  I haven't configured a cluster.  I have one instance  
>> of
>> Geronimo 2.2 running, and didn't make any changes to the default  
>> config.
>> The client side code is a very simple test app.  At this point, I'm  
>> only
>> doing some research and testing, nothing fancy.  Is clustering somehow
>> enabled by default?
> 
> It is enabled by default, though it is designed so that it (should)  
> have no effect unless there actually *is* a cluster.  Clearly  
> something i s not lined up correctly.  I'll have a look in the code.
> 
> Can you post your related server side config?
> 
> 
> -David
> 
>> Quintin Beukes-2 wrote:
>>>
>>> Are you using clustering?
>>>
>>> Quintin Beukes
>>>
>>>
>>>
>>> On Thu, Oct 29, 2009 at 1:05 AM, bitz <th...@canada.com>  
>>> wrote:
>>>>
>>>> I'm using Geronimo 2.2 which uses OpenEJB 3.1.2.  I have a client
>>>> application
>>>> which retrieves a remote EJB reference and makes a remote EJB method
>>>> call.
>>>> I'm seeing the following message being logged by the OpenEJB  
>>>> client on
>>>> the
>>>> client side...
>>>>
>>>> Oct 28, 2009 3:36:03 PM
>>>> org.apache.openejb.client.StickyConnectionStrategy
>>>> connect
>>>> WARNING: Failover: Cannot connect to server(s): ejbd://0.0.0.0:4201
>>>> Exception: Cannot connect to server 'ejbd://0.0.0.0:4201'.  Check  
>>>> that
>>>> the
>>>> server is started and that the specified serverURL is correct..   
>>>> Trying
>>>> next.
>>>>
>>>> Well, the serverURL is not correct, and it's also not the one I  
>>>> provided.
>>>> Here's a snippet of the client code...
>>>>
>>>> final URI serverURI = new URI( "ejbd", null, "192.168.0.1", 4201,  
>>>> null,
>>>> null, null );
>>>> final Properties contextProperties = new Properties( );
>>>> contextProperties.put( Context.INITIAL_CONTEXT_FACTORY,
>>>> "org.apache.openejb.client.RemoteInitialContextFactory" );
>>>> contextProperties.put( Context.PROVIDER_URL,  
>>>> serverURI.toString( ) );
>>>>
>>>> final InitialContext ctx = new InitialContext( contextProperties );
>>>> final MyEjbService remote = (MyEjbService)ctx.lookup("MyEjbRemote");
>>>> final String serverTime = remote.getServerTime();
>>>>
>>>> In
>>>> org 
>>>> .apache 
>>>> .openejb.client.StickyConnectionStrategy.connect(ClusterMetaData
>>>> cluster, ServerMetaData server), the ctx.lookup("MyEjbRemote")  
>>>> call is
>>>> successful, but the next call to remote.getServerTime() produces the
>>>> error
>>>> message indicated above, yet still succeeds.  Further calls to
>>>> remote.getServerTime() work fine and do not produce any error  
>>>> messages.
>>>>
>>>> I debugged enough to find the cause.  I'll try to explain... The  
>>>> first
>>>> client-server communication involves a handshake where  
>>>> ClusterRequest and
>>>> ClusterResponse objects are exchanged.  During this handshake the  
>>>> server
>>>> returns a URI of "ejbd://0.0.0.0:4201".  On the next communication  
>>>> to the
>>>> server, for the remote.getServerTime() method call, the
>>>> org 
>>>> .apache 
>>>> .openejb.client.StickyConnectionStrategy.connect(ClusterMetaData
>>>> cluster, ServerMetaData server) code attempts to use the URI  
>>>> returned by
>>>> the
>>>> server, which obviously fails, resulting in the message, then it  
>>>> falls
>>>> back
>>>> to the original, correct URI, which is successful.
>>>>
>>>> My question:  What is the reason for the ClusterRequest/ 
>>>> ClusterResponse
>>>> handshake, and why does the OpenEJB client try to connect using an
>>>> invalid
>>>> URI provided by server?
>>>>
>>>>
>>>> --
>>>> View this message in context:
>>>> http://www.nabble.com/OpenEJB-3.1.2---%22Cannot-connect-to-server%22-WARNING-message-tp26103713p26103713.html
>>>> Sent from the OpenEJB User mailing list archive at Nabble.com.
>>>>
>>>>
>>>
>>>
>>
>> -- 
>> View this message in context:
>> http://www.nabble.com/OpenEJB-3.1.2---%22Cannot-connect-to-server%22-WARNING-message-tp26103713p26117261.html
>> Sent from the OpenEJB User mailing list archive at Nabble.com.
>>
>>
> 
> 
> 

-- 
View this message in context: http://old.nabble.com/OpenEJB-3.1.2---%22Cannot-connect-to-server%22-WARNING-message-tp26103713p26158990.html
Sent from the OpenEJB User mailing list archive at Nabble.com.


Re: OpenEJB 3.1.2 - "Cannot connect to server" WARNING message

Posted by bitz <th...@canada.com>.
I'm using a snapshot of Geronimo 2.2, revision 830701, downloaded on Oct 28,
2009.  As I said, I did not alter the Geronimo config at all, but I've
pasted it for you below.  On the server side, there's a single stateless
session bean, with a single remote method.  Very simple.  Thanks for your
help.


Geronimo config.xml:

I'm unable to post with the config.xml contents embedded, so I've attached
it as a file.

Geronimo config-substitutions.properties:

# Put variables and their substitution values in this file. 
# They will be used when processing the corresponding config.xml. 
# Values in this file can be overridden by environment variables and system
properties 
# by prefixing the property name with
'org.apache.geronimo.config.substitution.' 
# For example, an entry such as hostName=localhost 
# can be overridden by an environment variable or system property
org.apache.geronimo.config.substitution.hostName=foo 
# When running multiple instances of Geronimo choose a PortOffset value such
that none of the ports conflict. 
# For example, try PortOffset=10 
#Wed Oct 28 14:44:34 EDT 2009
ORBPort=6882
AJPPort=8009
MaxThreadPoolSize=500
ResourceBindingsNamePattern=
Capacity=1000
SMTPHost=localhost
StatelessPoolSize=10
StatelessTimeout=0
ResourceBindingsQuery=?\#org.apache.geronimo.naming.ResourceSource
DerbyPort=1527
BMPPoolSize=10
COSNamingPort=1050
StatefulTimeout=20
webcontainer=TomcatWebContainer
OpenEJBPort=4201
ORBSSLPort=2001
PortOffset=0
JMXPort=9999
ClusterNodeName=NODE
EndPointURI=http\://localhost\:8080
NamingPort=1099
DefaultWadiSweepInterval=36000
WebConnectorConTimeout=20000
WADIClusterName=DEFAULT_WADI_CLUSTER
BulkPassivate=100
MulticastDiscoveryPort=6142
HTTPSPort=8443
MinThreadPoolSize=200
MulticastDiscoveryAddress=239.255.3.2
ReplicaCount=2
ServerHostname=0.0.0.0
ActiveMQPort=61616
SMTPPort=25
webcontainerName=tomcat6
ResourceBindingsNameInNamespace=jca\:
StrictPooling=true
JMXSecurePort=9998
DefaultWadiNumPartitions=24
AccessTimeout=30
HTTPPort=8080
FarmName=DEFAULT_FARM
ClusterName=cluster1
ResourceBindingsFormat={groupId}/{artifactId}/{j2eeType}/{name}
RemoteDeployHostname=localhost
TmId=71,84,77,73,68




David Blevins wrote:
> 
> 
> On Oct 29, 2009, at 10:19 AM, bitz wrote:
> 
>>
>> Good question.  I haven't configured a cluster.  I have one instance  
>> of
>> Geronimo 2.2 running, and didn't make any changes to the default  
>> config.
>> The client side code is a very simple test app.  At this point, I'm  
>> only
>> doing some research and testing, nothing fancy.  Is clustering somehow
>> enabled by default?
> 
> It is enabled by default, though it is designed so that it (should)  
> have no effect unless there actually *is* a cluster.  Clearly  
> something i s not lined up correctly.  I'll have a look in the code.
> 
> Can you post your related server side config?
> 
> 
> -David
> 
>> Quintin Beukes-2 wrote:
>>>
>>> Are you using clustering?
>>>
>>> Quintin Beukes
>>>
>>>
>>>
>>> On Thu, Oct 29, 2009 at 1:05 AM, bitz <th...@canada.com>  
>>> wrote:
>>>>
>>>> I'm using Geronimo 2.2 which uses OpenEJB 3.1.2.  I have a client
>>>> application
>>>> which retrieves a remote EJB reference and makes a remote EJB method
>>>> call.
>>>> I'm seeing the following message being logged by the OpenEJB  
>>>> client on
>>>> the
>>>> client side...
>>>>
>>>> Oct 28, 2009 3:36:03 PM
>>>> org.apache.openejb.client.StickyConnectionStrategy
>>>> connect
>>>> WARNING: Failover: Cannot connect to server(s): ejbd://0.0.0.0:4201
>>>> Exception: Cannot connect to server 'ejbd://0.0.0.0:4201'.  Check  
>>>> that
>>>> the
>>>> server is started and that the specified serverURL is correct..   
>>>> Trying
>>>> next.
>>>>
>>>> Well, the serverURL is not correct, and it's also not the one I  
>>>> provided.
>>>> Here's a snippet of the client code...
>>>>
>>>> final URI serverURI = new URI( "ejbd", null, "192.168.0.1", 4201,  
>>>> null,
>>>> null, null );
>>>> final Properties contextProperties = new Properties( );
>>>> contextProperties.put( Context.INITIAL_CONTEXT_FACTORY,
>>>> "org.apache.openejb.client.RemoteInitialContextFactory" );
>>>> contextProperties.put( Context.PROVIDER_URL,  
>>>> serverURI.toString( ) );
>>>>
>>>> final InitialContext ctx = new InitialContext( contextProperties );
>>>> final MyEjbService remote = (MyEjbService)ctx.lookup("MyEjbRemote");
>>>> final String serverTime = remote.getServerTime();
>>>>
>>>> In
>>>> org 
>>>> .apache 
>>>> .openejb.client.StickyConnectionStrategy.connect(ClusterMetaData
>>>> cluster, ServerMetaData server), the ctx.lookup("MyEjbRemote")  
>>>> call is
>>>> successful, but the next call to remote.getServerTime() produces the
>>>> error
>>>> message indicated above, yet still succeeds.  Further calls to
>>>> remote.getServerTime() work fine and do not produce any error  
>>>> messages.
>>>>
>>>> I debugged enough to find the cause.  I'll try to explain... The  
>>>> first
>>>> client-server communication involves a handshake where  
>>>> ClusterRequest and
>>>> ClusterResponse objects are exchanged.  During this handshake the  
>>>> server
>>>> returns a URI of "ejbd://0.0.0.0:4201".  On the next communication  
>>>> to the
>>>> server, for the remote.getServerTime() method call, the
>>>> org 
>>>> .apache 
>>>> .openejb.client.StickyConnectionStrategy.connect(ClusterMetaData
>>>> cluster, ServerMetaData server) code attempts to use the URI  
>>>> returned by
>>>> the
>>>> server, which obviously fails, resulting in the message, then it  
>>>> falls
>>>> back
>>>> to the original, correct URI, which is successful.
>>>>
>>>> My question:  What is the reason for the ClusterRequest/ 
>>>> ClusterResponse
>>>> handshake, and why does the OpenEJB client try to connect using an
>>>> invalid
>>>> URI provided by server?
>>>>
>>>>
>>>> --
>>>> View this message in context:
>>>> http://www.nabble.com/OpenEJB-3.1.2---%22Cannot-connect-to-server%22-WARNING-message-tp26103713p26103713.html
>>>> Sent from the OpenEJB User mailing list archive at Nabble.com.
>>>>
>>>>
>>>
>>>
>>
>> -- 
>> View this message in context:
>> http://www.nabble.com/OpenEJB-3.1.2---%22Cannot-connect-to-server%22-WARNING-message-tp26103713p26117261.html
>> Sent from the OpenEJB User mailing list archive at Nabble.com.
>>
>>
> 
> 
> 

-- 
View this message in context: http://old.nabble.com/OpenEJB-3.1.2---%22Cannot-connect-to-server%22-WARNING-message-tp26103713p26159141.html
Sent from the OpenEJB User mailing list archive at Nabble.com.


Re: OpenEJB 3.1.2 - "Cannot connect to server" WARNING message

Posted by David Blevins <da...@visi.com>.
On Oct 29, 2009, at 10:19 AM, bitz wrote:

>
> Good question.  I haven't configured a cluster.  I have one instance  
> of
> Geronimo 2.2 running, and didn't make any changes to the default  
> config.
> The client side code is a very simple test app.  At this point, I'm  
> only
> doing some research and testing, nothing fancy.  Is clustering somehow
> enabled by default?

It is enabled by default, though it is designed so that it (should)  
have no effect unless there actually *is* a cluster.  Clearly  
something i s not lined up correctly.  I'll have a look in the code.

Can you post your related server side config?


-David

> Quintin Beukes-2 wrote:
>>
>> Are you using clustering?
>>
>> Quintin Beukes
>>
>>
>>
>> On Thu, Oct 29, 2009 at 1:05 AM, bitz <th...@canada.com>  
>> wrote:
>>>
>>> I'm using Geronimo 2.2 which uses OpenEJB 3.1.2.  I have a client
>>> application
>>> which retrieves a remote EJB reference and makes a remote EJB method
>>> call.
>>> I'm seeing the following message being logged by the OpenEJB  
>>> client on
>>> the
>>> client side...
>>>
>>> Oct 28, 2009 3:36:03 PM
>>> org.apache.openejb.client.StickyConnectionStrategy
>>> connect
>>> WARNING: Failover: Cannot connect to server(s): ejbd://0.0.0.0:4201
>>> Exception: Cannot connect to server 'ejbd://0.0.0.0:4201'.  Check  
>>> that
>>> the
>>> server is started and that the specified serverURL is correct..   
>>> Trying
>>> next.
>>>
>>> Well, the serverURL is not correct, and it's also not the one I  
>>> provided.
>>> Here's a snippet of the client code...
>>>
>>> final URI serverURI = new URI( "ejbd", null, "192.168.0.1", 4201,  
>>> null,
>>> null, null );
>>> final Properties contextProperties = new Properties( );
>>> contextProperties.put( Context.INITIAL_CONTEXT_FACTORY,
>>> "org.apache.openejb.client.RemoteInitialContextFactory" );
>>> contextProperties.put( Context.PROVIDER_URL,  
>>> serverURI.toString( ) );
>>>
>>> final InitialContext ctx = new InitialContext( contextProperties );
>>> final MyEjbService remote = (MyEjbService)ctx.lookup("MyEjbRemote");
>>> final String serverTime = remote.getServerTime();
>>>
>>> In
>>> org 
>>> .apache 
>>> .openejb.client.StickyConnectionStrategy.connect(ClusterMetaData
>>> cluster, ServerMetaData server), the ctx.lookup("MyEjbRemote")  
>>> call is
>>> successful, but the next call to remote.getServerTime() produces the
>>> error
>>> message indicated above, yet still succeeds.  Further calls to
>>> remote.getServerTime() work fine and do not produce any error  
>>> messages.
>>>
>>> I debugged enough to find the cause.  I'll try to explain... The  
>>> first
>>> client-server communication involves a handshake where  
>>> ClusterRequest and
>>> ClusterResponse objects are exchanged.  During this handshake the  
>>> server
>>> returns a URI of "ejbd://0.0.0.0:4201".  On the next communication  
>>> to the
>>> server, for the remote.getServerTime() method call, the
>>> org 
>>> .apache 
>>> .openejb.client.StickyConnectionStrategy.connect(ClusterMetaData
>>> cluster, ServerMetaData server) code attempts to use the URI  
>>> returned by
>>> the
>>> server, which obviously fails, resulting in the message, then it  
>>> falls
>>> back
>>> to the original, correct URI, which is successful.
>>>
>>> My question:  What is the reason for the ClusterRequest/ 
>>> ClusterResponse
>>> handshake, and why does the OpenEJB client try to connect using an
>>> invalid
>>> URI provided by server?
>>>
>>>
>>> --
>>> View this message in context:
>>> http://www.nabble.com/OpenEJB-3.1.2---%22Cannot-connect-to-server%22-WARNING-message-tp26103713p26103713.html
>>> Sent from the OpenEJB User mailing list archive at Nabble.com.
>>>
>>>
>>
>>
>
> -- 
> View this message in context: http://www.nabble.com/OpenEJB-3.1.2---%22Cannot-connect-to-server%22-WARNING-message-tp26103713p26117261.html
> Sent from the OpenEJB User mailing list archive at Nabble.com.
>
>


Re: OpenEJB 3.1.2 - "Cannot connect to server" WARNING message

Posted by bitz <th...@canada.com>.
Good question.  I haven't configured a cluster.  I have one instance of
Geronimo 2.2 running, and didn't make any changes to the default config. 
The client side code is a very simple test app.  At this point, I'm only
doing some research and testing, nothing fancy.  Is clustering somehow
enabled by default?


Quintin Beukes-2 wrote:
> 
> Are you using clustering?
> 
> Quintin Beukes
> 
> 
> 
> On Thu, Oct 29, 2009 at 1:05 AM, bitz <th...@canada.com> wrote:
>>
>> I'm using Geronimo 2.2 which uses OpenEJB 3.1.2.  I have a client
>> application
>> which retrieves a remote EJB reference and makes a remote EJB method
>> call.
>> I'm seeing the following message being logged by the OpenEJB client on
>> the
>> client side...
>>
>> Oct 28, 2009 3:36:03 PM
>> org.apache.openejb.client.StickyConnectionStrategy
>> connect
>> WARNING: Failover: Cannot connect to server(s): ejbd://0.0.0.0:4201
>> Exception: Cannot connect to server 'ejbd://0.0.0.0:4201'.  Check that
>> the
>> server is started and that the specified serverURL is correct..  Trying
>> next.
>>
>> Well, the serverURL is not correct, and it's also not the one I provided.
>> Here's a snippet of the client code...
>>
>> final URI serverURI = new URI( "ejbd", null, "192.168.0.1", 4201, null,
>> null, null );
>> final Properties contextProperties = new Properties( );
>> contextProperties.put( Context.INITIAL_CONTEXT_FACTORY,
>> "org.apache.openejb.client.RemoteInitialContextFactory" );
>> contextProperties.put( Context.PROVIDER_URL, serverURI.toString( ) );
>>
>> final InitialContext ctx = new InitialContext( contextProperties );
>> final MyEjbService remote = (MyEjbService)ctx.lookup("MyEjbRemote");
>> final String serverTime = remote.getServerTime();
>>
>> In
>> org.apache.openejb.client.StickyConnectionStrategy.connect(ClusterMetaData
>> cluster, ServerMetaData server), the ctx.lookup("MyEjbRemote") call is
>> successful, but the next call to remote.getServerTime() produces the
>> error
>> message indicated above, yet still succeeds.  Further calls to
>> remote.getServerTime() work fine and do not produce any error messages.
>>
>> I debugged enough to find the cause.  I'll try to explain... The first
>> client-server communication involves a handshake where ClusterRequest and
>> ClusterResponse objects are exchanged.  During this handshake the server
>> returns a URI of "ejbd://0.0.0.0:4201".  On the next communication to the
>> server, for the remote.getServerTime() method call, the
>> org.apache.openejb.client.StickyConnectionStrategy.connect(ClusterMetaData
>> cluster, ServerMetaData server) code attempts to use the URI returned by
>> the
>> server, which obviously fails, resulting in the message, then it falls
>> back
>> to the original, correct URI, which is successful.
>>
>> My question:  What is the reason for the ClusterRequest/ClusterResponse
>> handshake, and why does the OpenEJB client try to connect using an
>> invalid
>> URI provided by server?
>>
>>
>> --
>> View this message in context:
>> http://www.nabble.com/OpenEJB-3.1.2---%22Cannot-connect-to-server%22-WARNING-message-tp26103713p26103713.html
>> Sent from the OpenEJB User mailing list archive at Nabble.com.
>>
>>
> 
> 

-- 
View this message in context: http://www.nabble.com/OpenEJB-3.1.2---%22Cannot-connect-to-server%22-WARNING-message-tp26103713p26117261.html
Sent from the OpenEJB User mailing list archive at Nabble.com.


Re: OpenEJB 3.1.2 - "Cannot connect to server" WARNING message

Posted by Quintin Beukes <qu...@skywalk.co.za>.
Are you using clustering?

Quintin Beukes



On Thu, Oct 29, 2009 at 1:05 AM, bitz <th...@canada.com> wrote:
>
> I'm using Geronimo 2.2 which uses OpenEJB 3.1.2.  I have a client application
> which retrieves a remote EJB reference and makes a remote EJB method call.
> I'm seeing the following message being logged by the OpenEJB client on the
> client side...
>
> Oct 28, 2009 3:36:03 PM org.apache.openejb.client.StickyConnectionStrategy
> connect
> WARNING: Failover: Cannot connect to server(s): ejbd://0.0.0.0:4201
> Exception: Cannot connect to server 'ejbd://0.0.0.0:4201'.  Check that the
> server is started and that the specified serverURL is correct..  Trying
> next.
>
> Well, the serverURL is not correct, and it's also not the one I provided.
> Here's a snippet of the client code...
>
> final URI serverURI = new URI( "ejbd", null, "192.168.0.1", 4201, null,
> null, null );
> final Properties contextProperties = new Properties( );
> contextProperties.put( Context.INITIAL_CONTEXT_FACTORY,
> "org.apache.openejb.client.RemoteInitialContextFactory" );
> contextProperties.put( Context.PROVIDER_URL, serverURI.toString( ) );
>
> final InitialContext ctx = new InitialContext( contextProperties );
> final MyEjbService remote = (MyEjbService)ctx.lookup("MyEjbRemote");
> final String serverTime = remote.getServerTime();
>
> In
> org.apache.openejb.client.StickyConnectionStrategy.connect(ClusterMetaData
> cluster, ServerMetaData server), the ctx.lookup("MyEjbRemote") call is
> successful, but the next call to remote.getServerTime() produces the error
> message indicated above, yet still succeeds.  Further calls to
> remote.getServerTime() work fine and do not produce any error messages.
>
> I debugged enough to find the cause.  I'll try to explain... The first
> client-server communication involves a handshake where ClusterRequest and
> ClusterResponse objects are exchanged.  During this handshake the server
> returns a URI of "ejbd://0.0.0.0:4201".  On the next communication to the
> server, for the remote.getServerTime() method call, the
> org.apache.openejb.client.StickyConnectionStrategy.connect(ClusterMetaData
> cluster, ServerMetaData server) code attempts to use the URI returned by the
> server, which obviously fails, resulting in the message, then it falls back
> to the original, correct URI, which is successful.
>
> My question:  What is the reason for the ClusterRequest/ClusterResponse
> handshake, and why does the OpenEJB client try to connect using an invalid
> URI provided by server?
>
>
> --
> View this message in context: http://www.nabble.com/OpenEJB-3.1.2---%22Cannot-connect-to-server%22-WARNING-message-tp26103713p26103713.html
> Sent from the OpenEJB User mailing list archive at Nabble.com.
>
>