From: monocongo <nu...@jb...> - 2004-09-30 21:00:47
|
I am attempting to run a cluster using a non-default partition name. In every *.xml file which originally had "DefaultPartition" I replaced it with "DevPartition". The jboss-service.xml which is included in the SAR being deployed in the deploy-hasingleton directory is also using "DevPartition" as the partition name. JBOSS_HOME/server/all/deploy/cluster-service.xml: | <?xml version="1.0" encoding="UTF-8"?> | | <!-- ===================================================================== --> | <!-- --> | <!-- Sample Clustering Service Configuration --> | <!-- --> | <!-- ===================================================================== --> | | <!-- NOTE - Using DevPartition instead of DefaultPartition --> | | <server> | | <classpath codebase="lib" archives="jbossha.jar"/> | | <!-- ==================================================================== --> | <!-- Cluster Partition: defines cluster --> | <!-- ==================================================================== --> | | <mbean code="org.jboss.ha.framework.server.ClusterPartition" | name="jboss:service=DevPartition"> | | <!-- Name of the partition being built --> | <attribute name="PartitionName">DevPartition</attribute> | <!-- The address used to determine the node name --> | <attribute name="NodeAddress">${jboss.bind.address}</attribute> | <!-- Determine if deadlock detection is enabled --> | <attribute name="DeadlockDetection">False</attribute> | | <!-- Time in milliseconds to wait for state to be transferred --> | <attribute name="StateTransferTimeout">60000</attribute> | | <!-- The JGroups protocol configuration --> | <attribute name="PartitionConfig"> | <Config> | <!-- UDP: if you have a multihomed machine, | set the bind_addr attribute to the appropriate NIC IP address --> | <!-- like this: --> | <!-- bind_addr="10.10.10.78" --> | <!-- UDP: On Windows machines, because of the media sense feature | being broken with multicast (even after disabling media sense) | set the loopback attribute to true --> | <UDP mcast_addr="228.1.2.3" mcast_port="45566" | ip_ttl="32" ip_mcast="true" | mcast_send_buf_size="800000" mcast_recv_buf_size="150000" | ucast_send_buf_size="800000" ucast_recv_buf_size="150000" | loopback="true" /> | <PING timeout="2000" num_initial_members="3" | up_thread="true" down_thread="true" /> | <MERGE2 min_interval="10000" max_interval="20000" /> | <FD shun="true" up_thread="true" down_thread="true" | timeout="2500" max_tries="5" /> | <VERIFY_SUSPECT timeout="3000" num_msgs="3" | up_thread="true" down_thread="true" /> | <pbcast.NAKACK gc_lag="50" retransmit_timeout="300,600,1200,2400,4800" | max_xmit_size="8192" | up_thread="true" down_thread="true" /> | <UNICAST timeout="300,600,1200,2400,4800" window_size="100" min_threshold="10" | down_thread="true" /> | <pbcast.STABLE desired_avg_gossip="20000" | up_thread="true" down_thread="true" /> | <FRAG frag_size="8192" | down_thread="true" up_thread="true" /> | <pbcast.GMS join_timeout="5000" join_retry_timeout="2000" | shun="true" print_local_addr="true" /> | <pbcast.STATE_TRANSFER up_thread="true" down_thread="true" /> | </Config> | </attribute> | | </mbean> | | <!-- ==================================================================== --> | <!-- HA Session State Service for SFSB --> | <!-- ==================================================================== --> | | <mbean code="org.jboss.ha.hasessionstate.server.HASessionStateService" | name="jboss:service=HASessionState"> | <depends>jboss:service=DevPartition</depends> | <!-- Name of the partition to which the service is linked --> | <attribute name="PartitionName">DevPartition</attribute> | <!-- JNDI name under which the service is bound --> | <attribute name="JndiName">/HASessionState/Default</attribute> | <!-- Max delay before cleaning unreclaimed state. | Defaults to 30*60*1000 => 30 minutes --> | <attribute name="BeanCleaningDelay">0</attribute> | </mbean> | | <!-- ==================================================================== --> | <!-- HA JNDI --> | <!-- ==================================================================== --> | | <mbean code="org.jboss.ha.jndi.HANamingService" | name="jboss:service=HAJNDI"> | <depends>jboss:service=DevPartition</depends> | <!-- Name of the partition to which the service is linked --> | <attribute name="PartitionName">DevPartition</attribute> | <!-- bind address of HA JNDI RMI endpoint --> | <attribute name="BindAddress">${jboss.bind.address}</attribute> | <!-- RmiPort to be used by the HA-JNDI service | once bound. 0 => auto. --> | <attribute name="RmiPort">0</attribute> | <!-- Port on which the HA-JNDI stub is made available --> | <attribute name="Port">1100</attribute> | <!-- Backlog to be used for client-server RMI | invocations during JNDI queries --> | <attribute name="Backlog">50</attribute> | | <!-- Multicast Address and Group used for auto-discovery --> | <attribute name="AutoDiscoveryAddress">230.0.0.4</attribute> | <attribute name="AutoDiscoveryGroup">1102</attribute> | | <!-- IP Address to which should be bound: the Port, the RmiPort and | the AutoDiscovery multicast socket. --> | <!-- Client socket factory to be used for client-server | RMI invocations during JNDI queries --> | <!--attribute name="ClientSocketFactory">custom</attribute--> | <!-- Server socket factory to be used for client-server | RMI invocations during JNDI queries --> | <!--attribute name="ServerSocketFactory">custom</attribute--> | </mbean> | | <mbean code="org.jboss.invocation.jrmp.server.JRMPInvokerHA" | name="jboss:service=invoker,type=jrmpha"> | <attribute name="ServerAddress">${jboss.bind.address}</attribute> | <!-- | <attribute name="RMIObjectPort">0</attribute> | <attribute name="RMIClientSocketFactory">custom</attribute> | <attribute name="RMIServerSocketFactory">custom</attribute> | --> | </mbean> | | <!-- ==================================================================== --> | <!-- Distributed cache invalidation --> | <!-- ==================================================================== --> | | <mbean code="org.jboss.cache.invalidation.bridges.JGCacheInvalidationBridge" | name="jboss.cache:service=InvalidationBridge,type=JavaGroups"> | <depends>jboss:service=DevPartition</depends> | <depends>jboss.cache:service=InvalidationManager</depends> | <attribute name="InvalidationManager">jboss.cache:service=InvalidationManager</attribute> | <attribute name="PartitionName">DevPartition</attribute> | <attribute name="BridgeName">DefaultJGBridge</attribute> | </mbean> | | </server> | JBOSS_HOME/server/all/deploy/deploy-hasingleton-service.xml: | <?xml version="1.0" encoding="UTF-8"?> | <!-- $Id: deploy-hasingleton-service.xml,v 1.1.2.2 2004/03/16 15:39:30 ejort Exp $ --> | | <!-- ===================================================================== --> | <!-- --> | <!-- This service ensures that exactly one node in the cluster --> | <!-- deploys the services under "deploy-hasingleton" --> | <!-- --> | <!-- ===================================================================== --> | | <!-- NOTE - Using DevPartition instead of DefaultPartition --> | | <server> | | <!-- | | | | Use the deployer service on the singleton node. | | | --> | | <mbean code="org.jboss.ha.singleton.HASingletonController" | name="jboss.ha:service=HASingletonDeployer"> | <depends>jboss:service=DevPartition</depends> | <depends optional-attribute-name="TargetName">jboss.system:service=MainDeployer</depends> | <attribute name="TargetStartMethod">deploy</attribute> | <attribute name="TargetStartMethodArgument">${jboss.server.home.url}/deploy-hasingleton</attribute> | <attribute name="TargetStopMethod">undeploy</attribute> | <attribute name="TargetStopMethodArgument">${jboss.server.home.url}/deploy-hasingleton</attribute> | | <!-- added to enable handling of a non-default partition name --> | <attribute name="PartitionName">DevPartition</attribute> | | </mbean> | | </server> | JBOSS_HOME/server/all/deploy/jbossha-httpsession.sar/ClusteredHttpSessionEB.jar/META-INF/jboss.xml: | <?xml version='1.0' ?> | <!DOCTYPE jboss PUBLIC | "-//JBoss//DTD JBOSS 3.2//EN" | "http://www.jboss.org/j2ee/dtd/jboss_3_2.dtd"> | | <!-- Version: $Id: jboss.xml,v 1.6.2.5 2003/11/23 22:49:29 slaboure Exp $ --> | <jboss> | | <enterprise-beans> | <entity> | <ejb-name>ClusteredHTTPSession</ejb-name> | <jndi-name>clustering/HTTPSession</jndi-name> | <local-jndi-name>clustering/LocalHTTPSession</local-jndi-name> | <configuration-name>Clustered in-memory CMP EntityBean</configuration-name> | <invoker-bindings> | <invoker> | <invoker-proxy-binding-name>this-rmi-invoker</invoker-proxy-binding-name> | </invoker> | </invoker-bindings> | </entity> | </enterprise-beans> | | <invoker-proxy-bindings> | <invoker-proxy-binding> | <name>this-rmi-invoker</name> | <invoker-mbean>jboss:service=invoker,type=jrmp</invoker-mbean> | <proxy-factory>org.jboss.proxy.ejb.ProxyFactory</proxy-factory> | <proxy-factory-config> | <client-interceptors> | <home> | <interceptor>org.jboss.proxy.ejb.HomeInterceptor</interceptor> | <interceptor>org.jboss.ha.httpsession.beanimpl.ejb.ClientTCLInterceptor</interceptor> | <interceptor>org.jboss.invocation.InvokerInterceptor</interceptor> | </home> | <bean> | <interceptor>org.jboss.proxy.ejb.EntityInterceptor</interceptor> | <interceptor>org.jboss.ha.httpsession.beanimpl.ejb.ClientTCLInterceptor</interceptor> | <interceptor>org.jboss.invocation.InvokerInterceptor</interceptor> | </bean> | <list-entity> | <interceptor>org.jboss.proxy.ejb.ListEntityInterceptor</interceptor> | <interceptor>org.jboss.ha.httpsession.beanimpl.ejb.ClientTCLInterceptor</interceptor> | <interceptor>org.jboss.invocation.InvokerInterceptor</interceptor> | </list-entity> | </client-interceptors> | </proxy-factory-config> | </invoker-proxy-binding> | </invoker-proxy-bindings> | | <container-configurations> | <container-configuration> | <container-name>Clustered in-memory CMP EntityBean</container-name> | <call-logging>false</call-logging> | <container-interceptors> | <interceptor>org.jboss.ha.httpsession.beanimpl.ejb.ServerTCLInterceptor</interceptor> | <interceptor>org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor</interceptor> | <interceptor>org.jboss.ejb.plugins.EntityLockInterceptor</interceptor> | <interceptor>org.jboss.ejb.plugins.EntityInstanceInterceptor</interceptor> | <interceptor>org.jboss.ejb.plugins.EntitySynchronizationInterceptor</interceptor> | </container-interceptors> | <instance-pool>org.jboss.ejb.plugins.EntityInstancePool</instance-pool> | <instance-cache>org.jboss.ejb.plugins.ClusterSyncEntityInstanceCache</instance-cache> | <persistence-manager>org.jboss.ejb.plugins.CMPClusteredInMemoryPersistenceManager</persistence-manager> | <locking-policy>org.jboss.ejb.plugins.lock.QueuedPessimisticEJBLock</locking-policy> | | <container-cache-conf> | <cache-policy>org.jboss.ejb.plugins.LRUEnterpriseContextCachePolicy</cache-policy> | <cache-policy-conf> | <min-capacity>50</min-capacity> | <max-capacity>1000000</max-capacity> | <overager-period>300</overager-period> | <max-bean-age>600</max-bean-age> | <resizer-period>400</resizer-period> | <max-cache-miss-period>60</max-cache-miss-period> | <min-cache-miss-period>1</min-cache-miss-period> | <cache-load-factor>0.75</cache-load-factor> | </cache-policy-conf> | </container-cache-conf> | <container-pool-conf> | <MinimumSize>10</MinimumSize> | <MaximumSize>100</MaximumSize> | </container-pool-conf> | <commit-option>A</commit-option> | <cluster-config> | <!-- NOTE - using DevPartition instead of DefaultPartition --> | <partition-name>DevPartition</partition-name> | </cluster-config> | <depends>jboss:service=DevPartition</depends> | <depends>jboss:service=invoker,type=jrmp</depends> | </container-configuration> | </container-configurations> | | </jboss> | jboss-service.xml of my SAR deployed in the deploy-hasingleton directory: | <?xml version="1.0" encoding="UTF-8"?> | | <server> | | <!-- MBean to hold all user messages received from the queue --> | <mbean code="com.harborsideplus.grover.mbean.AllUserMessages" | name="grover.mbean:service=AllUserMessages"> | </mbean> | | <!-- HASingletonController to run the above MBean as a singleton --> | <mbean code="org.jboss.ha.singleton.HASingletonController" | name="jboss.hasingleton:service=AllUserMessagesSingletonController"> | <depends>jboss:service=DevPartition</depends> | <depends>grover.mbean:service=AllUserMessages</depends> | <attribute name="TargetName">grover.mbean:service=AllUserMessages</attribute> | <attribute name="TargetStartMethod">startSingleton</attribute> | <attribute name="TargetStopMethod">stopSingleton</attribute> | </mbean> | | <!-- MBean to hold information for all users --> | <mbean code="com.harborsideplus.grover.mbean.AllUserInfo" | name="grover.mbean:service=AllUserInfo"> | </mbean> | | <!-- HASingletonController to run the above MBean as a singleton --> | <mbean code="org.jboss.ha.singleton.HASingletonController" | name="jboss.hasingleton:service=AllUserInfoSingletonController"> | <depends>jboss:service=DevPartition</depends> | <depends>grover.mbean:service=AllUserInfo</depends> | <attribute name="TargetName">grover.mbean:service=AllUserInfo</attribute> | <attribute name="TargetStartMethod">startSingleton</attribute> | <attribute name="TargetStopMethod">stopSingleton</attribute> | </mbean> | | <!-- MBean to provide user manager services --> | <mbean code="com.harborsideplus.grover.mbean.UserManager" | name="grover.mbean:service=UserManager"> | </mbean> | | <!-- HASingletonController to run the above MBean as a singleton --> | <mbean code="org.jboss.ha.singleton.HASingletonController" | name="jboss.hasingleton:service=UserManagerSingletonController"> | <depends>jboss:service=DevPartition</depends> | <depends>grover.mbean:service=UserManager</depends> | <attribute name="TargetName">grover.mbean:service=UserManager</attribute> | <attribute name="TargetStartMethod">startSingleton</attribute> | <attribute name="TargetStopMethod">stopSingleton</attribute> | </mbean> | | </server> | I am getting an exception complaining that the HASingletonController being used to control one of my singleton MBeans (as declared in the jboss-service.xml above) cannot find an HAPartition instance named DefaultPartition. However the partition name it should be looking for is DevPartition, as declared in all of the above .xml files. | 2004-09-30 16:29:45,955 ERROR [org.jboss.ha.singleton.HASingletonController] Starting failed jboss.hasingleton:service=AllUserMessagesSingletonController | javax.management.InstanceNotFoundException: Failed to find HAPartition with PartitionName=DefaultPartition | at org.jboss.ha.jmx.HAServiceMBeanSupport.findHAPartitionWithName(HAServiceMBeanSupport.java:388) | at org.jboss.ha.jmx.HAServiceMBeanSupport.setupPartition(HAServiceMBeanSupport.java:168) | at org.jboss.ha.jmx.HAServiceMBeanSupport.startService(HAServiceMBeanSupport.java:140) | at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:271) | at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:221) | at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source) | at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) | at java.lang.reflect.Method.invoke(Method.java:324) | at org.jboss.mx.server.ReflectedDispatcher.dispatch(ReflectedDispatcher.java:60) | at org.jboss.mx.server.Invocation.dispatch(Invocation.java:61) | at org.jboss.mx.server.Invocation.dispatch(Invocation.java:53) | at org.jboss.mx.server.Invocation.invoke(Invocation.java:86) | at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:185) | at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:473) | | and on and on and on... | Can anyone see that I've done something wrong in the above *.xml files ? Have I forgotten to do anything else which is necessary ? Thanks in advance for any help with this issue. --James View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=3850045#3850045 Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=3850045 |