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:
==================================================================
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 !!!!
==================================================================
${NamingPort + PortOffset}
${ServerHostname}
rmi://${ServerHostname}:${NamingPort +
PortOffset}
30000
${MinThreadPoolSize}
${MaxThreadPoolSize}
http://geronimo.apache.org/plugins/plugin-repository-list-2.2.txt
http://${RemoteDeployHostname}:${HTTPPort +
PortOffset}
rmi
${ServerHostname}
${JMXPort + PortOffset}
/jndi/rmi://${ServerHostname}:${NamingPort +
PortOffset}/JMXConnector
http://geronimo.apache.org/xml/ns/j2ee/web/jetty-2.0
http://java.sun.com/xml/ns/j2ee,http://java.sun.com/xml/ns/javaee
${ClusterNodeName}
${FarmName}
${ClusterNodeName}
${ReplicaCount}
${EndPointURI}
${WADIClusterName}
${TmId}
${ResourceBindingsFormat}
${ResourceBindingsNameInNamespace}
${ResourceBindingsNamePattern}
${ResourceBindingsQuery}
http://java.sun.com/xml/ns/j2ee,http://java.sun.com/xml/ns/javaee
org.apache.geronimo.configs
j2ee-corba-yoko
car
http://java.sun.com/xml/ns/j2ee,http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/j2ee,http://java.sun.com/xml/ns/javaee
org.apache.geronimo.configs
client-corba-yoko
car
${ServerHostname}
${DerbyPort + PortOffset}
${OpenEJBPort + PortOffset}
${ServerHostname}
${MulticastDiscoveryAddress}
${MulticastDiscoveryPort}
${ClusterName}
${StatefulTimeout}
${Capacity}
${BulkPassivate}
${AccessTimeout}
${BMPPoolSize}
${StatelessTimeout}
${StatelessPoolSize}
${StrictPooling}
http://java.sun.com/xml/ns/j2ee,http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/j2ee,http://java.sun.com/xml/ns/javaee
${ServerHostname}
${OpenEJBPort + PortOffset}
${DefaultWadiSweepInterval}
${DefaultWadiNumPartitions}
${COSNamingPort + PortOffset}
${ServerHostname}
${ORBSSLPort + PortOffset}
${ServerHostname}
${ORBPort + PortOffset}
${ServerHostname}
org.apache.openjpa.persistence.PersistenceProviderImpl
openjpa.Log=commons
openjpa.jdbc.SynchronizeMappings=buildSchema(ForeignKeys=true)
openjpa.jdbc.UpdateManager=operation-order
openjpa.Sequence=table(Table=OPENJPASEQ, Increment=100)
org.apache.geronimo.configs
openjpa
car
deploy/
2000
?name=${webcontainer}
org.apache.geronimo.configs
${webcontainerName}
car
${SMTPHost}
${SMTPPort}
rmi
${ServerHostname}
${JMXSecurePort + PortOffset}
/jndi/rmi://${ServerHostname}:${NamingPort +
PortOffset}/JMXSecureConnector
tcp://${ServerHostname}:${ActiveMQPort +
PortOffset}
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
>>> 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.