1 2 Previous Next 17 Replies Latest reply on Oct 31, 2006 11:57 AM by Scott Stark

    Structure deployer changes comitted to trunk

    Scott Stark Master

      I just updated the EARStructure deployer to match the refactored StructureDeployer interface. I also split this into an EARStructure, AppParsingDeployer(application.xml) and JBossAppParsingDeployer(jboss-app.xml).

       <bean name="EARStructureDeployer" class="org.jboss.deployment.EARStructure">
       <install bean="MainDeployer" method="addStructureDeployer">
       <parameter>
       <this/>
       </parameter>
       </install>
       <uninstall bean="MainDeployer" method="removeStructureDeployer">
       <parameter>
       <this/>
       </parameter>
       </uninstall>
       </bean>
      
       <bean name="AppParsingDeployer" class="org.jboss.deployment.AppParsingDeployer">
       <install bean="MainDeployer" method="addDeployer">
       <parameter>
       <this/>
       </parameter>
       </install>
       <uninstall bean="MainDeployer" method="removeDeployer">
       <parameter>
       <this/>
       </parameter>
       </uninstall>
       </bean>
       <bean name="JBossAppParsingDeployer" class="org.jboss.deployment.JBossAppParsingDeployer">
       <install bean="MainDeployer" method="addDeployer">
       <parameter>
       <this/>
       </parameter>
       </install>
       <uninstall bean="MainDeployer" method="removeDeployer">
       <parameter>
       <this/>
       </parameter>
       </uninstall>
       </bean>
      



        • 1. Re: Structure deployer changes comitted to trunk
          Scott Stark Master

          I just did a clean build and only the webservice deployer is failing (as expected). Let me know if your seeing other problems. You will need to update your thirdparty microcontainer snapshot to pickup the latest jboss-deployers.jar, as well as updating the server module to pickup the EARStructure changes.

          [starksm@succubus build]$ cd output/jboss-5.0.0.Beta/bin
          [starksm@succubus bin]$ run.sh
          =========================================================================
          
           JBoss Bootstrap Environment
          
           JBOSS_HOME: /home/svn/JBossHead/jboss-head/build/output/jboss-5.0.0.Beta
          
           JAVA: /home/starksm/java/jrockit-jdk1.5.0_06/bin/java
          
           JAVA_OPTS: -Dprogram.name=run.sh -Xms128m -Xmx512m -Dorg.jboss.resolver.warning=true -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000
          
           CLASSPATH: /home/svn/JBossHead/jboss-head/build/output/jboss-5.0.0.Beta/bin/run.jar:/home/starksm/java/jrockit-jdk1.5.0_06/lib/tools.jar
          
          =========================================================================
          
          17:00:29,482 INFO [ServerImpl] Starting JBoss (Microcontainer)...
          17:00:29,498 INFO [ServerImpl] Release ID: JBoss [Morpheus] 5.0.0.Beta (build: CVSTag=HEAD date=200610251648)
          17:00:29,498 INFO [ServerImpl] Home Dir: /home/svn/JBossHead/jboss-head/build/output/jboss-5.0.0.Beta
          17:00:29,499 INFO [ServerImpl] Home URL: file:/home/svn/JBossHead/jboss-head/build/output/jboss-5.0.0.Beta/
          17:00:29,503 INFO [ServerImpl] Library URL: file:/home/svn/JBossHead/jboss-head/build/output/jboss-5.0.0.Beta/lib/
          17:00:29,503 INFO [ServerImpl] Patch URL: null
          17:00:29,504 INFO [ServerImpl] Server Name: default
          17:00:29,506 INFO [ServerImpl] Server Home Dir: /home/svn/JBossHead/jboss-head/build/output/jboss-5.0.0.Beta/server/default
          17:00:29,507 INFO [ServerImpl] Server Home URL: file:/home/svn/JBossHead/jboss-head/build/output/jboss-5.0.0.Beta/server/default/
          17:00:29,508 INFO [ServerImpl] Server Data Dir: /home/svn/JBossHead/jboss-head/build/output/jboss-5.0.0.Beta/server/default/data
          17:00:29,508 INFO [ServerImpl] Server Temp Dir: /home/svn/JBossHead/jboss-head/build/output/jboss-5.0.0.Beta/server/default/tmp
          17:00:29,508 INFO [ServerImpl] Server Config URL: file:/home/svn/JBossHead/jboss-head/build/output/jboss-5.0.0.Beta/server/default/conf/
          17:00:29,509 INFO [ServerImpl] Server Library URL: file:/home/svn/JBossHead/jboss-head/build/output/jboss-5.0.0.Beta/server/default/lib/
          17:00:29,509 INFO [ServerImpl] Root Deployment Filename: jboss-service.xml
          17:00:29,534 INFO [ServerImpl] Starting Microcontainer, bootstrapURL=file:/home/svn/JBossHead/jboss-head/build/output/jboss-5.0.0.Beta/server/default/conf/deployer-beans.xml
          17:00:30,710 INFO [ProfileImpl] Using profile root:/home/svn/JBossHead/jboss-head/build/output/jboss-5.0.0.Beta/bin/file:/home/svn/JBossHead/jboss-head/build/output/jboss-5.0.0.Beta/server/default/profile
          17:00:31,348 INFO [ServerInfo] Java VM: BEA JRockit(R) R26.4.0-63-63688-1.5.0_06-20060626-2259-linux-x86_64,BEA Systems, Inc.
          17:00:31,349 INFO [ServerInfo] OS-System: Linux 2.6.9-42.0.2.ELsmp,amd64
          17:00:31,465 INFO [JMXKernel] Legacy JMX core initialized
          17:00:33,549 INFO [WebService] Using RMI server codebase: http://succubus.starkinternational.com:8083/
          17:00:33,855 INFO [NamingService] JNDI bootstrap JNP=/0.0.0.0:1099, RMI=/0.0.0.0:1098, backlog=50, no client SocketFactory, Server SocketFactory=class org.jboss.net.sockets.DefaultSocketFactory
          17:00:34,343 INFO [SocketServerInvoker] Invoker started for locator: InvokerLocator [socket://192.168.2.101:4446/?dataType=invocation&enableTcpNoDelay=true&marshaller=org.jboss.invocation.unified.marshall.InvocationMarshaller&socketTimeout=600000&unmarshaller=org.jboss.invocation.unified.marshall.InvocationUnMarshaller]
          17:00:35,183 INFO [Embedded] Catalina naming disabled
          17:00:35,207 INFO [ClusterRuleSetFactory] Unable to find a cluster rule set in the classpath. Will load the default rule set.
          17:00:35,210 INFO [ClusterRuleSetFactory] Unable to find a cluster rule set in the classpath. Will load the default rule set.
          17:00:35,328 INFO [AprLifecycleListener] The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /home/starksm/java/jrockit-jdk1.5.0_06/jre/lib/amd64/jrockit:/home/starksm/java/jrockit-jdk1.5.0_06/jre/lib/amd64:/home/starksm/java/jrockit-jdk1.5.0_06/jre/../lib/amd64
          17:00:35,373 INFO [Http11Protocol] Initializing Coyote HTTP/1.1 on http-0.0.0.0-8080
          17:00:35,374 INFO [AjpProtocol] Initializing Coyote AJP/1.3 on ajp-0.0.0.0-800917:00:35,374 INFO [Catalina] Initialization processed in 164 ms
          17:00:35,376 INFO [StandardService] Starting service jboss.web
          17:00:35,381 INFO [StandardEngine] Starting Servlet Engine: Apache Tomcat/2.0.0.dev
          17:00:35,405 INFO [StandardHost] XML validation disabled
          17:00:35,422 INFO [Catalina] Server startup in 48 ms
          17:00:38,324 INFO [TomcatDeployment] deploy, ctxPath=/invoker, warUrl=.../deploy/http-invoker.sar/invoker.war/
          17:00:38,561 INFO [WebappLoader] Dual registration of jndi stream handler: factory already defined
          17:00:39,158 INFO [StandardContext] Container org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/invoker] has already been started
          17:00:39,175 INFO [SocketServerInvoker] Invoker started for locator: InvokerLocator [socket://192.168.2.101:3873/]
          17:00:39,226 INFO [MailService] Mail Service bound to java:/Mail
          17:00:39,707 INFO [TomcatDeployment] deploy, ctxPath=/web-console, warUrl=.../deploy/management/console-mgr.sar/web-console.war/
          17:00:40,115 INFO [StandardContext] Container org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/web-console] has already been started
          17:00:40,856 INFO [TomcatDeployment] deploy, ctxPath=/jbossws, warUrl=.../deploy/jbossws.sar/jbossws-context.war
          17:00:40,901 INFO [StandardContext] Container org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/jbossws] has already been started
          17:00:40,908 INFO [TomcatDeployment] deploy, ctxPath=/jmx-console, warUrl=.../deploy/jmx-console.war/
          17:00:40,959 INFO [StandardContext] Container org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/jmx-console] has already been started
          17:00:40,976 INFO [RARDeployment] Required license terms exist, view .../deploy/jboss-ha-local-jdbc.rar!/META-INF/ra.xml
          17:00:40,978 INFO [RARDeployment] Required license terms exist, view .../deploy/mail-ra.rar!/META-INF/ra.xml
          17:00:40,996 INFO [RARDeployment] Required license terms exist, view .../deploy/jms/jms-ra.rar!/META-INF/ra.xml
          17:00:41,019 INFO [RARDeployment] Required license terms exist, view .../deploy/quartz-ra.rar!/META-INF/ra.xml
          17:00:41,101 INFO [SimpleThreadPool] Job execution threads will use class loader of thread: main
          17:00:41,120 INFO [QuartzScheduler] Quartz Scheduler v.1.5.2 created.
          17:00:41,124 INFO [RAMJobStore] RAMJobStore initialized.
          17:00:41,125 INFO [StdSchedulerFactory] Quartz scheduler 'DefaultQuartzScheduler' initialized from default resource file in Quartz package: 'quartz.properties'17:00:41,125 INFO [StdSchedulerFactory] Quartz scheduler version: 1.5.2
          17:00:41,128 INFO [QuartzScheduler] Scheduler DefaultQuartzScheduler_$_NON_CLUSTERED started.
          17:00:41,129 INFO [RARDeployment] Required license terms exist, view .../deploy/jboss-xa-jdbc.rar!/META-INF/ra.xml
          17:00:41,130 INFO [RARDeployment] Required license terms exist, view .../deploy/jboss-local-jdbc.rar!/META-INF/ra.xml
          17:00:41,228 INFO [WrapperDataSourceService] Bound ConnectionManager 'jboss.jca:service=DataSourceBinding,name=DefaultDS' to JNDI name 'java:DefaultDS'
          17:00:41,603 INFO [SimpleThreadPool] Job execution threads will use class loader of thread: main
          17:00:41,604 INFO [QuartzScheduler] Quartz Scheduler v.1.5.2 created.
          17:00:41,607 INFO [JobStoreCMT] Using db table-based data access locking (synchronization).
          17:00:41,725 INFO [JobStoreCMT] Removed 0 Volatile Trigger(s).
          17:00:41,725 INFO [JobStoreCMT] Removed 0 Volatile Job(s).
          17:00:41,732 INFO [JobStoreCMT] JobStoreCMT initialized.
          17:00:41,732 INFO [StdSchedulerFactory] Quartz scheduler 'JBossEJB3QuartzScheduler' initialized from an externally provided properties instance.
          17:00:41,732 INFO [StdSchedulerFactory] Quartz scheduler version: 1.5.2
          17:00:41,740 INFO [JobStoreCMT] Freed 0 triggers from 'acquired' / 'blocked' state.
          17:00:41,751 INFO [JobStoreCMT] Recovering 0 jobs that were in-progress at the time of the last shut-down.
          17:00:41,751 INFO [JobStoreCMT] Recovery complete.
          17:00:41,751 INFO [JobStoreCMT] Removed 0 'complete' triggers.
          17:00:41,752 INFO [JobStoreCMT] Removed 0 stale fired job entries.
          17:00:41,755 INFO [QuartzScheduler] Scheduler JBossEJB3QuartzScheduler_$_NON_CLUSTERED started.
          17:00:41,951 INFO [RARDeployment] Required license terms exist, view .../deploy/jboss-ha-xa-jdbc.rar!/META-INF/ra.xml
          17:00:41,999 INFO [Ejb3Deployment] EJB3 deployment time took: 20
          17:00:42,071 INFO [Ejb3Deployment] EJB3 deployment time took: 71
          17:00:42,071 INFO [Ejb3Deployment] EJB3 deployment time took: 0
          17:00:42,074 INFO [Ejb3Deployment] EJB3 deployment time took: 2
          17:00:42,075 INFO [Ejb3Deployment] EJB3 deployment time took: 1
          17:00:42,085 INFO [Ejb3Deployment] EJB3 deployment time took: 9
          17:00:42,096 INFO [Ejb3Deployment] EJB3 deployment time took: 10
          17:00:42,098 INFO [Ejb3Deployment] EJB3 deployment time took: 2
          17:00:42,099 INFO [Ejb3Deployment] EJB3 deployment time took: 1
          17:00:42,118 INFO [Ejb3Deployment] EJB3 deployment time took: 19
          17:00:42,121 INFO [Ejb3Deployment] EJB3 deployment time took: 3
          17:00:42,121 INFO [Ejb3Deployment] EJB3 deployment time took: 0
          17:00:42,122 INFO [Ejb3Deployment] EJB3 deployment time took: 1
          17:00:42,159 INFO [Ejb3Deployment] EJB3 deployment time took: 37
          17:00:42,195 INFO [Ejb3Deployment] EJB3 deployment time took: 36
          17:00:42,405 INFO [Ejb3Deployment] EJB3 deployment time took: 210
          17:00:42,405 INFO [Ejb3Deployment] EJB3 deployment time took: 0
          17:00:42,772 INFO [Ejb3Deployment] EJB3 deployment time took: 367
          17:00:42,783 INFO [Ejb3Deployment] EJB3 deployment time took: 11
          17:00:42,791 INFO [Ejb3Deployment] EJB3 deployment time took: 8
          17:00:42,797 INFO [Ejb3Deployment] EJB3 deployment time took: 6
          17:00:42,814 INFO [Ejb3Deployment] EJB3 deployment time took: 17
          17:00:42,814 INFO [Ejb3Deployment] EJB3 deployment time took: 0
          17:00:42,816 INFO [Ejb3Deployment] EJB3 deployment time took: 2
          17:00:42,816 INFO [Ejb3Deployment] EJB3 deployment time took: 0
          17:00:42,818 INFO [Ejb3Deployment] EJB3 deployment time took: 1
          17:00:42,818 INFO [Ejb3Deployment] EJB3 deployment time took: 0
          17:00:42,821 INFO [Ejb3Deployment] EJB3 deployment time took: 3
          17:00:42,838 INFO [Ejb3Deployment] EJB3 deployment time took: 17
          17:00:42,846 INFO [Ejb3Deployment] EJB3 deployment time took: 7
          17:00:42,871 INFO [Ejb3Deployment] EJB3 deployment time took: 25
          17:00:42,871 INFO [Ejb3Deployment] EJB3 deployment time took: 0
          17:00:42,873 INFO [Ejb3Deployment] EJB3 deployment time took: 2
          17:00:42,883 ERROR [ProfileServiceBootstrap] Failed to load profile: Summary of incomplete deployments (SEE PREVIOUS ERRORS FOR DETAILS):
          
          *** CONTEXTS MISSING DEPENDENCIES: Name -> Dependency{Required State:Actual State}
          
          jboss.ws:service=DeployerInterceptorEJB21
           -> jboss.ejb:service=EJBDeployer{Create:** NOT FOUND **}
           -> jboss.ejb:service=EJBDeployer{Start:** NOT FOUND **}
          
          jboss.ws:service=DeployerInterceptorEJB3
           -> jboss.ejb3:service=EJB3Deployer{Create:** NOT FOUND **}
           -> jboss.ejb3:service=EJB3Deployer{Start:** NOT FOUND **}
          
          jboss.ws:service=DeployerInterceptorNestedJSE
           -> jboss.ws:service=WebServiceDeployerJSE{Start:Configured}
           -> jboss.ws:service=WebServiceDeployerJSE{Create:Configured}
          
          jboss.ws:service=WebServiceDeployerJSE
           -> jboss.web:service=WebServer{Create:** NOT FOUND **}
           -> jboss.web:service=WebServer{Start:** NOT FOUND **}
          
          
          *** CONTEXTS IN ERROR: Name -> Error
          
          jboss.web:service=WebServer -> ** NOT FOUND **
          
          jboss.ejb3:service=EJB3Deployer -> ** NOT FOUND **
          
          jboss.ejb:service=EJBDeployer -> ** NOT FOUND **
          
          
          17:00:42,897 INFO [Http11Protocol] Starting Coyote HTTP/1.1 on http-0.0.0.0-8080
          17:00:42,920 INFO [AjpProtocol] Starting Coyote AJP/1.3 on ajp-0.0.0.0-8009
          17:00:42,924 INFO [ServerImpl] JBoss (Microcontainer) [5.0.0.Beta (build: CVSTag=HEAD date=200610251648)] Started in 13s:405ms
          



          • 2. Re: Structure deployer changes comitted to trunk
            Kabir Khan Master

             

            "scott.stark@jboss.org" wrote:
            Let me know if your seeing other problems.


            For the aop tests I am seeing a couple of problems where nested .aop files are ignored. The classes in the .aop files are not added to the classpath resulting in NoClassDefFoundErrors and the META-INF/jboss-aop.xml files are not picked up.

            If I deploy a sar which has a nested .aop file, the sub deployments are no longer passed in to the deployers. These are deployed in the testsuite, and so are deployed via a MainDeployer.deploy().

            If I put the sar in the deploy folder and then start up jboss, both the sar and the nested .aop file get picked up.

            The sar and aop files are packed


            • 3. Re: Structure deployer changes comitted to trunk
              Scott Stark Master

               

              "kabir.khan@jboss.com" wrote:

              For the aop tests I am seeing a couple of problems where nested .aop files are ignored. ...

              The sar and aop files are packed

              Its related to what Bill mentioned in that the EARStructure deployer is assuming that only top-level deployments exist and those are declared via the application.xml. Really, it is essentially a VirtualFileFilter on the ear file that should delegate the creation of the module ContextInfo to the passed in deployers. EARStructure just filters what should be considered as candidates for deployment.

              I might as well just make this change instead of trying to get "simple" ears working. Give me an example of such a nested deployment so I can add it to the ear I'm testing.


              • 4. Re: Structure deployer changes comitted to trunk
                Kabir Khan Master

                testsuite\output\lib\aop-extendertest.sar contains aop-extendertest.aop. It is run by testsuite/org.jboss.test.aop.test.ExtenderTestCase. This worked fine earlier this week in case I wasn't clear

                • 5. Re: Structure deployer changes comitted to trunk
                  Scott Stark Master

                   

                  "kabir.khan@jboss.com" wrote:

                  For the aop tests I am seeing a couple of problems where nested .aop files are ignored. The classes in the .aop files are not added to the classpath resulting in NoClassDefFoundErrors and the META-INF/jboss-aop.xml files are not picked up.

                  If I deploy a sar which has a nested .aop file, the sub deployments are no longer passed in to the deployers. These are deployed in the testsuite, and so are deployed via a MainDeployer.deploy().

                  If I put the sar in the deploy folder and then start up jboss, both the sar and the nested .aop file get picked up.

                  The sar and aop files are packed


                  I have fixed the remote deployment issue, and the structure is correct in terms of the DeploymentContexts. I am seeing an error I don't see when the sar is deployed in deploy though:

                  23:13:19,874 WARN [AspectManagerServiceJDK5] EnableTransformer has been deprecated, please use EnableLoadtimeWeaving. See docs for more details
                  23:13:19,898 WARN [MainDeployer] undeploy 'file:/home/svn/JBossHead/jboss-head/testsuite/output/lib/aop-extendertest.sar' : package not deployed
                  23:13:19,899 INFO [MainDeployer] deploy, url=file:/home/svn/JBossHead/jboss-head/testsuite/output/lib/aop-extendertest.sar
                  23:13:59,355 ERROR [AbstractKernelController] Error installing to Instantiated: name=jboss.aop:name=ExtenderTester state=Described mode=Manual requiredState=Configured
                  org.jboss.deployment.DeploymentException: Unable to createMBean for jboss.aop:name=ExtenderTester
                  


                  Can you look at that and let me know what is different. You need the mc snapshot jar updates I just committed.



                  • 6. Re: Structure deployer changes comitted to trunk
                    Kabir Khan Master

                    For me the MBean gets installed correctly, but the deployment of the nested .aop archive fails when using MainDeployer.deploy()

                    2006-10-27 12:40:03,656 ERROR [org.jboss.ejb3.deployers.EJBRegistrationDeployer] Error during deployment: jar:file:/C:/cygwin/home/Kabir/sourcecontrol/jboss-head/testsuite/output/lib/aop-extendertest.sar!/aop-extendertest.aop
                    org.jboss.deployers.spi.DeploymentException: java.lang.StringIndexOutOfBoundsException: String index out of range: -1
                     at org.jboss.ejb3.deployers.EJBRegistrationDeployer.deploy(EJBRegistrationDeployer.java:147)
                     at org.jboss.deployers.plugins.deployer.AbstractSimpleDeployer.commitDeploy(AbstractSimpleDeployer.java:52)
                     at org.jboss.deployers.plugins.deployer.DeployerWrapper.commitDeploy(DeployerWrapper.java:145)
                     at org.jboss.deployers.plugins.deployment.MainDeployerImpl.commitDeploy(MainDeployerImpl.java:440)
                     at org.jboss.deployers.plugins.deployment.MainDeployerImpl.process(MainDeployerImpl.java:381)
                     at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:795)
                     at org.jboss.deployment.MainDeployer.redeploy(MainDeployer.java:570)
                    ....
                    Caused by: java.lang.StringIndexOutOfBoundsException: String index out of range: -1
                     at java.lang.String.substring(String.java:1768)
                     at org.jboss.ejb3.deployers.JBoss5DeploymentScope.<init>(JBoss5DeploymentScope.java:57)
                     at org.jboss.ejb3.deployers.EJBRegistrationDeployer.deploy(EJBRegistrationDeployer.java:131)
                    
                    


                    EJBRegistrationDeployer.deploy():
                    ...
                     DeploymentScope scope = null;
                     if (unit.getDeploymentContext().getParent() != null)
                     {
                     scope = new JBoss5DeploymentScope(unit.getDeploymentContext().getParent());
                     }
                    ...
                    


                     public JBoss5DeploymentScope(DeploymentContext parent)
                     {
                     // Use the root vfs path name
                     this.shortName = parent.getRoot().getPathName();
                    
                    }
                    


                    The pathname returned by the JARHandler is an empty string.

                    • 7. Re: Structure deployer changes comitted to trunk
                      Kabir Khan Master

                      If I try to run the test again (with jboss still running), I get the error you are mentioning

                      2006-10-27 13:05:30,015 ERROR [org.jboss.kernel.plugins.dependency.AbstractKernelController] Error installing to Instantiated: name=jboss.aop:name=ExtenderTester state=Described mode=Manual requiredState=Configured
                      org.jboss.deployment.DeploymentException: Unable to createMBean for jboss.aop:name=ExtenderTester
                       at org.jboss.deployment.DeploymentException.rethrowAsDeploymentException(DeploymentException.java:52)
                       at org.jboss.system.ServiceCreator.install(ServiceCreator.java:141)
                       at org.jboss.system.microcontainer.InstantiateAction.installAction(InstantiateAction.java:45)
                       at org.jboss.system.microcontainer.ServiceControllerContextAction.install(ServiceControllerContextAction.java:46)
                       at org.jboss.dependency.plugins.AbstractControllerContextActions.install(AbstractControllerContextActions.java:51)
                       at
                      ....
                      Caused by: java.lang.NoClassDefFoundError: org/jboss/test/aop/extender/Base
                       at java.lang.Class.getDeclaredConstructors0(Native Method)
                       at java.lang.Class.privateGetDeclaredConstructors(Class.java:2357)
                       at java.lang.Class.getConstructor0(Class.java:2671)
                       at java.lang.Class.getConstructor(Class.java:1629)
                       at org.jboss.mx.server.MBeanServerImpl.instantiate(MBeanServerImpl.java:1241)
                       at org.jboss.mx.server.MBeanServerImpl.instantiate(MBeanServerImpl.java:286)
                       at org.jboss.mx.server.MBeanServerImpl.createMBean(MBeanServerImpl.java:344)
                       at org.jboss.system.ServiceCreator.installPlainMBean(ServiceCreator.java:197)
                       at org.jboss.system.ServiceCreator.install(ServiceCreator.java:115)
                      


                      The Base class lives in the nested .aop file, so it seems that the second time round it is not looking at the nested .aop file

                      • 8. Re: Structure deployer changes comitted to trunk
                        Scott Stark Master

                         

                        "kabir.khan@jboss.com" wrote:
                        For me the MBean gets installed correctly, but the deployment of the nested .aop archive fails when using MainDeployer.deploy()

                        2006-10-27 12:40:03,656 ERROR [org.jboss.ejb3.deployers.EJBRegistrationDeployer] Error during deployment: jar:file:/C:/cygwin/home/Kabir/sourcecontrol/jboss-head/testsuite/output/lib/aop-extendertest.sar!/aop-extendertest.aop
                        org.jboss.deployers.spi.DeploymentException: java.lang.StringIndexOutOfBoundsException: String index out of range: -1
                         at org.jboss.ejb3.deployers.EJBRegistrationDeployer.deploy(EJBRegistrationDeployer.java:147)
                         at org.jboss.deployers.plugins.deployer.AbstractSimpleDeployer.commitDeploy(AbstractSimpleDeployer.java:52)
                         at org.jboss.deployers.plugins.deployer.DeployerWrapper.commitDeploy(DeployerWrapper.java:145)
                         at org.jboss.deployers.plugins.deployment.MainDeployerImpl.commitDeploy(MainDeployerImpl.java:440)
                         at org.jboss.deployers.plugins.deployment.MainDeployerImpl.process(MainDeployerImpl.java:381)
                         at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:795)
                         at org.jboss.deployment.MainDeployer.redeploy(MainDeployer.java:570)
                        ....
                        Caused by: java.lang.StringIndexOutOfBoundsException: String index out of range: -1
                         at java.lang.String.substring(String.java:1768)
                         at org.jboss.ejb3.deployers.JBoss5DeploymentScope.<init>(JBoss5DeploymentScope.java:57)
                         at org.jboss.ejb3.deployers.EJBRegistrationDeployer.deploy(EJBRegistrationDeployer.java:131)
                        
                        


                        EJBRegistrationDeployer.deploy():
                        ...
                         DeploymentScope scope = null;
                         if (unit.getDeploymentContext().getParent() != null)
                         {
                         scope = new JBoss5DeploymentScope(unit.getDeploymentContext().getParent());
                         }
                        ...
                        


                         public JBoss5DeploymentScope(DeploymentContext parent)
                         {
                         // Use the root vfs path name
                         this.shortName = parent.getRoot().getPathName();
                        
                        }
                        


                        The pathname returned by the JARHandler is an empty string.

                        That is the opposite of why I changed the JBoss5DeploymentScope. It was using the full string name of the deployment url which is an invalid jmx name. I think we need a short/canonical name accessor on the DeploymentContext which returns the base vfs file name, or '/' if its the vfs root. I'll beef up the name handling error checking regardless.


                        • 9. Re: Structure deployer changes comitted to trunk
                          Scott Stark Master

                           

                          "kabir.khan@jboss.com" wrote:
                          If I try to run the test again (with jboss still running), I get the error you are mentioning

                          The Base class lives in the nested .aop file, so it seems that the second time round it is not looking at the nested .aop file

                          The DeploymentContext going into the deployment process looks the same to me so I don't know why it would differ between deployments. I'll drill into the class loader creation.


                          • 10. Re: Structure deployer changes comitted to trunk
                            Scott Stark Master

                             

                            "kabir.khan@jboss.com" wrote:
                            If I try to run the test again (with jboss still running), I get the error you are mentioning

                            ....
                            Caused by: java.lang.NoClassDefFoundError: org/jboss/test/aop/extender/Base
                             at java.lang.Class.getDeclaredConstructors0(Native Method)
                             at java.lang.Class.privateGetDeclaredConstructors(Class.java:2357)
                             at java.lang.Class.getConstructor0(Class.java:2671)
                             at java.lang.Class.getConstructor(Class.java:1629)
                             at org.jboss.mx.server.MBeanServerImpl.instantiate(MBeanServerImpl.java:1241)
                             at org.jboss.mx.server.MBeanServerImpl.instantiate(MBeanServerImpl.java:286)
                             at org.jboss.mx.server.MBeanServerImpl.createMBean(MBeanServerImpl.java:344)
                             at org.jboss.system.ServiceCreator.installPlainMBean(ServiceCreator.java:197)
                             at org.jboss.system.ServiceCreator.install(ServiceCreator.java:115)
                            


                            The Base class lives in the nested .aop file, so it seems that the second time round it is not looking at the nested .aop file


                            This is not the error I'm seeing. The error I see is a CNFE due to a problem with the AspectManager.translate call:

                            ...
                            Caused by: java.lang.ClassNotFoundException: org.jboss.test.aop.extender.ExtenderTester
                             at org.jboss.mx.loading.RepositoryClassLoader.findClass(RepositoryClassLoader.java:539)
                            ...
                            Caused by: java.lang.NoSuchMethodError: isCompileTime
                             at org.jboss.aop.AspectManager.translate(AspectManager.java:918)
                             at org.jboss.aop.AspectManager.transform(AspectManager.java:880)
                             at org.jboss.mx.loading.RepositoryClassLoader.findClass(RepositoryClassLoader.java:525)
                             at java.lang.ClassLoader.loadClass(Ljava.lang.String;Z)Ljava.lang.Class;(Unknown Source)
                             at org.jboss.mx.loading.RepositoryClassLoader.loadClassLocally(RepositoryClassLoader.java:190)
                             at org.jboss.mx.loading.ClassLoadingTask$ThreadTask.run(ClassLoadingTask.java:131)
                             at org.jboss.mx.loading.LoadMgr3.nextTask(LoadMgr3.java:399)
                             at org.jboss.mx.loading.UnifiedClassLoader.loadClassImpl(UnifiedClassLoader.java:281)
                             at org.jboss.mx.loading.RepositoryClassLoader.loadClass(RepositoryClassLoader.java:406)
                             at java.lang.ClassLoader.loadClass(Ljava.lang.String;)Ljava.lang.Class;(Unknown Source)
                             at org.jboss.mx.server.MBeanServerImpl.instantiate(MBeanServerImpl.java:1213)
                             at org.jboss.mx.server.MBeanServerImpl.instantiate(MBeanServerImpl.java:286)
                             at org.jboss.mx.server.MBeanServerImpl.createMBean(MBeanServerImpl.java:344)
                             at org.jboss.system.ServiceCreator.installPlainMBean(ServiceCreator.java:197)
                             at org.jboss.system.ServiceCreator.install(ServiceCreator.java:115)
                             at org.jboss.system.microcontainer.InstantiateAction.installAction(InstantiateAction.java:45)
                             at org.jboss.system.microcontainer.ServiceControllerContextAction.install(ServiceControllerContextAction.java:46)
                             at org.jboss.dependency.plugins.AbstractControllerContextActions.install(AbstractControllerContextActions.java:51)
                             at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:226)
                             at org.jboss.system.microcontainer.ServiceControllerContext.install(ServiceControllerContext.java:198)
                             at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:709)
                             at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:429)
                             at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:538)
                             at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:472)
                             at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:320)
                             at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:190)
                             at org.jboss.system.ServiceController.doChange(ServiceController.java:656)
                             at org.jboss.system.ServiceController.install(ServiceController.java:272)
                             at org.jboss.system.deployers.ServiceDeployer.deploy(ServiceDeployer.java:76)
                             at org.jboss.system.deployers.ServiceDeployer.deploy(ServiceDeployer.java:44)
                             at org.jboss.deployers.plugins.deployers.helpers.AbstractSimpleRealDeployer.deploy(AbstractSimpleRealDeployer.java:56)
                             at org.jboss.deployers.plugins.deployer.AbstractSimpleDeployer.commitDeploy(AbstractSimpleDeployer.java:52)
                            


                            The org.jboss.aop.AspectManager.translate(AspectManager.java:918) is this one:
                             if (TransformerCommon.isCompileTime() || classicOrder)
                             {
                             weavingStrategy = new ClassicWeavingStrategy();
                             }
                            


                            my aop snapshot is upto date so I don't know where this is coming from.


                            • 11. Re: Structure deployer changes comitted to trunk
                              Scott Stark Master

                              This TransformerCommon problem is specific to jrockit. I don't see this when running under the sun jdk. Is this a runtime weaving check issue? We need a better error that indicates the problem if it is. The jrocket version I'm using is

                              [starksm@succubus lib]$ java -version
                              java version "1.5.0_06"
                              Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_06-b05)
                              BEA JRockit(R) (build R26.4.0-63-63688-1.5.0_06-20060626-2259-linux-x86_64, )
                              



                              • 12. Re: Structure deployer changes comitted to trunk
                                Scott Stark Master

                                The redeployment problem is now fixed. It was a dumb issue with the DefaultStructureBuilder using a instance variable for the DeploymentContext map being built from the ContextInfo when this should have just been a transient local variable. Redeployment was reusing old DeploymentContexts. You need to get the updated jboss-deployers.jar from the mc snapshot.

                                [starksm@succubus testsuite]$ run_tests.sh
                                ant -Dtest=org.jboss.test.aop.test.ExtenderTestCase -Dnojars=t one-test
                                Buildfile: build.xml
                                Overriding previous definition of reference to jboss.test.classpath
                                
                                one-test:
                                 [mkdir] Created dir: /home/svn/JBossHead/jboss-head/testsuite/output/log
                                 [junit] Running org.jboss.test.aop.test.ExtenderTestCase
                                 [junit] Tests run: 1, Failures: 0, Errors: 0, Time elapsed: 1.024 sec
                                
                                BUILD SUCCESSFUL
                                Total time: 5 seconds
                                [starksm@succubus testsuite]$ run_tests.sh
                                ant -Dtest=org.jboss.test.aop.test.ExtenderTestCase -Dnojars=t one-test
                                Buildfile: build.xml
                                Overriding previous definition of reference to jboss.test.classpath
                                
                                one-test:
                                 [mkdir] Created dir: /home/svn/JBossHead/jboss-head/testsuite/output/log
                                 [junit] Running org.jboss.test.aop.test.ExtenderTestCase
                                 [junit] Tests run: 1, Failures: 0, Errors: 0, Time elapsed: 1.001 sec
                                
                                BUILD SUCCESSFUL
                                Total time: 5 seconds
                                



                                • 13. Re: Structure deployer changes comitted to trunk
                                  Kabir Khan Master

                                  I tried running JBoss with JRockit, but am getting the following error

                                  $ run.sh
                                  =========================================================================
                                  
                                   JBoss Bootstrap Environment
                                  
                                   JBOSS_HOME: C:\cygwin\home\Kabir\sourcecontrol\jboss-head\build\output\jboss-5.0.0.Beta
                                  
                                   JAVA: /c/Java/jdk/jrockit-jdk1.5.0_03/bin/java
                                  
                                   JAVA_OPTS: -Dprogram.name=run.sh -Xms128m -Xmx512m -Dorg.jboss.resolver.warning=true -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000
                                  
                                   CLASSPATH: C:\cygwin\home\Kabir\sourcecontrol\jboss-head\build\output\jboss-5.0.0.Beta\bin\run.jar;C:\Java\jdk\jrockit-jdk1.5.0_03\lib\tools.jar
                                  
                                  =========================================================================
                                  
                                  17:29:06,734 INFO [ServerImpl] Starting JBoss (Microcontainer)...
                                  17:29:06,766 INFO [ServerImpl] Release ID: JBoss [Morpheus] 5.0.0.Beta (build: CVSTag=HEAD date=200610271110)
                                  17:29:06,766 INFO [ServerImpl] Home Dir: C:\cygwin\home\Kabir\sourcecontrol\jboss-head\build\output\jboss-5.0.0.Beta
                                  17:29:06,766 INFO [ServerImpl] Home URL: file:/C:/cygwin/home/Kabir/sourcecontrol/jboss-head/build/output/jboss-5.0.0.Beta/
                                  17:29:06,766 INFO [ServerImpl] Library URL: file:/C:/cygwin/home/Kabir/sourcecontrol/jboss-head/build/output/jboss-5.0.0.Beta/lib/
                                  17:29:06,766 INFO [ServerImpl] Patch URL: null
                                  17:29:06,766 INFO [ServerImpl] Server Name: default
                                  17:29:06,766 INFO [ServerImpl] Server Home Dir: C:\cygwin\home\Kabir\sourcecontrol\jboss-head\build\output\jboss-5.0.0.Beta\server\default
                                  17:29:06,766 INFO [ServerImpl] Server Home URL: file:/C:/cygwin/home/Kabir/sourcecontrol/jboss-head/build/output/jboss-5.0.0.Beta/server/default/
                                  17:29:06,766 INFO [ServerImpl] Server Data Dir: C:\cygwin\home\Kabir\sourcecontrol\jboss-head\build\output\jboss-5.0.0.Beta\server\default\data
                                  17:29:06,766 INFO [ServerImpl] Server Temp Dir: C:\cygwin\home\Kabir\sourcecontrol\jboss-head\build\output\jboss-5.0.0.Beta\server\default\tmp
                                  17:29:06,766 INFO [ServerImpl] Server Config URL: file:/C:/cygwin/home/Kabir/sourcecontrol/jboss-head/build/output/jboss-5.0.0.Beta/server/default/conf/
                                  17:29:06,766 INFO [ServerImpl] Server Library URL: file:/C:/cygwin/home/Kabir/sourcecontrol/jboss-head/build/output/jboss-5.0.0.Beta/server/default/lib/
                                  17:29:06,766 INFO [ServerImpl] Root Deployment Filename: jboss-service.xml
                                  17:29:06,797 INFO [ServerImpl] Starting Microcontainer, bootstrapURL=file:/C:/cygwin/home/Kabir/sourcecontrol/jboss-head/build/output/jboss-5.0.0.Beta/server/default/conf/deployer-beans.xml
                                  Failed to boot JBoss:
                                  java.lang.RuntimeException: Unable to create a KernelInitializer based on the specified KernelConfig
                                   at org.jboss.kernel.KernelFactory.createKernelInitializer(KernelFactory.java:156)
                                   at org.jboss.kernel.KernelFactory.assembleNewKernel(KernelFactory.java:99)
                                   at org.jboss.kernel.KernelFactory.newInstance(KernelFactory.java:67)
                                   at org.jboss.kernel.plugins.bootstrap.AbstractBootstrap.bootstrap(AbstractBootstrap.java:120)
                                   at org.jboss.system.server.profileservice.ProfileServiceBootstrap.bootstrap(ProfileServiceBootstrap.java:186)
                                   at org.jboss.kernel.plugins.bootstrap.AbstractBootstrap.run(AbstractBootstrap.java:89)
                                   at org.jboss.system.server.profileservice.ServerImpl.doStart(ServerImpl.java:401)
                                   at org.jboss.system.server.profileservice.ServerImpl.start(ServerImpl.java:340)
                                   at org.jboss.Main.boot(Main.java:210)
                                   at org.jboss.Main$1.run(Main.java:508)
                                   at java.lang.Thread.run()V(Unknown Source)
                                  Caused by: java.lang.ArrayIndexOutOfBoundsException
                                   at org.jboss.reflect.plugins.MethodInfoImpl.<init>(MethodInfoImpl.java:103)
                                   at org.jboss.reflect.plugins.introspection.ReflectMethodInfoImpl.<init>(ReflectMethodInfoImpl.java:67)
                                   at org.jboss.reflect.plugins.introspection.IntrospectionTypeInfoFactoryImpl.getMethods(IntrospectionTypeInfoFactoryImpl.java:170)
                                   at org.jboss.reflect.plugins.ClassInfoImpl.getDeclaredMethods(ClassInfoImpl.java:281)
                                   at org.jboss.beans.info.plugins.AbstractBeanInfoFactory.getMethods(AbstractBeanInfoFactory.java:194)
                                   at org.jboss.beans.info.plugins.AbstractBeanInfoFactory.getBeanInfo(AbstractBeanInfoFactory.java:135)
                                   at org.jboss.config.plugins.AbstractConfiguration.getBeanInfo(AbstractConfiguration.java:73)
                                   at org.jboss.kernel.plugins.config.AbstractKernelConfig.getBeanInfo(AbstractKernelConfig.java:55)
                                   at org.jboss.kernel.plugins.config.property.PropertyKernelConfig.getImplementation(PropertyKernelConfig.java:157)
                                   at org.jboss.kernel.plugins.config.property.PropertyKernelConfig.createKernelInitializer(PropertyKernelConfig.java:118)
                                   at org.jboss.kernel.KernelFactory.createKernelInitializer(KernelFactory.java:150)
                                   ... 10 more
                                  17:29:06,906 INFO [ServerImpl] JBoss SHUTDOWN
                                  


                                  My JRockit is old though, so I'm downloading the latest version

                                  • 14. Re: Structure deployer changes comitted to trunk
                                    Kabir Khan Master

                                    A new JRockit fixes the previous problem

                                    1 2 Previous Next