8 Replies Latest reply on Jun 27, 2007 9:33 AM by pmuir

    [2.0 beta1 CVS]SeamTest RARDeployment question

    ellenzhao

      Hi folks,

      I'm using Seam 2.0 beta1 built from the CVS source. My test classes extending SeamTest are having RARDeployment problem, I guess I need help on how to configure the embedded microcontainer for the purpose of mocking Seam objects. Here is the error trace:

      
      [Parser] Running:
       C:\sd\projects\eatsmart2\src\test\testngTest.xml
      
      WARN 26-06 18:12:59,296 [org.jboss.mx.loading.UnifiedLoaderRepository3.addClassLoader():675] Tried to add non-URLClassLoader. Ignored
      INFO 26-06 18:13:00,250 [com.arjuna.ats.jbossatx.jta.TransactionManagerService.startService():126] JBossTS Transaction Service (JTA version) - JBoss Inc.
      INFO 26-06 18:13:00,250 [com.arjuna.ats.jbossatx.jta.TransactionManagerService.startService():128] Setting up property manager MBean and JMX layer
      WARN 26-06 18:13:00,312 [com.arjuna.ats.arjuna.coordinator.TxControl.<clinit>():266] [com.arjuna.ats.arjuna.coordinator.TxControl_1] - Name of XA node not defined. Using -3f57fffe:f78:46813b0c:0
      INFO 26-06 18:13:00,359 [com.arjuna.ats.arjuna.recovery.TransactionStatusManager.addService():110] [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_1] - Starting service com.arjuna.ats.arjuna.recovery.ActionStatusService on port 3960
      INFO 26-06 18:13:00,359 [?.?():?] TransactionStatusManagerItem - host: 192.168.0.2 port: 3960
      INFO 26-06 18:13:00,375 [com.arjuna.ats.arjuna.recovery.TransactionStatusManager.start():161] [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_3] - TransactionStatusManager started on port 3960 with service com.arjuna.ats.arjuna.recovery.ActionStatusService
      INFO 26-06 18:13:00,375 [?.?():?] Registering mbean for module 'arjuna'
      INFO 26-06 18:13:00,390 [?.?():?] Initialising JMX agent com.arjuna.ats.internal.jbossatx.agent.LocalJBossAgentImpl
      INFO 26-06 18:13:00,406 [com.arjuna.ats.jbossatx.jta.TransactionManagerService.startService():163] Starting recovery manager
      INFO 26-06 18:13:00,406 [?.?():?]
       --- Start RecoveryActivators
      INFO 26-06 18:13:00,421 [com.arjuna.ats.internal.arjuna.recovery.RecoveryManagerImple.<init>():142] [com.arjuna.ats.internal.arjuna.recovery.ready] RecoveryManagerImple is ready on port 3,961
      INFO 26-06 18:13:00,421 [com.arjuna.ats.jbossatx.jta.TransactionManagerService.startService():168] Recovery manager started
      INFO 26-06 18:13:00,421 [com.arjuna.ats.jbossatx.jta.TransactionManagerService.startService():191] Binding TransactionManager JNDI Reference
      INFO 26-06 18:13:02,296 [org.jboss.jms.server.ServerPeer.<init>():187] ServerPeer[0] creating server peer with ID 0
      FAILED CONFIGURATION: @BeforeClass init
      org.jboss.deployers.spi.IncompleteDeploymentException: Summary of incomplete deployments (SEE PREVIOUS ERRORS FOR DETAILS):
      
      *** CONTEXTS MISSING DEPENDENCIES: Name -> Dependency{Required State:Actual State}
      
      jboss.jca:name=DefaultDS,service=DataSourceBinding
       -> jboss.jca:name=DefaultDS,service=LocalTxCM{Create:Configured}
       -> jboss.jca:name=DefaultDS,service=LocalTxCM{Start:Configured}
      
      jboss.jca:name=DefaultDS,service=LocalTxCM
       -> jboss.jca:name=DefaultDS,service=ManagedConnectionPool{Create:Configured}
       -> jboss.jca:name=DefaultDS,service=ManagedConnectionPool{Start:Configured}
      
      jboss.jca:name=DefaultDS,service=ManagedConnectionFactory
       -> jboss.jca:name='jboss-local-jdbc.rar',service=RARDeployment{Start:** NOT FOUND **}
       -> jboss.jca:name='jboss-local-jdbc.rar',service=RARDeployment{Create:** NOT FOUND **}
      
      jboss.jca:name=DefaultDS,service=ManagedConnectionPool
       -> jboss.jca:name=DefaultDS,service=ManagedConnectionFactory{Create:Configured}
       -> jboss.jca:name=DefaultDS,service=ManagedConnectionFactory{Start:Configured}
      
      jboss.jca:name=JmsXA,service=DataSourceBinding
       -> jboss.jca:name=JmsXA,service=TxCM{Start:Configured}
       -> jboss.jca:name=JmsXA,service=TxCM{Create:Configured}
      
      jboss.jca:name=JmsXA,service=ManagedConnectionFactory
       -> jboss.messaging:service=ServerPeer{Create:Configured}
       -> jboss.jca:name='jms-ra.rar',service=RARDeployment{Create:** NOT FOUND **}
       -> jboss.jca:name='jms-ra.rar',service=RARDeployment{Start:** NOT FOUND **}
       -> jboss.messaging:service=ServerPeer{Start:Configured}
      
      jboss.jca:name=JmsXA,service=ManagedConnectionPool
       -> jboss.jca:name=JmsXA,service=ManagedConnectionFactory{Start:Configured}
       -> jboss.jca:name=JmsXA,service=ManagedConnectionFactory{Create:Configured}
      
      jboss.jca:name=JmsXA,service=TxCM
       -> jboss.jca:name=JmsXA,service=ManagedConnectionPool{Create:Configured}
       -> jboss.jca:name=JmsXA,service=ManagedConnectionPool{Start:Configured}
      
      jboss.messaging.connectionfactory:service=ConnectionFactory
       -> jboss.messaging:service=PostOffice{Start:Configured}
       -> jboss.messaging:service=ServerPeer{Create:Configured}
       -> jboss.messaging:service=ServerPeer{Start:Configured}
       -> jboss.messaging:service=PostOffice{Create:Configured}
      
      jboss.messaging.destination:name=DLQ,service=Queue
       -> jboss.messaging:service=PostOffice{Create:Configured}
       -> jboss.messaging:service=PostOffice{Start:Configured}
       -> jboss.messaging:service=ServerPeer{Start:Configured}
       -> jboss.messaging:service=ServerPeer{Create:Configured}
      
      jboss.messaging.destination:name=ExpiryQueue,service=Queue
       -> jboss.messaging:service=PostOffice{Start:Configured}
       -> jboss.messaging:service=ServerPeer{Start:Configured}
       -> jboss.messaging:service=PostOffice{Create:Configured}
       -> jboss.messaging:service=ServerPeer{Create:Configured}
      
      jboss.messaging.destination:name=PrivateDLQ,service=Queue
       -> jboss.messaging:service=PostOffice{Start:Configured}
       -> jboss.messaging:service=PostOffice{Create:Configured}
       -> jboss.messaging:service=ServerPeer{Start:Configured}
       -> jboss.messaging:service=ServerPeer{Create:Configured}
      
      jboss.messaging.destination:name=PrivateExpiryQueue,service=Queue
       -> jboss.messaging:service=PostOffice{Start:Configured}
       -> jboss.messaging:service=ServerPeer{Start:Configured}
       -> jboss.messaging:service=PostOffice{Create:Configured}
       -> jboss.messaging:service=ServerPeer{Create:Configured}
      
      jboss.messaging.destination:name=QueueWithOwnDLQAndExpiryQueue,service=Queue
       -> jboss.messaging:service=ServerPeer{Create:Configured}
       -> jboss.messaging:service=ServerPeer{Start:Configured}
       -> jboss.messaging:service=PostOffice{Create:Configured}
       -> jboss.messaging:service=PostOffice{Start:Configured}
      
      jboss.messaging.destination:name=QueueWithOwnRedeliveryDelay,service=Queue
       -> jboss.messaging:service=ServerPeer{Create:Configured}
       -> jboss.messaging:service=ServerPeer{Start:Configured}
       -> jboss.messaging:service=PostOffice{Start:Configured}
       -> jboss.messaging:service=PostOffice{Create:Configured}
      
      jboss.messaging.destination:name=TopicWithOwnDLQAndExpiryQueue,service=Topic
       -> jboss.messaging:service=PostOffice{Create:Configured}
       -> jboss.messaging:service=PostOffice{Start:Configured}
       -> jboss.messaging:service=ServerPeer{Start:Configured}
       -> jboss.messaging:service=ServerPeer{Create:Configured}
      
      jboss.messaging.destination:name=TopicWithOwnRedeliveryDelay,service=Topic
       -> jboss.messaging:service=ServerPeer{Start:Configured}
       -> jboss.messaging:service=ServerPeer{Create:Configured}
       -> jboss.messaging:service=PostOffice{Start:Configured}
       -> jboss.messaging:service=PostOffice{Create:Configured}
      
      jboss.messaging:service=JMSUserManager
       -> jboss.jca:name=DefaultDS,service=DataSourceBinding{Create:Configured}
       -> jboss.jca:name=DefaultDS,service=DataSourceBinding{Start:Configured}
      
      jboss.messaging:service=PersistenceManager
       -> jboss.jca:name=DefaultDS,service=DataSourceBinding{Start:Configured}
       -> jboss.jca:name=DefaultDS,service=DataSourceBinding{Create:Configured}
      
      jboss.messaging:service=PostOffice
       -> jboss.jca:name=DefaultDS,service=DataSourceBinding{Start:Configured}
       -> jboss.messaging:service=ServerPeer{Create:Configured}
       -> jboss.messaging:service=ServerPeer{Start:Configured}
       -> jboss.jca:name=DefaultDS,service=DataSourceBinding{Create:Configured}
      
      jboss.messaging:service=ServerPeer
       -> jboss.messaging:service=JMSUserManager{Start:Configured}
       -> jboss.messaging:service=JMSUserManager{Create:Configured}
       -> jboss.messaging:service=PersistenceManager{Start:Configured}
       -> jboss.messaging:service=PersistenceManager{Create:Configured}
      
      jboss.mq:service=DestinationManager
       -> jboss.messaging:service=ServerPeer{Create:Configured}
       -> jboss.messaging:service=ServerPeer{Start:Configured}
      
      
      *** CONTEXTS IN ERROR: Name -> Error
      
      jboss.jca:name='jms-ra.rar',service=RARDeployment -> ** NOT FOUND **
      
      jboss.jca:name='jboss-local-jdbc.rar',service=RARDeployment -> ** NOT FOUND **
      
      
       at org.jboss.embedded.Bootstrap.checkIncomplete(Bootstrap.java:144)
       at org.jboss.embedded.Bootstrap.bootstrapURL(Bootstrap.java:169)
       at org.jboss.embedded.Bootstrap.bootstrap(Bootstrap.java:201)
       at org.jboss.embedded.Bootstrap.bootstrap(Bootstrap.java:214)
       at org.jboss.seam.mock.BaseSeamTest.startJbossEmbeddedIfNecessary(BaseSeamTest.java:919)
       at org.jboss.seam.mock.BaseSeamTest.init(BaseSeamTest.java:856)
       at org.jboss.seam.mock.SeamTest.init(SeamTest.java:42)
      ... Removed 22 stack frames
      SKIPPED CONFIGURATION: @BeforeMethod begin
      SKIPPED CONFIGURATION: @AfterMethod end
      SKIPPED CONFIGURATION: @AfterClass cleanup
      SKIPPED: testStartOver
      
      


      Any help would be highly appreciated!


      Regards,
      Ellen

        • 1. Re: [2.0 beta1 CVS]SeamTest RARDeployment question
          gavin.king

          Do you have the bootstrap directory in your classpath?

          • 2. Re: [2.0 beta1 CVS]SeamTest RARDeployment question
            ellenzhao

            Yes, bootstrap is in my classpath and build.xml. I've updated the project configuration with the help of seam-gen came with the latest CVS. But still having this problem.

            Now I'm trying to figure out all the configuration files in the bootstrap folder...Will post again when I find a more specific trial....


            Thanks!
            Ellen

            • 3. Re: [2.0 beta1 CVS]SeamTest RARDeployment question
              ellenzhao

              Now I see the jms-ds.xml in the bootstrap/deploy/messaging folder and the hsqlds-ds.xml in the bootstrap/deploy folder. And I also see jboss-beans.xml was removed from the configuration. Was the removal of jboss-beans.xml intentional or?

              Gavin could you please tell me about these lines in the hsqlds-ds.xml:

              <!-- For in-process persistent db, saved when jboss stops.
               The org.jboss.jdbc.HypersonicDatabase mbean is required for proper db shutdown
               -->
               <connection-url>jdbc:hsqldb:${jboss.server.data.dir}${/}hypersonic${/}localDB</connection-url>
              


              1. Do I need to manually add the org.jboss.jdbc.HypersonicDatabase mbean? If so, in which file? Jboss-beans.xml or somewhere else?

              2. How is the variable ${jboss.server.data.dir}$ passed to this file? I could not find the definition of the jboss.server.data.dir in the configuration files in the bootstrap folder. If I missed it, could you please tell me in which file is this variable defined?

              3. Interestingly, although the SeamTest always failed on init(), but the bootstrap/data folder is already filled with data. (At the beginning it was just an empty folder) Any story about that?


              Thank you very much in advance!!
              Ellen

              • 4. Re: [2.0 beta1 CVS]SeamTest RARDeployment question
                gavin.king

                You don't need to do anything manually. If you create a new seam-gen project using "seam new-project", everything is set up exactly right. Just reproduce that structure in your existing project.

                • 5. Re: [2.0 beta1 CVS]SeamTest RARDeployment question
                  ellenzhao

                  Got it! I messed up things from the CVS snapshot and the CVS. Here are things which should be fixed for CVS Snapshot:

                  1. The pom.xml under the /ui is missing in the Snapshot.

                  2. Three very important .rar files are missing in the Snapshot, under the folder bootstrap/deploy/. They are: jboss-local-jdbc.rar, jboss-xa-jdbc.rar, and jms-ra.rar. Without these three files the SeamTest using embedded microcontainer does not work.

                  3. antlr-3.0b7.jar should be used in the seam-gen generated file .classpath, instead of antlr-2.7.6.jar. Without correcting this I got a runtime exception saying some method was not found in this package. And I guess antlr-2.7.6.jar can be removed from the lib folder.


                  If these three things are corrected for the CVS snapshot, then the latest snapshot is finally usable.



                  Best Regards,
                  Ellen

                  • 6. Re: [2.0 beta1 CVS]SeamTest RARDeployment question
                    ellenzhao

                    sorry, for the second point above I expressed wrong. It should be:

                    2. The new seam-gen might now working properly. When creating a new project, jboss-local-jdbc.rar , jboss-xa-jdbc.rar , and jms-ra.rar should be copied to $my-seam-project/bootstrap/deploy/. But current "seam new-project" does not do it.


                    Regards,
                    Ellen

                    • 7. Re: [2.0 beta1 CVS]SeamTest RARDeployment question
                      ellenzhao

                      Ach, it should be:

                      "2. The new seam-gen might not be working properly."

                      Sorry for my typos!


                      Regards,
                      Ellen

                      • 8. Re: [2.0 beta1 CVS]SeamTest RARDeployment question
                        pmuir

                         

                        "enzhao" wrote:
                        1. The pom.xml under the /ui is missing in the Snapshot.


                        Thanks for spotting this (actually, it is under /ui/src by mistake). Fixed now :)