14 Replies Latest reply on Apr 10, 2008 10:21 AM by brian.stansberry

    Load balancing and dev environment

    maralcbr

      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
          maralcbr

          Hi,

          Can somebody give me a hand?

          Thanks

          • 2. Re: Load balancing and dev environment
            brian.stansberry

            Are your beans EJB2 or EJB3?

            • 3. Re: Load balancing and dev environment
              maralcbr

              Hi Brian,

              We have both EJB2 and EJB3.

              Thanks, Marcelo

              • 4. Re: Load balancing and dev environment
                brian.stansberry

                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
                  maralcbr

                  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

                    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
                      maralcbr

                      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

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

                        • 9. Re: Load balancing and dev environment
                          maralcbr

                          4.2.2.GA

                          Marcelo

                          • 10. Re: Load balancing and dev environment
                            brian.stansberry

                            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
                              maralcbr

                              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

                                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
                                  maralcbr

                                  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

                                    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.