12 Replies Latest reply on Jan 5, 2011 8:54 PM by jimmyaqiao

    error when run helloworld_sql_action

    jimmyaqiao

      when I run  helloworld_sql_action sample in jbossesb4.9 ,some problem occur. how can I resolve it ?

       

       

      08:41:22,115 WARN  [HDScanner] Failed to process changes
      org.jboss.deployers.client.spi.IncompleteDeploymentException: Summary of incomplete deployments (SEE PREVIOUS ERRORS FOR DETAILS):

       

      DEPLOYMENTS MISSING DEPENDENCIES:
        Deployment "jboss.esb.vfszip:/D:/J2EE_Project_Run/JBoss_5.0_Server/deploy35/Quickstart_helloworld_SQL_action.esb/" is missing the following dependencies:
          Dependency "<UNKNOWN jboss.esb.vfszip:/D:/J2EE_Project_Run/JBoss_5.0_Server/deploy35/Quickstart_helloworld_SQL_action.esb/>" (should be in state "PreInstall", but is actually in state "** UNRESOLVED Demands 'jboss.esb:service=HelloworldSqlDatabaseInitializer' **")
        Deployment "jboss.esb:service=HelloworldSqlDatabaseInitializer" is missing the following dependencies:
          Dependency "jboss.jca:name=HelloworldSqlDB,service=DataSourceBinding" (should be in state "Create", but is actually in state "** NOT FOUND Depends on 'jboss.jca:name=HelloworldSqlDB,service=DataSourceBinding' **")

       

      DEPLOYMENTS IN ERROR:
        Deployment "<UNKNOWN jboss.esb.vfszip:/D:/J2EE_Project_Run/JBoss_5.0_Server/deploy35/Quickstart_helloworld_SQL_action.esb/>" is in error due to the following reason(s): ** UNRESOLVED Demands 'jboss.esb:service=HelloworldSqlDatabaseInitializer' **
        Deployment "jboss.jca:name=HelloworldSqlDB,service=DataSourceBinding" is in error due to the following reason(s): ** NOT FOUND Depends on 'jboss.jca:name=HelloworldSqlDB,service=DataSourceBinding' **

       

          at org.jboss.deployers.plugins.deployers.DeployersImpl.checkComplete(DeployersImpl.java:993)
          at org.jboss.deployers.plugins.deployers.DeployersImpl.checkComplete(DeployersImpl.java:939)
          at org.jboss.deployers.plugins.main.MainDeployerImpl.checkComplete(MainDeployerImpl.java:873)
          at org.jboss.system.server.profileservice.repository.MainDeployerAdapter.checkComplete(MainDeployerAdapter.java:128)
          at org.jboss.system.server.profileservice.hotdeploy.HDScanner.scan(HDScanner.java:369)
          at org.jboss.system.server.profileservice.hotdeploy.HDScanner.run(HDScanner.java:255)
          at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
          at java.util.concurrent.FutureTask$Sync.innerRunAndReset(Unknown Source)
          at java.util.concurrent.FutureTask.runAndReset(Unknown Source)
          at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(Unknown Source)
          at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(Unknown Source)
          at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)
          at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
          at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
          at java.lang.Thread.run(Unknown Source)

       

      *********************************************

      I have uploaded my deploy file quickstart_helloworld_SQL_action.esb

        • 1. Re: error when run helloworld_sql_action
          kcbabo

          Looks like the data source is not getting deployed or the name of the DS was changed.  Did you change anything in the quickstart project before deploying?  I just tried this QS with 4.9 and it worked like a charm.

          • 2. Re: error when run helloworld_sql_action
            jimmyaqiao

            I have uploaded my deploy file .I havn't change anything in the quickstart project .I just execute  "ant deploy" .

            the ds  is included in the esb file

            • 3. Re: error when run helloworld_sql_action
              ak_jboss

              I think the name space binding (JNDI) is unable to lookup the Datasource. Try doing a dump on the JNDI name space and see if you can find the datasource.

              • 4. Re: error when run helloworld_sql_action
                kcbabo

                Hmm ... how did you create your ESB server?  I tried your deployment on an ESB 4.9 + AS5 install and it failed with a similar error, but it was due to the fact that I haven't switched from JBoss Messaging to HornetQ (which triggered a series of dependency failures, leading to the one you reported above).  The quickstart ant script will detect the messaging provider used in the AS you are deploying to and include the appropriate queue definition.  In the case of your attachment, it's a HornetQ descriptor.

                • 5. Re: error when run helloworld_sql_action
                  jimmyaqiao

                  my ESB server is ESB4.9 + HornetQ2.1.2 + AS5 ,so the jms provider is a HornetQ descriptor .I think the problem is at the datasource or some dependence is missing ,but I can't find out yet !

                  • 6. Re: error when run helloworld_sql_action
                    kcbabo

                    IIRC, the HornetQ switch script for AS5 did not include an independent deployer for HornetQ descriptors.  If you drop the hornetq-jms.xml descriptor in your AS deploy directory, is the queue created?  Check JMX console for

                     

                    org.hornetq:module=JMS,type=Queue,name="quickstart_sql_action_Request_esb"

                     

                    The dependency on the HornetQ queue in the .esb deployable could be producing the other dependency resolution issues you are seeing.

                    • 7. Re: error when run helloworld_sql_action
                      jimmyaqiao

                      I drop the hornetq-jms.xml descriptor in my AS deploy directory,there is no org.hornetq:module=JMS,type=Queue,name="quickstart_sql_action_Request_esb" in  JMX console,

                      but the error is still there .

                      Is it the something about  "DataSourceBinding " config has error .

                      • 8. Re: error when run helloworld_sql_action
                        kcbabo

                        This definitely has to do with the presence of HornetQ.  I think the deployer ordering is a bit funky when HornetQ is in the mix.  Tom is the best person to testify to the nature of that funkiness, but I believe that the workaround was to deploy a "no-service" within the quickstart.  It looks like this was not added to the helloworld_sql_action quickstart.  You can find it in helloworld_hibernate_action though.

                         

                        cd samples/quickstarts

                        cp helloworld_hibernate_action/no-service.xml helloworld_sql_action/.

                         

                        Then try to deploy helloworld_sql_action and see if you get any further.  I was seeing the same issue as you with AS5 + HornetQ and adding the no-service file produced a successful deployment.

                        • 9. Re: error when run helloworld_sql_action
                          kconner

                          It's a bug in the microcontainer and the addition of the no-service.xml forces the code through a different (and correct) path.

                          1 of 1 people found this helpful
                          • 10. Re: error when run helloworld_sql_action
                            kconner

                            This is the issue which Daniel raised, https://issues.jboss.org/browse/JBAS-7438

                            • 11. Re: error when run helloworld_sql_action
                              kcbabo

                              Ah yes, that explains why I only see it with HornetQ.  WIth JBM, there is jbm-queue-service.xml and jbossesb-service.xml in the deployment.  With HornetQ, the jbm-queue-service.xml is replaced with hornetq-jms.xml which means there is only one service and the bug you linked is triggered.  Adding the no-service gets us back to multiple services in the deployment.


                              Thanks for filling in the blanks, Kevin.  My mind is at ease now. :-)

                              • 12. Re: error when run helloworld_sql_action
                                jimmyaqiao

                                Thanks , Keith Babo,Kevin Conner ! The problem above is resovled by adding a no-service.xml .

                                The helloworld_sql_action.esb work fine ,but there is another exception occured below .however this is not affect the normal use .

                                 

                                09:33:34,947 ERROR [STDERR] [Server@12adeea]: [Thread[HSQLDB Server @12adeea,5,jboss]]: run()/openServerSocket():
                                09:33:34,947 ERROR [STDERR] java.net.BindException: Cannot assign requested address: JVM_Bind
                                    at java.net.PlainSocketImpl.socketBind(Native Method)
                                    at java.net.PlainSocketImpl.bind(Unknown Source)
                                    at java.net.ServerSocket.bind(Unknown Source)
                                    at java.net.ServerSocket.<init>(Unknown Source)
                                    at org.hsqldb.HsqlSocketFactory.createServerSocket(Unknown Source)
                                    at org.hsqldb.Server.openServerSocket(Unknown Source)
                                    at org.hsqldb.Server.run(Unknown Source)
                                    at org.hsqldb.Server.access$000(Unknown Source)
                                    at org.hsqldb.Server$ServerThread.run(Unknown Source)
                                09:33:34,948 INFO  [STDOUT] [Server@12adeea]: Initiating shutdown sequence...
                                09:33:34,948 INFO  [STDOUT] [Server@12adeea]: Shutdown sequence completed in 0 ms.
                                09:33:34,948 INFO  [STDOUT] [Server@12adeea]: 2011-01-06 09:33:34.948 SHUTDOWN : System.exit() was not called
                                09:33:35,175 INFO  [ConnectionFactoryBindingService] Bound ConnectionManager 'jboss.jca:service=DataSourceBinding,name=HelloworldSqlDB' to JNDI name 'java:HelloworldSqlDB'
                                09:33:37,435 INFO  [DatabaseInitializer] java:/HelloworldSqlDB datasource is already initialized