Version 2

    ActiveMq Qualification

     

    Instructions for configuring ActiveMq, JBossESB and Trailblazer.

     

    Requirements

     

    1. JBossESB - the current code base release.

    2. JBoss 4.0.4 GA

    3. ActiveMq 4.0.1

     

    Background

     

    These instructions were formed from background material from the ActiveMq Site

     

     

    Instructions

     

    1. Download ActiveMq 4.0.1

    2. Delete <jboss-home>/server/default/deploy/jms

    3. Copy <activemq-install>/lib/optional/activemq-ra-4.0.1.rar to <jboss-home>/server/default/deploy and copy panacya-jms-ds.xml to <jboss-home>/server/default/deploy

    4. Edit the file panacya-jms-ds.xml that was downloaded in the previous step and rename all references from activemq-ra-1.4.rar to activemq-ra-4.0.1.rar

    5. Modify <jboss-home>/server/default/deploy/panacya-jms-ds.xml and add the following:

     

     

       

    1. Start ActiveMq <activemq-install>/bin/activemq (chmod +x if the start script is not executable)

    2. Start JBoss (4.0.4.G.A with ejb3 profile as per TB's requirement) you should not see any errors.

     

    Class Modification

     

    Modify the following classes

    1. GpsListener

    2. JmsQueueListener

    3. NotifyQueues

    4. Instead of using the context/jndi to look up the ConnectionFactory, like:

     

    QueueConnectionFactory factory = (QueueConnectionFactory)

    ctx.lookup("ConnectionFactory");

     

    Use ActiveMqs directly:

     

    ActiveMQConnectionFactory factory = new ActiveMQConnectionFactory("tcp://localhost:61616");

     

    Then you can do

     

    factory.createQueueConnection()

     

    Build/Deploy JBossESB. Since the code now contains a references to

    an ActiveMq class, remmber to include them as part of the classpath when

    compiling from <activemq-install>/lib

     

    Trailblazer Install/Integration Instructions

     

    1. Same as above, modify the following classes when looking up the

    Connection Factory:

      1. ManagerJMS

      2. LoanBrokerWS

      3. LoanBrokerConfig.xml

      4. ProcessCreditResponse

     

    1. Modify the classpath for compiling and running the ant tasks runListener and runJMSListener and add <activemq-install>/lib

     

    1. JNDI names will need to be modified inside the LoanBrokerConfig.xml

    and inside banks/bank.properties. The JNDI name for the queues are:

      1. activemq/queue/A

      2. activemq/queue/B

      3. activemq/queue/C

      4. activemq/queue/D

     

    -


    Issues

    The recompilation of classes is partly stemming from javax.naming.NameNotFoundException: activemq/QueueConnectionFactory.

    If this is resolved we can simply use properties and a jndi.properties file to dynamically configure which jms we use. But having said that, if we are going to be using ActiveMq classes as plugins, they will need their dependant libs in the classpath.

     

    Next Steps

    1. See if we can resolve the jndi issues time permitting.

    2. Consider using a plugin approach for the jms provider.