14 Replies Latest reply on Apr 10, 2008 10:21 AM by Brian Stansberry

    Load balancing and dev environment

    Marcelo Alcantara Newbie

      Hi,

      I have searched the forums and the JBoss Clustering documentation for a while, but could not find the information I needed.

      We intend to use two servers in our partition and for that, we intend to keep each client on the same server it first connected.

      1) For that, I intend to use the org.jboss.ha.framework.interfaces.FirstAvailableIdenticalAllProxies load balancing configuration for JNDI HA and the EJBs.

      There is really no centralized way to do this configuration? Besides JNDI HA each EJB should be configurated individually?

      2) For the development environment, the idea, for not having to change the descriptors/annotations all the time, would be the load a single JBoss server with the clustering turned on?

      Thanks in advance for any help.

      Regards,

      Marcelo Alcantara

        • 1. Re: Load balancing and dev environment
          Marcelo Alcantara Newbie

          Hi,

          Can somebody give me a hand?

          Thanks

          • 3. Re: Load balancing and dev environment
            Marcelo Alcantara Newbie

            Hi Brian,

            We have both EJB2 and EJB3.

            Thanks, Marcelo

            • 4. Re: Load balancing and dev environment
              Brian Stansberry Master

              For EJB2, you can change the defaults in the conf/standardjboss.xml file. File contains a number of "container-configuration" elements; search for those that include a "cluster-config" subelement. Each is the default for a particular type of clustered EJB.

              <cluster-config>
               <partition-name>${jboss.partition.name:DefaultPartition}</partition-name>
              </cluster-config>


              You can change the default load balance polices by adding sub-elements:

              <cluster-config>
              <partition-name>${jboss.partition.name:DefaultPartition}</partition-name>
              <home-load-balance-policy>org.jboss.ha.framework.interfaces.FirstAvailableIdenticalAllProxies</home-load-balance-policy>
              <bean-load-balance-policy>org.jboss.ha.framework.interfaces.FirstAvailableIdenticalAllProxies</bean-load-balance-policy>
              </cluster-config>
              


              For EJB3 I don't see a clean way to override the default. It's configured via the deploy/ejb3-interceptors-aop.xml file. There's two sections

              <domain name="Stateless Bean">
               ......
              </domain>
              


              and

              <domain name="Stateful Bean">
               ......
              </domain>
              


              where perhaps you could try adding something like:

              <annotation expr="class(@org.jboss.annotation.ejb.Clustered)">
              @org.jboss.annotation.ejb.Clustered(loadBalancePolicy=org.jboss.ha.framework.interfaces.FirstAvailableIdenticalAllProxies.class)
              </annotation>
              


              i.e. attempt to override the annotation value for beans that have @Clustered. Don't know if that would work. If it does work it will remove the ability to annotate a particular class with different values from what you specify here.


              • 5. Re: Load balancing and dev environment
                Marcelo Alcantara Newbie

                Hi Brian,

                We are now finally putting out the cluster.

                I am receiving

                11:08:27,539 WARN [EJBContainer] Unable to replace @Clustered partition attribute null. Caused by class java.lang.NullPointerException null


                My ejb-interceptors-aop.xml was configured was we chatted:


                @org.jboss.annotation.ejb.Clustered(loadBalancePolicy=org.jboss.ha.framework.interfaces.FirstAvailab
                leIdenticalAllProxies.class)


                I saw this JIRA:

                http://jira.jboss.com/jira/browse/EJBTHREE-424

                Which reports to have fixed a problem very similar to this.

                Can you give me some hint?

                Thanks in advance.

                Marcelo




                • 6. Re: Load balancing and dev environment
                  Brian Stansberry Master

                  Hmm. Try

                  <annotation expr="class(@org.jboss.annotation.ejb.Clustered)">
                  @org.jboss.annotation.ejb.Clustered(loadBalancePolicy=org.jboss.ha.framework.interfaces.FirstAvailab
                  leIdenticalAllProxies.class,partitionName=DefaultPartition)
                  </annotation>
                  


                  replace the "DefaultPartition" with whatever you name your partition, if you're not using the default.

                  If that works and you don't want to hard code the partition name, you can try this to see if system property substitution will work:

                  <annotation expr="class(@org.jboss.annotation.ejb.Clustered)">
                  @org.jboss.annotation.ejb.Clustered(loadBalancePolicy=org.jboss.ha.framework.interfaces.FirstAvailab
                  leIdenticalAllProxies.class,partitionName=${jboss.partition.name:DefaultPartition})
                  </annotation>
                  


                  • 7. Re: Load balancing and dev environment
                    Marcelo Alcantara Newbie

                    Hi Brian,

                    I did some testing here. Follow my conclusions:

                    1)

                    <annotation expr="class(@org.jboss.annotation.ejb.Clustered)">
                    @org.jboss.annotation.ejb.Clustered(loadBalancePolicy=org.jboss.ha.framework.interfaces.FirstAvailableIdenticalAllProxies.class)
                    </annotation>
                    
                    11:08:27,539 WARN [EJBContainer] Unable to replace @Clustered partition attribute null. Caused by class java.lang.NullPointerException null
                    


                    2)
                    <annotation expr="class(@org.jboss.annotation.ejb.Clustered)">
                    @org.jboss.annotation.ejb.Clustered(loadBalancePolicy=org.jboss.ha.framework.interfaces.FirstAvailableIdenticalAllProxies.class,partition=CorrectPartitionName)
                    </annotation>
                    
                    Works ok.
                    


                    3)
                    <annotation expr="class(@org.jboss.annotation.ejb.Clustered)">
                    @org.jboss.annotation.ejb.Clustered(loadBalancePolicy=org.jboss.ha.framework.interfaces.FirstAvailableIdenticalAllProxies.class,partition=${jboss.partition.name:DefaultPartition})
                    </annotation>
                    
                    Big RuntimeException saying it does not understand the line.
                    


                    Then, my conclusion is that is doesn't substitute the line. And it does not get the partition name set on the command line (-g partitionName).

                    The 2) is not an option, because we have a lot of developers here that load a local JBoss for testing, then everybody should have a different partition name (we are using -g %COMPUTERNAME%).

                    Do you have any ideas to work around this?

                    Thanks again.

                    Marcelo

                    • 8. Re: Load balancing and dev environment
                      Brian Stansberry Master

                      What AS release? If not 4.2.0 or later, can you try 4.2.0 or later?

                      • 10. Re: Load balancing and dev environment
                        Brian Stansberry Master

                        OK, that should have the EJBTHREE-424 fix in it, which actually makes "${jboss.partition.name:DefaultPartition}" the default value for @Clustered.partition(). So the EJB3 container can handle that value if it actually gets set.

                        Please post the details of the "Big RuntimeException saying it does not understand the line" when you try #3.

                        • 11. Re: Load balancing and dev environment
                          Marcelo Alcantara Newbie

                          Hi Brian,

                          Follows the exception:

                          2008-04-09 16:46:55,783 ERROR [STDERR] [error] @org.jboss.annotation.ejb.Clustered(loadBalancePolicy=org.jboss.ha.framework.interfaces.FirstAvailableIdenticalAllProxies.class,partition=${jboss.partition.name:DefaultPartition}) file:/C:/testes_jboss/hg_jboss-4.2.2.GA_v3_denivaldo/server/node1/tmp/deploy/tmp23824ejb3-interceptors-aop.xml
                          2008-04-09 16:46:55,783 ERROR [STDERR] java.lang.RuntimeException: java.lang.RuntimeException: @org.jboss.annotation.ejb.Clustered(loadBalancePolicy=org.jboss.ha.framework.interfaces.FirstAvailableIdenticalAllProxies.class,partition=${jboss.partition.name:DefaultPartition})
                          2008-04-09 16:46:55,783 ERROR [STDERR] at org.jboss.aop.AspectXmlLoader.deployXML(AspectXmlLoader.java:892)
                          2008-04-09 16:46:55,783 ERROR [STDERR] at org.jboss.aop.AspectXmlLoader.deploy(AspectXmlLoader.java:1210)
                          2008-04-09 16:46:55,783 ERROR [STDERR] at org.jboss.aop.AspectXmlLoader.deployXML(AspectXmlLoader.java:1236)
                          2008-04-09 16:46:55,783 ERROR [STDERR] at org.jboss.aop.deployment.AspectDeployer.create(AspectDeployer.java:177)
                          2008-04-09 16:46:55,783 ERROR [STDERR] at org.jboss.deployment.MainDeployer.create(MainDeployer.java:969)
                          2008-04-09 16:46:55,783 ERROR [STDERR] at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:818)
                          2008-04-09 16:46:55,783 ERROR [STDERR] at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:782)
                          2008-04-09 16:46:55,783 ERROR [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                          2008-04-09 16:46:55,783 ERROR [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
                          2008-04-09 16:46:55,783 ERROR [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                          2008-04-09 16:46:55,783 ERROR [STDERR] at java.lang.reflect.Method.invoke(Method.java:585)
                          2008-04-09 16:46:55,783 ERROR [STDERR] at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
                          2008-04-09 16:46:55,798 ERROR [STDERR] at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
                          2008-04-09 16:46:55,798 ERROR [STDERR] at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
                          2008-04-09 16:46:55,798 ERROR [STDERR] at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
                          2008-04-09 16:46:55,798 ERROR [STDERR] at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
                          2008-04-09 16:46:55,798 ERROR [STDERR] at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
                          2008-04-09 16:46:55,798 ERROR [STDERR] at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
                          2008-04-09 16:46:55,798 ERROR [STDERR] at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
                          2008-04-09 16:46:55,798 ERROR [STDERR] at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
                          2008-04-09 16:46:55,798 ERROR [STDERR] at $Proxy9.deploy(Unknown Source)
                          2008-04-09 16:46:55,798 ERROR [STDERR] at org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:421)
                          2008-04-09 16:46:55,798 ERROR [STDERR] at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:634)
                          2008-04-09 16:46:55,814 ERROR [STDERR] at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:263)
                          2008-04-09 16:46:55,814 ERROR [STDERR] at org.jboss.deployment.scanner.AbstractDeploymentScanner.startService(AbstractDeploymentScanner.java:336)
                          2008-04-09 16:46:55,814 ERROR [STDERR] at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:289)
                          2008-04-09 16:46:55,814 ERROR [STDERR] at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:245)
                          2008-04-09 16:46:55,814 ERROR [STDERR] at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
                          2008-04-09 16:46:55,814 ERROR [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                          2008-04-09 16:46:55,814 ERROR [STDERR] at java.lang.reflect.Method.invoke(Method.java:585)
                          2008-04-09 16:46:55,814 ERROR [STDERR] at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
                          2008-04-09 16:46:55,814 ERROR [STDERR] at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
                          2008-04-09 16:46:55,829 ERROR [STDERR] at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
                          2008-04-09 16:46:55,829 ERROR [STDERR] at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
                          2008-04-09 16:46:55,829 ERROR [STDERR] at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
                          2008-04-09 16:46:55,829 ERROR [STDERR] at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:978)
                          2008-04-09 16:46:55,829 ERROR [STDERR] at $Proxy0.start(Unknown Source)
                          2008-04-09 16:46:55,829 ERROR [STDERR] at org.jboss.system.ServiceController.start(ServiceController.java:417)
                          2008-04-09 16:46:55,829 ERROR [STDERR] at sun.reflect.GeneratedMethodAccessor12.invoke(Unknown Source)
                          2008-04-09 16:46:55,829 ERROR [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                          2008-04-09 16:46:55,829 ERROR [STDERR] at java.lang.reflect.Method.invoke(Method.java:585)
                          2008-04-09 16:46:55,829 ERROR [STDERR] at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
                          2008-04-09 16:46:55,829 ERROR [STDERR] at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
                          2008-04-09 16:46:55,829 ERROR [STDERR] at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
                          2008-04-09 16:46:55,829 ERROR [STDERR] at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
                          2008-04-09 16:46:55,845 ERROR [STDERR] at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
                          2008-04-09 16:46:55,845 ERROR [STDERR] at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
                          2008-04-09 16:46:55,845 ERROR [STDERR] at $Proxy4.start(Unknown Source)
                          2008-04-09 16:46:55,845 ERROR [STDERR] at org.jboss.deployment.SARDeployer.start(SARDeployer.java:302)
                          2008-04-09 16:46:55,845 ERROR [STDERR] at org.jboss.deployment.MainDeployer.start(MainDeployer.java:1025)
                          2008-04-09 16:46:55,845 ERROR [STDERR] at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:819)
                          2008-04-09 16:46:55,845 ERROR [STDERR] at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:782)
                          2008-04-09 16:46:55,845 ERROR [STDERR] at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:766)
                          2008-04-09 16:46:55,845 ERROR [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                          2008-04-09 16:46:55,845 ERROR [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
                          2008-04-09 16:46:55,845 ERROR [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                          2008-04-09 16:46:55,845 ERROR [STDERR] at java.lang.reflect.Method.invoke(Method.java:585)
                          2008-04-09 16:46:55,845 ERROR [STDERR] at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
                          2008-04-09 16:46:55,861 ERROR [STDERR] at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
                          2008-04-09 16:46:55,861 ERROR [STDERR] at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
                          2008-04-09 16:46:55,861 ERROR [STDERR] at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
                          2008-04-09 16:46:55,861 ERROR [STDERR] at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
                          2008-04-09 16:46:55,861 ERROR [STDERR] at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
                          2008-04-09 16:46:55,861 ERROR [STDERR] at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
                          2008-04-09 16:46:55,861 ERROR [STDERR] at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
                          2008-04-09 16:46:55,861 ERROR [STDERR] at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
                          2008-04-09 16:46:55,861 ERROR [STDERR] at $Proxy5.deploy(Unknown Source)
                          2008-04-09 16:46:55,861 ERROR [STDERR] at org.jboss.system.server.ServerImpl.doStart(ServerImpl.java:482)
                          2008-04-09 16:46:55,861 ERROR [STDERR] at org.jboss.system.server.ServerImpl.start(ServerImpl.java:362)
                          2008-04-09 16:46:55,861 ERROR [STDERR] at org.jboss.Main.boot(Main.java:200)
                          2008-04-09 16:46:55,861 ERROR [STDERR] at org.jboss.Main$1.run(Main.java:508)
                          2008-04-09 16:46:55,876 ERROR [STDERR] at java.lang.Thread.run(Thread.java:595)
                          2008-04-09 16:46:55,876 ERROR [STDERR] Caused by: java.lang.RuntimeException: @org.jboss.annotation.ejb.Clustered(loadBalancePolicy=org.jboss.ha.framework.interfaces.FirstAvailableIdenticalAllProxies.class,partition=${jboss.partition.name:DefaultPartition})
                          2008-04-09 16:46:55,876 ERROR [STDERR] at org.jboss.aop.introduction.AnnotationIntroduction.<init>(AnnotationIntroduction.java:98)
                          2008-04-09 16:46:55,876 ERROR [STDERR] at org.jboss.aop.introduction.AnnotationIntroduction.createComplexAnnotationIntroduction(AnnotationIntroduction.java:75)
                          2008-04-09 16:46:55,876 ERROR [STDERR] at org.jboss.aop.AspectXmlLoader.loadAnnotationIntroduction(AspectXmlLoader.java:712)
                          2008-04-09 16:46:55,876 ERROR [STDERR] at org.jboss.aop.AspectXmlLoader.deployAnnotationOverride(AspectXmlLoader.java:681)
                          2008-04-09 16:46:55,876 ERROR [STDERR] at org.jboss.aop.AspectXmlLoader.deployTopElements(AspectXmlLoader.java:1058)
                          2008-04-09 16:46:55,876 ERROR [STDERR] at org.jboss.aop.AspectXmlLoader.deployDomain(AspectXmlLoader.java:952)
                          2008-04-09 16:46:55,876 ERROR [STDERR] at org.jboss.aop.AspectXmlLoader.deployTopElements(AspectXmlLoader.java:1066)
                          2008-04-09 16:46:55,892 ERROR [STDERR] at org.jboss.aop.AspectXmlLoader.deployXML(AspectXmlLoader.java:886)
                          2008-04-09 16:46:55,892 ERROR [STDERR] ... 71 more
                          2008-04-09 16:46:55,892 ERROR [STDERR] Caused by: org.jboss.aop.annotation.ast.ParseException: Encountered "{" at line 1, column 140.
                          Was expecting one of:
                           ")" ...
                           "," ...
                          
                          2008-04-09 16:46:55,892 ERROR [STDERR] at org.jboss.aop.annotation.ast.AnnotationParser.generateParseException(AnnotationParser.java:700)
                          2008-04-09 16:46:55,892 ERROR [STDERR] at org.jboss.aop.annotation.ast.AnnotationParser.jj_consume_token(AnnotationParser.java:583)
                          2008-04-09 16:46:55,892 ERROR [STDERR] at org.jboss.aop.annotation.ast.AnnotationParser.Annotation(AnnotationParser.java:114)
                          2008-04-09 16:46:55,892 ERROR [STDERR] at org.jboss.aop.annotation.ast.AnnotationParser.Start(AnnotationParser.java:33)
                          2008-04-09 16:46:55,908 ERROR [STDERR] at org.jboss.aop.introduction.AnnotationIntroduction.<init>(AnnotationIntroduction.java:93)
                          2008-04-09 16:46:55,908 ERROR [STDERR] ... 78 more
                          2008-04-09 16:46:55,908 ERROR [org.jboss.deployment.MainDeployer] Could not create deployment: file:/C:/testes_jboss/hg_jboss-4.2.2.GA_v3_denivaldo/server/node1/deploy/ejb3-interceptors-aop.xml
                          org.jboss.deployment.DeploymentException: java.lang.RuntimeException: @org.jboss.annotation.ejb.Clustered(loadBalancePolicy=org.jboss.ha.framework.interfaces.FirstAvailableIdenticalAllProxies.class,partition=${jboss.partition.name:DefaultPartition}); - nested throwable: (java.lang.RuntimeException: java.lang.RuntimeException: @org.jboss.annotation.ejb.Clustered(loadBalancePolicy=org.jboss.ha.framework.interfaces.FirstAvailableIdenticalAllProxies.class,partition=${jboss.partition.name:DefaultPartition}))
                           at org.jboss.aop.deployment.AspectDeployer.create(AspectDeployer.java:185)
                           at org.jboss.deployment.MainDeployer.create(MainDeployer.java:969)
                           at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:818)
                           at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:782)
                           at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                           at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
                           at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                           at java.lang.reflect.Method.invoke(Method.java:585)
                           at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
                           at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
                           at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
                           at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
                           at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
                           at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
                           at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
                           at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
                           at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
                           at $Proxy9.deploy(Unknown Source)
                           at org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:421)
                           at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:634)
                           at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:263)
                           at org.jboss.deployment.scanner.AbstractDeploymentScanner.startService(AbstractDeploymentScanner.java:336)
                           at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:289)
                           at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:245)
                           at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
                           at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                           at java.lang.reflect.Method.invoke(Method.java:585)
                           at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
                           at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
                           at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
                           at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
                           at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
                           at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:978)
                           at $Proxy0.start(Unknown Source)
                           at org.jboss.system.ServiceController.start(ServiceController.java:417)
                           at sun.reflect.GeneratedMethodAccessor12.invoke(Unknown Source)
                           at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                           at java.lang.reflect.Method.invoke(Method.java:585)
                           at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
                           at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
                           at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
                           at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
                           at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
                           at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
                           at $Proxy4.start(Unknown Source)
                           at org.jboss.deployment.SARDeployer.start(SARDeployer.java:302)
                           at org.jboss.deployment.MainDeployer.start(MainDeployer.java:1025)
                           at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:819)
                           at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:782)
                           at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:766)
                           at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                           at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
                           at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                           at java.lang.reflect.Method.invoke(Method.java:585)
                           at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
                           at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
                           at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
                           at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
                           at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
                           at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
                           at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
                           at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
                           at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
                           at $Proxy5.deploy(Unknown Source)
                           at org.jboss.system.server.ServerImpl.doStart(ServerImpl.java:482)
                           at org.jboss.system.server.ServerImpl.start(ServerImpl.java:362)
                           at org.jboss.Main.boot(Main.java:200)
                           at org.jboss.Main$1.run(Main.java:508)
                           at java.lang.Thread.run(Thread.java:595)
                          Caused by: java.lang.RuntimeException: java.lang.RuntimeException: @org.jboss.annotation.ejb.Clustered(loadBalancePolicy=org.jboss.ha.framework.interfaces.FirstAvailableIdenticalAllProxies.class,partition=${jboss.partition.name:DefaultPartition})
                           at org.jboss.aop.AspectXmlLoader.deployXML(AspectXmlLoader.java:892)
                           at org.jboss.aop.AspectXmlLoader.deploy(AspectXmlLoader.java:1210)
                           at org.jboss.aop.AspectXmlLoader.deployXML(AspectXmlLoader.java:1236)
                           at org.jboss.aop.deployment.AspectDeployer.create(AspectDeployer.java:177)
                           ... 68 more
                          Caused by: java.lang.RuntimeException: @org.jboss.annotation.ejb.Clustered(loadBalancePolicy=org.jboss.ha.framework.interfaces.FirstAvailableIdenticalAllProxies.class,partition=${jboss.partition.name:DefaultPartition})
                           at org.jboss.aop.introduction.AnnotationIntroduction.<init>(AnnotationIntroduction.java:98)
                           at org.jboss.aop.introduction.AnnotationIntroduction.createComplexAnnotationIntroduction(AnnotationIntroduction.java:75)
                           at org.jboss.aop.AspectXmlLoader.loadAnnotationIntroduction(AspectXmlLoader.java:712)
                           at org.jboss.aop.AspectXmlLoader.deployAnnotationOverride(AspectXmlLoader.java:681)
                           at org.jboss.aop.AspectXmlLoader.deployTopElements(AspectXmlLoader.java:1058)
                           at org.jboss.aop.AspectXmlLoader.deployDomain(AspectXmlLoader.java:952)
                           at org.jboss.aop.AspectXmlLoader.deployTopElements(AspectXmlLoader.java:1066)
                           at org.jboss.aop.AspectXmlLoader.deployXML(AspectXmlLoader.java:886)
                           ... 71 more
                          Caused by: org.jboss.aop.annotation.ast.ParseException: Encountered "{" at line 1, column 140.
                          Was expecting one of:
                           ")" ...
                           "," ...
                          
                           at org.jboss.aop.annotation.ast.AnnotationParser.generateParseException(AnnotationParser.java:700)
                           at org.jboss.aop.annotation.ast.AnnotationParser.jj_consume_token(AnnotationParser.java:583)
                           at org.jboss.aop.annotation.ast.AnnotationParser.Annotation(AnnotationParser.java:114)
                           at org.jboss.aop.annotation.ast.AnnotationParser.Start(AnnotationParser.java:33)
                           at org.jboss.aop.introduction.AnnotationIntroduction.<init>(AnnotationIntroduction.java:93)
                           ... 78 more


                          • 12. Re: Load balancing and dev environment
                            Brian Stansberry Master

                            Ah, probably value should be quoted:

                            <annotation expr="class(@org.jboss.annotation.ejb.Clustered)">
                            @org.jboss.annotation.ejb.Clustered(loadBalancePolicy=org.jboss.ha.framework.interfaces.FirstAvailab
                            leIdenticalAllProxies.class,partition="${jboss.partition.name:DefaultPartition}")
                            </annotation>
                            


                            • 13. Re: Load balancing and dev environment
                              Marcelo Alcantara Newbie

                              Brian,

                              It worked fine now.

                              Thank you very much for the help.

                              I want to get more knowledge on the JBoss AOP configurations. Should I search the JBoss AOP project for that? I could not find much lately.

                              Marcelo

                              • 14. Re: Load balancing and dev environment
                                Brian Stansberry Master

                                Yes, I'd look at AOP and probably EJB3 as well. I'm not too familiar with the aop-related docs, so can't give any specific advice.