Hi Ben,
First of all, you appear to have replied to a message with questions
on completely unrelated subjects. In the future please start a new
thread instead.
On Sep 21, 2009, at 8:33 PM, LiangBen wrote:
Hi,Devs
Recently, I am working on Geronimo WADI clustering but I have
encountered some problems when I configured the WADI over static
member configuration following the linkhttp://cwiki.apache.org/GMOxDOC22/wadi-clustering.html
Steps:
1.Setup 2 nodes in the same physical workstation one is 8080 which
is the master node and another is 8090.
2.Change the module <module name="org.apache.geronimo.configs/wadi-
clustering/2.2-SNAPSHOT/car" in the config.xml to
NODE1 is like this:
<module name="org.apache.geronimo.configs/wadi-clustering/2.2-
SNAPSHOT/car">
<gbean name="DefaultBackingStrategyFactory">
<attribute name="nbReplica">${ReplicaCount}</attribute>
</gbean>
<gbean name="DefaultDispatch erHolder">
<attribute name="endPointURI">${EndPointURI}</attribute>
<attribute name="clusterName">${WADIClusterName}</
attribute>
</gbean>
<gbean name="org.apache.geronimo.configs/wadi-clustering/2.2-
SNAPSHOT/car?ServiceModule=org.apache.geronimo.configs/wadi-
clustering/2.2-SNAPSHOT/car,j2eeType=GBean,name=firstStaticMember"
gbeanInfo="org.apache.geronimo.clustering.wadi.WadiStaticMember">
<attribute
name="className">org.apache.catalina.tribes.membership.StaticMember</
attribute>
<attribute name="port">4003</attribute>
<attribute name="securePort">-1</attribute>
<attribute name="domain">test-domain</attribute>
<attribute
name="UniqueId">0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0</attribute>
<attribute name="host">9.123.233.67</attribute>
<reference name="nextWadiStaticMember">
<pattern>
<groupId>org.apache.geronimo.configs</groupId>
<artifactId>wadi-clustering</artifactId>
<version>2.2-SNAPSHOT</version>
<type>car</type>
<name>secondStaticMember</name>
</pattern>
</reference>
</gbean>
</module>
NODE2 is like this:
<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="disableMCastService">tr ue</attribute>
<attribute name="receiverPort">4003</attribute>
<reference name="staticMember">
<pattern>
<groupId>org.apache.geronimo.configs</groupId>
<artifactId>wadi-clustering</artifactId>
<version>2.2-SNAPSHOT</version>
; <type>car</type>
<name>firstStaticMember</name>
</pattern>
</reference>
</gbean>
<gbean name="org.apache.geronimo.configs/wadi-clustering/2.2-
SNAPSHOT/car?ServiceModule=org.apache.geronimo.configs/wadi-
clustering/2.2-SNAPSHOT/car,j2eeType=GBean,name=secondStaticMember"
gbeanInfo="org.apache.geronimo.clustering.wadi.WadiStaticMember">
<attribute
name="className">org.apache.catalina.tribes.membership.StaticMember</
attribute>
; <attribute name="port">4001</attribute>
<attribute name="securePort">-1</attribute>
<attribute name="domain">test-domain</attribute>
<attribute
name="UniqueId">0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1</attribute>
<attribute name="host">9.123.233.67</attribute>
<reference name="nextWadiStaticMember"/>
</gbean>
</module>
But when I start the module org.apache.geronimo.configs/wadi-
clustering/2.2-SNAPSHOT/car of the NODE 2 then I got a failure
which is Lifecycle operation failed. And the exceptions are
org.apache.geronimo.kernel.config.LifecycleException: start of
org.apache.geronimo.configs/wadi-clustering/2.2-SNAPSHOT/car failed
at
org
.apache
.geronimo
.kernel
.config
.SimpleConfigurationManager
.startConfiguration(SimpleConfigurationManager.java:562)
at
org
.apache
.geronimo
.kernel
.config
.SimpleConfigurationManager
.startConfiguration(SimpleConfigurationManager.java:527)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun
.reflect
.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun
.reflect
.DelegatingMethodAccessorImpl
.invoke(DelegatingMethodAccessorImpl.java:37)
at java.lang.reflect.Method.invoke(Method.java:599)
at
org
.apache
.geronimo
.gbean
.runtime.ReflectionMethodInvoker.invoke(ReflectionMethodInvoker.java:
34)
at
org
.apache
.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:130)
at
org
.apache
.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:815)
at
org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker.java:
57)
at
org
.apache
.geronimo
.kernel.basic.RawOperationInvoker.invoke(RawOperationInvoker.java:35)
at
org
.apache
.geronimo
.kernel
.basic.ProxyMethodInterceptor.intercept(ProxyMethodInterceptor.java:
96)
at org.apache.geronimo.kernel.config.EditableConfigurationManager
$$EnhancerByCGLIB$$79d07ec2.startConfiguration(<generated>)
at
org
.apache
.geronimo
.console
.configmanager
.ConfigManagerPortlet.processAction(ConfigManagerPortlet.java:157)
at org.apache.pluto.core.PortletServle
t.dispatch(PortletServlet.java:218)
at
org.apache.pluto.core.PortletServlet.doGet(PortletServlet.java:139)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:693)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
at
org
.apache
.catalina
.core
.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:
290)
at
org
.apache
.catalina
.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
org
.apache
.catalina
.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
at
org
.apache
.catalina
.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:551)
at
org
.apache
.catalina
.core.ApplicationDispatcher.include(ApplicationDispatcher.java:488)
at
org
.apache
.pluto
.core
.DefaultPortletInvokerService.invoke(DefaultPortletInvokerService.j
ava:167)
at
org
.apache
.pluto
.core
.DefaultPortletInvokerService
.action(DefaultPortletInvokerService.java:85)
at
org
.apache
.pluto.core.PortletContainerImpl.doAction(PortletContainerImpl.java:
217)
at
org
.apache
.pluto.driver.PortalDriverServlet.doGet(PortalDriverServlet.java:121)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:693)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
at
org
.apache
.catalina
.core
.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:
290)
at
org
.apache
.catalina
.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
org
.apache
.geronimo
.console
.filter.PlutoURLRebuildFilter.doFilter(PlutoURLRebuildFilter.java:48)
at
org
.apache
.catalina
.core
.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.j
ava:235)
at
org
.apache
.catalina
.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
org
.apache
.geronimo.console.filter.XSSXSRFFilter.doFilter(XSSXSRFFilter.java:
125)
at
org
.apache
.catalina
.core
.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:
235)
at
org
.apache
.catalina
.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
org
.apache
.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:
233)
at
org
.apache
.catalina.core.StandardContextValve.invoke(StandardContextValve.java:
191)
at
org
.apache
.geronimo.tomcat.security.SecurityValve.invoke(SecurityValve.java:88)
at
org
.apache
.geronimo
.tomcat
.security.jacc.JACCSecurityValve.invoke(JACCSecurityValve.java:54)
at org.apache.geronimo.tomcat.GeronimoStandardContext$Sys
temMethodValve.invoke(GeronimoStandardContext.java:420)
at
org
.apache
.geronimo
.tomcat
.valve.GeronimoBeforeAfterValve.invoke(GeronimoBeforeAfterValve.java:
47)
at
org
.apache
.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at
org
.apache
.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:
567)
at
org
.apache
.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:
109)
at
org
.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:
293)
at
org
.apache.coyote.http11.Http11Processor.process(Http11Processor.java:
849)
at org.apache.coyote.http11.Http11Protocol
$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProc
essor.run(JIoEndpoint.java:361)
at org.apache.geronimo.pool.ThreadPool$1.run(ThreadPool.java:214)
at org.apache.geronimo.pool.ThreadPool
$ContextClassLoaderRunnable.run(ThreadPool.java:344)
at java.util.concurrent.ThreadPoolExecutor
$Worker.runTask(ThreadPoolExecutor.java:896)
at java.util.concurrent.ThreadPoolExecutor
$Worker.run(ThreadPoolExecutor.java:918)
at java.lang.Thread.run(Thread.java:735)
Caused by: org.apache.geronimo.kernel.config.InvalidConfigException:
Unable to resolve reference "staticMember" in gbean
org.apache.geronimo.configs/wadi-clustering/2.2-SNAPSHOT/car?
ServiceModule=org.apache.geronimo.configs/wadi-clustering/2.2-
SNAPSHOT/car,j2eeType=GBean,name=DefaultDispatcherHolder to a gbean
matching the pattern [org.apache.geronimo.configs/wadi-clustering/
2.2-SNAPSHOT/car?name=firstStaticMember#]
at org.apache.geronimo.kernel.conf
ig.ConfigurationUtil.preprocessGBeanData(ConfigurationUtil.java:380)
at
org
.apache
.geronimo
.kernel
.config
.ConfigurationUtil.startConfigurationGBeans(ConfigurationUtil.java:
438)
at
org
.apache
.geronimo
.kernel
.config
.KernelConfigurationManager.start(KernelConfigurationManager.java:190)
at
org
.apache
.geronimo
.kernel
.config
.SimpleConfigurationManager
.startConfiguration(SimpleConfigurationManager.java:546)
... 55 more
Caused by: org.apache.geronimo.kernel.GBeanNotFoundException: No
matches for referencePatterns: [org.apache.geronimo.configs/wadi-
clustering/2.2-SNAPSHOT/car?name=firstStaticMember#]
at
org
.apache
.geronimo
.kernel.config.Configuration.findGBeanData(Configuration.java:688)
at
org
.apache
.geronimo.kernel.config.Configuration.findGBean(Configuration.java:
661)
at org.apache.geronimo.kernel.config.Configuration.findGBea
n(Configuration.java:656)
at
org
.apache
.geronimo
.kernel
.config.ConfigurationUtil.preprocessGBeanData(ConfigurationUtil.java:
375)
... 58 more
The documentation is not entirely clear to me, but:
1. GBean references only work within the VM geronimo is running in.
So in Node1, all the references need to be to gbeans deployed in
node1, and in node2, all the references need to be to gbeans deployed
in node2. In Node1 your firstStaticMember gbean refers to a
secondStaticMember with is not deployed on node1. Similarly, on node2
DefaultDispatcherHolder has a reference to a firstStaticMember but the
gbean is called secondStaticMember. This is the immediate cause of
the exception.
2. the documentation is not at all clear but you might need a
staticMember gbean for the node itself, i.e. 2 staticMember gbeans on
each node.
Hope this helps
david jencks
I really need your help to figure out the errors.
Thanks
Ben
与任何您希望的人分享您的回忆。 任何您希望的人。