1 Reply Latest reply on Nov 7, 2014 5:34 PM by jbertram

    jboss eap4.3 - identifying message listener source code

    deepanjboss

      Hello All,

       

      I have some applications deployed in jboss eap 4.3.

       

      In this, App1 has the below set of configuration files:

       

      1) connection-factories-service.xml

      2) destinations-service.xml

      3) jbm-bridge-service.xml

       

      Definitions for the SourceProviderLoader and TargetProviderLoader [declared in jbm-bridge-service.xml] are present in the deploy directory of App1 instance in the jboss server.

       

      As per my understanding, App1 sends out a message to the TargetProviderLoader applications through the JMSBridge configuration. And on receipt of the message some block of code executes.

       

      What I don't understand?

       

      1) Name mismatch between TargetProviderLoader name [defined in the deploy directory of App1 instance in the jboss server] and the App2 where it is declared. That is - In App1 the TargetProviderLoader's name is "OrderEngineRemoteJMSProvider" whereas in App2 it is named as "JMSProvider". But even though there is a mismatch the messages posted by App1 are rightly consumed by App2 when App2 is started.

       

      2) There is no SRC in App2 ie no java files present. I would like to understand how to identify the java files which executes after consuming the messages posted by App1.

       

      For better understanding I am giving the packaging type and deployment structure of App2.

       

      App2 structure[EAR file packaging type]:

       

      -APP-INF

          -classes

              -META-INF

                  -jboss-app.xml

          -lib

              -list of JARs

      -META-INF

          -MAVEN

              -FOLDER1

                  -FOLDER2

                      -pom.properties

                      -pom.xml

          -application.xml

          -jboss-app.xml

          -MANIFEST.MF

      -APP2.war

          -META-INF

              -MAVEN

                  -FOLDER1

                      -FOLDER2

                          -pom.properties

                          -pom.xml

              -MANIFEST.MF

          -WEB-INF

              -web.xml

              -cache-applicationContext.xml

              -configuration-applicationContext.xml

              -datasources-applicationContext.xml

              -jboss-web.xml

              -jms-applicationContext.xml

              -jmx-applicationContext.xml

              -omt-applicationContext.xml

              -quartz-applicationContext.xml

              -server-applicationContext.xml

              -stopwatch-applicationContext.xml

              -tmms-applicationContext.xml

              -transaction-applicationContext.xml

          -index.html

       

      My requirement is to track the complete set of Java source files which is responsible for acting on the messages posted by App1. Are there any configurations which I shall utilize to track the same. Does lib folder jars is my answer? Can anyone confirm?

       

      Any help/response is much appreciated.

       

      PS: Both these applications are deployed in the same instance of JBOSS EAP 4.3 server.

       

      Thanks.

        • 1. Re: jboss eap4.3 - identifying message listener source code
          jbertram

          ...In App1 the TargetProviderLoader's name is "OrderEngineRemoteJMSProvider" whereas in App2 it is named as "JMSProvider". But even though there is a mismatch the messages posted by App1 are rightly consumed by App2 when App2 is started.

          You need to provide some more information on this.  For example, could you attach the files which define the two providers as well as the bridge which uses them?

           

          There is no SRC in App2 ie no java files present. I would like to understand how to identify the java files which executes after consuming the messages posted by App1.

          Couple things here...

          • Read the documentation for your project and/or talk with the developer(s) who wrote it.
          • Find the source files for the project (most likely checked into source control somewhere) and scan it for code that uses the JMS API.
          • It looks like the project uses Spring so scan the Spring config files for anything that creates JMS related beans.