4 Replies Latest reply on Oct 7, 2003 2:01 PM by tslusser

    Implementing a new JMS Provider

    bjornsvenson

      I am attempting to implement a message driven bean. In general, this is quite simple. The hitch is that I'm attempting to have the MDB listen to a Queue residing on an Oracle AQ server.

      I've had two thoughts on how to implement this: 1) write MBeans which register a Queue and QueueConnectionFacotory in JNDI and define the MDB to access them accordingly. and 2) write a new JMSProviderAdapter specific to Oracle AQ.

      I've started down the path of writing an MBean, but this seems to not be the correct way as I'm seeing ClassCastExceptions converting a oracle.jms.AQjmsDestination into a javax.jms.Queue somewhere in org.jboss.ejb.MessageDrivenContainer.init().

      So, before I proceeded any further I wanted to get some outside opinions. Am I close to a solution as I am implementing an MBean or do I need to write a new JMS Adapter?

      In addition, can this even be done?

      Thanks for any help / suggestions on this matter.

      colin.

        • 1. Re: Implementing a new JMS Provider
          vineet

          Hi Colin
          I suggest that u write a JMS Adpater .It is infact Quite simple to write. U may however face a problem while looking up the topics. As far as I have worked JBOSS prefixes topic/ to the topic name . that is i gather is for JNDI bindings(I am not very sure). So the problem is that if ur JMS provider does not allow topic names with topic/ in them or for that matter any other escape character u will have to remove it in JMS runtime . if however the JMS Provider has a provision for this i think that u shud not face any problem

          Regards
          Vineet

          • 2. Re: Implementing a new JMS Provider
            cmcromwell

            Hi. I have currently been task to write an MDB wih JBoss to access an Oracle AQ server as well. Could you share your expierence with getting your to work, if you did. Do I have to write my own Provider?

            Thanks for any help Chad

            • 3. Re: Implementing a new JMS Provider
              cmcromwell

              Hi. I have currently been task to write an MDB wih JBoss to access an Oracle AQ server as well. Could you share your expierence with getting your to work, if you did. Do I have to write my own Provider?

              Thanks for any help Chad

              • 4. 3855155
                tslusser

                Hello,

                While I have not used Oracle AQ specifically I did configure Jboss MDB to listen to a third party JMS Queue (SeeBeyond eGate). I accomplished this by creating an MBean just as you mentioned. I did run into the class cast exception error also. This was fixed by getting an update to the JMS client implementation from SeeBeyond.

                Perhaps their is an update to the Oracle JMS client implementation.

                SonicMQ, for example, does provide a custom JMS Provider. I think this is due to a requirement that connections remain associated with their spawned sessions. If this is a requirement for Oracle AQ then you may be forced to write your own JMS Provider. Although if Oracle provides a JCA resource adaptor that would be your best bet I think.

                Good Luck!