1 2 Previous Next 20 Replies Latest reply on Sep 29, 2010 12:36 PM by imitchell

    JBoss ESB 4.8 in Eclipse

    imitchell

      Hi - I am having some difficulty with the sendEsbMessage quickstart when running the client from Eclipse Galileo (the sendJMSMessage test client works fine).

       

      I am using the following versions:

      On Linux

      ESB 4.8

      AS jboss-6.0.0.20100216-M2

       

      On Windows 7:

      Eclipse Galileo

       

      One obvious note is that when I create ESB Projects the wizard does not provide "ESB 4.8" as a selection - it only goes to 4.7.

       

      Does anyone know:

      If the 4.7 vs. 4.8 ESB is an issue on Galileo

      If ESB 4.8 is supported on Galileo

      If there is a workaround (tweaking classpaths)

      When ESB 4.8 will be supported in Eclipse Galileo (or other Eclipse clients)

       

      Below is the error:

      log4j:WARN No appenders could be found for logger (org.jboss.soa.esb.services.registry.RegistryFactory).
      log4j:WARN Please initialize the log4j system properly.
      Exception in thread "main" org.jboss.soa.esb.listeners.message.MessageDeliverException: java.lang.reflect.InvocationTargetException
      at org.jboss.soa.esb.client.ServiceInvoker.loadServiceClusterInfo(ServiceInvoker.java:545)
      at org.jboss.soa.esb.client.ServiceInvoker.<init>(ServiceInvoker.java:174)
      at org.jboss.soa.esb.client.ServiceInvoker.<init>(ServiceInvoker.java:155)
      at org.jboss.soa.esb.client.ServiceInvoker.<init>(ServiceInvoker.java:197)
      at org.jboss.soa.esb.samples.quickstart.helloworld.test.SendEsbMessage.main(SendEsbMessage.java:56)
      Caused by: org.jboss.soa.esb.services.registry.RegistryException: java.lang.reflect.InvocationTargetException
      at org.jboss.internal.soa.esb.services.registry.JAXRRegistryImpl.findEPRs(JAXRRegistryImpl.java:348)
      at org.jboss.internal.soa.esb.services.registry.InVMRegistryInterceptor.findEPRs(InVMRegistryInterceptor.java:85)
      at org.jboss.soa.esb.services.registry.RegistryFactory$HeadRegistryInterceptor.findEPRs(RegistryFactory.java:229)
      at org.jboss.soa.esb.listeners.RegistryUtil.getEprs(RegistryUtil.java:226)
      at org.jboss.soa.esb.client.ServiceInvoker.loadServiceClusterInfo(ServiceInvoker.java:532)
      ... 4 more
      Caused by: javax.xml.registry.JAXRException: java.lang.reflect.InvocationTargetException
      at org.apache.ws.scout.registry.BusinessQueryManagerImpl.findConcepts(BusinessQueryManagerImpl.java:542)
      at org.jboss.internal.soa.esb.services.registry.JAXRRegistryImpl.getJBossESBTModel(JAXRRegistryImpl.java:653)
      at org.jboss.internal.soa.esb.services.registry.JAXRRegistryImpl.findEPRs(JAXRRegistryImpl.java:307)
      ... 8 more

       

      Thanks for your time,

      Ian

        • 1. Re: JBoss ESB 4.8 in Eclipse
          bfitzpat

          Hi Ian,

           

          I can't speak to the issue you've encountered in ESB 4.8, but I can speak to the tooling around it. A decision was made to support ESB 4.7 in JBoss Tools 3.1 and then we make a jump to ESB 4.9 in JBoss Tools 3.2, which should be out in the next few months. So we definitely don't have any explicit support for ESB 4.8 for Galileo or Helios.

           

          That's probably not the answer you were looking for.

           

          --Fitz

          • 2. Re: JBoss ESB 4.8 in Eclipse
            maxandersen

            ...but what is so special about 4.8 that choosing 4.7 doesn't work ?

             

            The number doesn't really force some 4.7 specific functionallity does it ?

            • 3. Re: JBoss ESB 4.8 in Eclipse
              bfitzpat

              Yeah, I'm not sure. I have a question out to the ESB folks now to see if they can shed some light...

              • 4. Re: JBoss ESB 4.8 in Eclipse
                tfennelly

                The 4.7 compatible configuration would work fine on v4.8 or v4.9.  From the suers perspective, I guess it just means they can not use the tooling to configure features added in the 4.8 Schema.

                • 5. Re: JBoss ESB 4.8 in Eclipse
                  imitchell

                  Sorry guys, but I guess I need Tom's explanation put into terms that a newbie can understand!

                  • 6. Re: JBoss ESB 4.8 in Eclipse
                    bfitzpat

                    Well, I think he's saying (Tom, correct me if I'm wrong) that if you have a 4.7 ESB configuration, it'll work in 4.8 or 4.9 just fine. The JBoss Tools Galileo tooling will allow you to create a 4.7 compatible configuration, which should work on an ESB 4.8 runtime.

                     

                    Are you adding any 4.8-specific features to your configuration?

                    • 7. Re: JBoss ESB 4.8 in Eclipse
                      imitchell

                      I need just one more bit of clarification on your responses - does "The JBoss Tools Galileo tooling will allow you to create a 4.7 compatible configuration" refer to me using the New ESB Project Wizard and selecting ESB 4.7 for my ESV 4.9 runtime?

                       

                      Since this may not be a version conflict, does anyone have any suggestions based on the stack trace above (I have tried several variations of classpaths based various discussion threads at jboss.org.

                       

                      Thanks for your patience, guys.

                      Ian

                      • 8. Re: JBoss ESB 4.8 in Eclipse
                        imitchell

                        Brian - sorry for not answering your question regarding 4.8-specific features.

                         

                        I guess the short answer is 'i don't think so' - I am only trying to run the sendEsbMessage test client found in the helloworld quickstart sample that is distributed with ESB 4.8.

                         

                        Thanks,

                        Ian

                        • 9. Re: JBoss ESB 4.8 in Eclipse
                          tmarks

                          I am seeing the same issue. I tried ESB-4.7 and 4.8 and see the same error.

                          (The quickstart/helloworld sendesb works when run from server...but fails when run remotely from eclipse.)

                          I have seen other posts indicating a similar problem - fixes typically indicate a bad classpath.

                          However, when I duplicate posted classpaths, it still does not work.

                          Any help/insight appreciated.

                           

                          Server: Linux, jboss-6.0.0.20100216-M2, ESB-4.7

                          Client: XP, Galileo

                          • 10. Re: JBoss ESB 4.8 in Eclipse
                            bfitzpat

                            No worries.

                             

                            Yes, using the New ESB Project wizard and ESB File wizards is what I'm referring to - as well as the editor when you open the ESB configuration file in the tooling. The ESB jars that are referenced by the project should come from your referenced runtime, so it should have the right jars specific to your runtime.

                             

                            And the ESB editor shouldn't allow you to do anything that wouldn't work in ESB 4.7, and according to what Tom says - that should still run on ESB 4.8.

                             

                            But I don't have any ideas on the stacktrace above unfortunately... I'll see if the ESB team has any words of wisdom on it...

                             

                            --Fitz

                            • 11. Re: JBoss ESB 4.8 in Eclipse
                              imitchell

                              Tim,

                               

                              I was just about try ESB 4.7 but since you are having the same problem with both ESB 4.7 and ESB 4.8, I guess I'll try another path.

                               

                              Speaking of path, I also saw those threads that tackled this from the classpath angle - I also had the same results as you.  I wonder if there is something with the jbossesb-properties.xml file that is creating havoc.

                               

                              Anyway, thanks for joining!

                              • 12. Re: JBoss ESB 4.8 in Eclipse
                                bfitzpat

                                One of the ESB guys has these suggestions:

                                * my guess is that you're not picking up all the registry configuration for some reason
                                * it's bombing out when looking for the ESB tmodel
                                *have you tried running the SendEsbMessage in in tools?

                                • 13. Re: JBoss ESB 4.8 in Eclipse
                                  tcunning

                                  I took a quick look at this and I can reproduce the stack if I only add the helloworld directory to the Run Configuration classpath.     It looks to me like the registry configuration is incorrect - it is bombing out looking for a TModel.

                                   

                                  The sendesb target in the build.xml has exec-classpath as its classpath - exec-classpath is set in ../conf/base-build.xml.      Since the ant target is working fine for me, I think the solution is to just reproduce the exec-classpath classpath exactly in Run Configuration.

                                  • 14. Re: JBoss ESB 4.8 in Eclipse
                                    imitchell

                                    Tom,

                                     

                                    Thanks - When I do an "ant echoCP" I get an extremely large list of jar files but I'll look into it further.

                                     

                                     

                                    There have been a couple of comments regarding the registry configuration - the jbossesb-properties.xml file on the client side looks like this:

                                     

                                    <?xml version="1.0" encoding="ISO-8859-1"?>
                                    <!-- $Id: jbossesb-unittest-properties.xml $ -->
                                    <!--
                                      These options are described in the JBossESB manual.
                                      Defaults are provided here for convenience only.

                                      Please read through this file prior to using the system, and consider
                                      updating the specified entries.
                                    -->
                                    <esb
                                      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                                      xsi:noNamespaceSchemaLocation="jbossesb-1_0.xsd">
                                        <properties name="core">
                                      <property name="org.jboss.soa.esb.jndi.server.type" value="jboss"/>
                                      <property name="org.jboss.soa.esb.jndi.server.url" value="192.168.0.102"/>
                                      <property name="org.jboss.soa.esb.persistence.connection.factory"  value="org.jboss.internal.soa.esb.persistence.format.MessageStoreFactoryImpl"/>
                                            <property name="jboss.esb.invm.scope.default" value="NONE"/>
                                        </properties>
                                        <properties name="registry">     
                                         <property name="org.jboss.soa.esb.registry.queryManagerURI" value="org.apache.juddi.v3.client.transport.wrapper.UDDIInquiryService#inquire"/>
                                         <property name="org.jboss.soa.esb.registry.lifeCycleManagerURI" value="org.apache.juddi.v3.client.transport.wrapper.UDDIPublicationService#publish"/>
                                         <property name="org.jboss.soa.esb.registry.securityManagerURI" value="org.apache.juddi.v3.client.transport.wrapper.UDDISecurityService#secure"/>
                                         <property name="org.jboss.soa.esb.registry.implementationClass" value="org.jboss.internal.soa.esb.services.registry.JAXRRegistryImpl"/>
                                         <property name="org.jboss.soa.esb.registry.factoryClass" value="org.apache.ws.scout.registry.ConnectionFactoryImpl"/>
                                         <property name="org.jboss.soa.esb.registry.user" value="root"/>
                                         <property name="org.jboss.soa.esb.registry.password" value="root"/>
                                         <!-- the following parameter is scout specific to set the type of communication between scout and the UDDI (embedded, rmi, soap) -->
                                         <property name="org.jboss.soa.esb.scout.proxy.transportClass" value="org.apache.ws.scout.transport.LocalTransport"/>
                                         <property name="org.jboss.soa.esb.scout.proxy.uddiVersion" value="3.0"/>
                                         <property name="org.jboss.soa.esb.scout.proxy.uddiNameSpace" value="urn:uddi-org:api_v3"/>
                                         <!-- Organization Category to be used by this deployment. -->
                                            <property name="org.jboss.soa.esb.registry.orgCategory" value="org.jboss.soa.esb.:category"/>
                                        </properties>
                                        <properties name="transports" depends="core">
                                         <property name="org.jboss.soa.esb.mail.smtp.host" value="localhost"/>
                                         <property name="org.jboss.soa.esb.mail.smtp.user" value="jbossesb"/>
                                         <property name="org.jboss.soa.esb.mail.smtp.password" value=""/>
                                         <property name="org.jboss.soa.esb.mail.smtp.port" value="25"/>
                                        </properties>
                                        <properties name="connection">
                                         <property name="min-pool-size" value="5"/>
                                         <property name="max-pool-size" value="10"/>
                                         <property name="blocking-timeout-millis" value="5000"/>
                                         <property name="abandoned-connection-timeout" value="10000"/>
                                         <property name="abandoned-connection-time-interval" value="30000"/>
                                        </properties>
                                        <properties name="dbstore">
                                      <property name="org.jboss.soa.esb.persistence.db.connection.url"  value="jdbc:hsqldb:hsql://localhost:9001/"/>
                                      <property name="org.jboss.soa.esb.persistence.db.jdbc.driver"   value="org.hsqldb.jdbcDriver"/>
                                      <property name="org.jboss.soa.esb.persistence.db.user"    value="sa"/>
                                      <property name="org.jboss.soa.esb.persistence.db.pwd"    value=""/> 
                                      <property name="org.jboss.soa.esb.persistence.db.pool.initial.size" value="2"/>
                                      <property name="org.jboss.soa.esb.persistence.db.pool.min.size" value="2"/>
                                      <property name="org.jboss.soa.esb.persistence.db.pool.max.size" value="5"/>
                                      <!--table managed by pool to test for valid connections - created by pool automatically -->
                                      <property name="org.jboss.soa.esb.persistence.db.pool.test.table" value="pooltest"/>
                                      <!-- # of milliseconds to timeout waiting for a connection from pool -->
                                      <property name="org.jboss.soa.esb.persistence.db.pool.timeout.millis" value="5000"/>
                                                    <property name="org.jboss.soa.esb.persistence.db.conn.manager" value="org.jboss.internal.soa.esb.persistence.manager.StandaloneConnectionManager"/>
                                        </properties>
                                        <properties name="messagerouting">
                                         <property name="org.jboss.soa.esb.routing.cbrClass" value="org.jboss.internal.soa.esb.services.routing.cbr.JBossRulesRouter"/>
                                        </properties>
                                    </esb>

                                    1 2 Previous Next