5 Replies Latest reply on Apr 9, 2008 3:11 PM by brian.stansberry

    not a single clustered-invoker...

      I am having some trouble getting some BMP Entity beans to cluster properly, with JBoss 3.2.3

      I have set up two nodes with the 'all' configuration. One node is running on Windows, so I have set the loopback attribute to 'True' in cluster-service.xml. All the other configuration is pretty much standard though.

      My stateless session beans are clustering ok, as evidenced by the following lines in server.log;

      2004-05-20 17:11:31,113 DEBUG [DefaultPartition:ReplicantManager] _add(jboss.j2ee:jndiName=ejb/Customer,service=EJB, 10.40.5.243:1099
      2004-05-20 17:11:31,113 DEBUG [DefaultPartition:ReplicantManager] notifyKeyListeners
      2004-05-20 17:11:31,114 DEBUG [DefaultPartition:ReplicantManager] notifying 2 listeners for key change: jboss.j2ee:jndiName=ejb/Customer,service=EJB
      2


      server.log has this to say about the entity beans though;

      2004-05-20 18:21:01,441 INFO [org.jboss.ejb.EjbModule] Deploying Company
      2004-05-20 18:21:01,521 WARN [org.jboss.ejb.EntityContainer] *** EJB 'Company' deployed as CLUSTERED but not a single clustered-invoker is bound to container ***


      The jboss.xml descriptors for the entity beans are as follows;

      <entity>
       <ejb-name>Company</ejb-name>
       <jndi-name>Company</jndi-name>
       <cache-invalidation>True</cache-invalidation>
       <cache-invalidation-config>
       <invalidation-group-name>COMPANY</invalidation-group-name>
       </cache-invalidation-config>
       <configuration-name>Clustered BMP EntityBean</configuration-name>
       <clustered>True</clustered>
       </entity>
      


      It's probably also worth noting that the entity beans only have local interfaces and not remote ones.

      Any ideas what I am doing wrong?

      P.S. I have purchased the clustering documentation which has been broadly helpful, but there is a huge gap in documentation of the JGroups / PartitionConfig section in cluster-service.xml. JGroups own documentation is generally to broad and aimed at the developer... It's hard to sift anything specifically useful too the JBoss configuration out of it. Are there any plans to update the clustering documentation soon?

        • 1. Re: not a single clustered-invoker...

          Hmm... not much response to that... After a bit of googling, I've discovered that I'm not the only person to find this particular error anyway.

          http://www.junlu.com/msg/36581.html

          The solution for one person seemed to be to specify a different configuration name, but "Clustered BMP EntityBean" seems appropriate for what I am doing.

          This post also mentions an "<invoker-bindings>" tag and talks about detached invokers, but the only reference to invokers in the Clustering docs is an obscure footnote in the overview. There is more in the Administration and Development manual, but there is a lot of material to get through there.

          Within the Clustered BMP EntityBean element in standardjboss.xml there is one sub-element that appears to configure an invoker.

          <invoker-proxy-binding-name>clustered-entity-rmi-invoker</invoker-proxy-binding-name>


          Could this be at all relevant?

          • 2. Re: not a single clustered-invoker...

            It occurs to me that my problem might be just that my entity beans only have local interfaces and no remote interfaces. Is it possible to cluster beans that only have local interfaces? Or are beans required to have remote interfaces for cluustering to work?

            • 3. Re: not a single clustered-invoker...

              It is the lack of remote interfaces that is the problem. I created a session bean with local interfaces only, and configured for clustering, and got exactly the same error message.
              I added remote and remote home interfaces for one of my entity beans and it solved the problem.

              • 4. Re: not a single clustered-invoker...
                maralcbr

                Hi,

                Can someone confirm the information from this last post from Bruce?

                I am having the same problem with the default JBoss configurations.

                I am using JBoss 4.2.2G.A. and the beans that are giving the errors are from EJB 2.

                Should EJBs 2 have a remote interface to enable clustering on them? And EJBs 3? They should also? I have many ejbs 3 that have just local interfaces and they deploy fine.


                Thanks in advance for any comments.

                Marcelo

                • 5. Re: not a single clustered-invoker...
                  brian.stansberry

                  A clustered bean without a remote interface doesn't make sense. The reason you cluster a bean is so a client can load balance calls to multiple servers and fail over to a different server if one fails. Both imply remote calls.