5 Replies Latest reply on Nov 6, 2012 3:42 PM by jbertram

    Supported ActivationConfigProperty list for MDBs

    wschroeder

      I've searched far and wide and can't seem to find an authoritative answer on whether all of the previous jboss specific MDB annotations are supported in 7.1.1.Final.  The JBoss EJB3 page includes a large list of jboss specific extension annotations that were introduced with general annotation support, some of which we use on our 4.2.3 servers, but I got the distinct impression that this was before the transition to hornetq.  The JBoss hornetq document I ran across (for JBoss 6, iirc) had a list of inbound configurable properties, but definitely not the complete set that 4.2.3's had.

       

      Did these go away or are they still supported?

       

      Our infrastructure currently follows the pattern of deployment specific sets of queues and datasources along side artifacts from our provisioning system.  I've tackled deployable datasources and got that working, but it seems that my only option for some of the more granular queue configuration items is to specify it in my main server xml configuration file or MDB annotations.  The XSD for messaging deployment items seems to only support a small subset of what is configurable inside the main xml.  MDB annotations appear to be my only path to do per-queue deployable configuration, and that isn't looking promising currently.

       

      Having said all that, it is not the end of the world to have to start managing an all-in-one configuration xml, but I would rather not have to add that to my requirements list in my current migration from 4.2.3.

       

      Wayne

        • 1. Re: Supported ActivationConfigProperty list for MDBs
          jbertram

          Can you be more specific about what you were using in the past and what you'd like to use now that you can't find?

          • 2. Re: Supported ActivationConfigProperty list for MDBs
            wschroeder

            Through just trying out the code before migrating settings to address-setting blocks, I found out that the useDLQ is supported, but DLQMaxResent and DLQJNDIName are not.  These two both have settings available in the address-settings configuration of the hornetq messaging subsystem.  I believe I have everything working. 

             

            Unfortunately, it's somewhat disapointing that the EJB3 MDB tutorial references now unsupported annotations. 

            http://docs.jboss.org/ejb3/docs/tutorial/1.0.7/html/Message_Driven_Beans.html

             

            I wonder if these will be supported in future or not?  From my reading of how hornetq and jboss as 7 work, it

            seems that many of these annotations do not fit well in the current glue that binds hornetq to jboss 7.

             

            Wayne

            • 3. Re: Supported ActivationConfigProperty list for MDBs
              jbertram

              Through just trying out the code before migrating settings to address-setting blocks, I found out that the useDLQ is supported, but DLQMaxResent and DLQJNDIName are not.

              The "useDLQ" activation configuration property is not supported by the HornetQ JCA RA.  Can you elaborate on why you believe that it is?

               

               

              Unfortunately, it's somewhat disapointing that the EJB3 MDB tutorial references now unsupported annotations.

              http://docs.jboss.org/ejb3/docs/tutorial/1.0.7/html/Message_Driven_Beans.html

              That tutorial is for JBoss AS 5.x.  It does not apply to AS7.  Those activation configuration properties were supported by the generic JMS JCA RA shipped with previous versions of JBoss AS (which is not shipped in AS7).

               

               

              I wonder if these will be supported in future or not?  From my reading of how hornetq and jboss as 7 work, it

              seems that many of these annotations do not fit well in the current glue that binds hornetq to jboss 7.

              There are no plans to support them, nor do I believe there is any need.

               

              What specifically are you trying to accomplish that you are unable to?

              • 4. Re: Supported ActivationConfigProperty list for MDBs
                wschroeder

                Justin Bertram wrote:

                 

                Through just trying out the code before migrating settings to address-setting blocks, I found out that the useDLQ is supported, but DLQMaxResent and DLQJNDIName are not.

                The "useDLQ" activation configuration property is not supported by the HornetQ JCA RA.  Can you elaborate on why you believe that it is?

                 

                 

                I left the annotation on my MDBs and it did not produce a warning message.  The others did--a warning clearly indicating they were not supported and had no effect.

                 

                 

                Justin Bertram wrote:

                Unfortunately, it's somewhat disapointing that the EJB3 MDB tutorial references now unsupported annotations.

                http://docs.jboss.org/ejb3/docs/tutorial/1.0.7/html/Message_Driven_Beans.html

                That tutorial is for JBoss AS 5.x.  It does not apply to AS7.  Those activation configuration properties were supported by the generic JMS JCA RA shipped with previous versions of JBoss AS (which is not shipped in AS7).

                 

                 

                I realize that now, having actually attempted to implement with them, but google brings that page up every time you search for jboss mdb annotations and it doesn't really advertise that it is 5.x specific.  It does *mention* 5.x, but that page really gives the overall impression, to me at least, that those annotations are a supported jboss extension for EJB3 in general.  Many people are coming directly from old versions of jboss and doing EJB3 and 3.1 on jboss for the first time, and it's somewhat of a surprise that the clearly documented EJB3 features that have been there for there since 4.2.3 are just gone now.

                 

                 

                Justin Bertram wrote:

                I wonder if these will be supported in future or not?  From my reading of how hornetq and jboss as 7 work, it

                seems that many of these annotations do not fit well in the current glue that binds hornetq to jboss 7.

                There are no plans to support them, nor do I believe there is any need.

                 

                What specifically are you trying to accomplish that you are unable to?

                 

                There is nothing that I cannot accomplish.  For every annotation that is now gone, there is an applicable address-setting or similar option in the configuration xml.  I simply removed the annotations and relocated the applicable configuration items.

                 

                Wayne

                • 5. Re: Supported ActivationConfigProperty list for MDBs
                  jbertram

                  I left the annotation on my MDBs and it did not produce a warning message.  The others did--a warning clearly indicating they were not supported and had no effect.

                  I'm not exactly sure why it didn't produce the same warning, but rest assured that it shouldn't be impacting anything.

                   

                   

                  I realize that now, having actually attempted to implement with them, but google brings that page up every time you search for jboss mdb annotations and it doesn't really advertise that it is 5.x specific.  It does *mention* 5.x, but that page really gives the overall impression, to me at least, that those annotations are a supported jboss extension for EJB3 in general.

                  With an application server which has been around as long as JBoss AS it's not a bad idea to use the major version number in your search (e.g. AS7).  If you just search for stuff like "jboss ejb3 annotations" you're bound to get old stuff.  In previous versions this wasn't always incorrect, but since so much is brand new in AS7 the old documentation just doesn't apply at all in most situations.  A wide range of quick-starts are available at http://www.jboss.org/jdf/quickstarts/jboss-as-quickstart/ and documentation about EJB3 annotations are available at https://docs.jboss.org/author/display/AS71/EJB+3+Reference+Guide.

                   

                  It's also worth noting that you aren't looking for annotations, per se.  You are looking for activation configuration properties for the MDB which is different than an annotation.  Activation configuration properties almost always depend on what JCA RA you are using with your MDB.  In AS7 MDBs use the HornetQ JCA RA by default which is why you should reference the HornetQ JCA RA documentation at http://docs.jboss.org/hornetq/2.2.14.Final/user-manual/en/html/appserver-integration.html#d0e7675.

                   

                   

                  There is nothing that I cannot accomplish.  For every annotation that is now gone, there is an applicable address-setting or similar option in the configuration xml.  I simply removed the annotations and relocated the applicable configuration items.

                  That's good to know.  Thanks.