Topic
13 replies Latest Post - ‏2013-10-08T10:22:10Z by U4UE_xie_zhi
AnandKumarMatta
AnandKumarMatta
11 Posts
ACCEPTED ANSWER

Pinned topic WAS CE3 With Struts2 and Quartz

‏2013-09-26T08:01:15Z |

 

We are working web based application which needs to be deployed on Websphere application server Community Edition  3.0.0.3 (WAS - CE) and facing some issues with the application WAR file deployment.

 

Below are some of the libraries that we are using in the application -

·         Quartz 2.0.2

·         Struts 2

·         JSON 2.1

 

While deployment process we are getting the below error  For more details attached server.log-

 

The deployment failing. It is not able to start in WAS CE. Can someone help me how use 3rd party jars like quartz in the application. What need to be packed and should not pack in WAR file?

To debug / resolve the issue, based on internet help we used geronimo-web.xml for deployment and have followed the steps as mentioned in the attached document.

We are not sure if we are missing anything in the deployment process itself / configuration steps for geronimo-web.xml. The respective error log is also attached in the document.

 

Kindly get in touch with Chintamani Gokhale and / or Anand Kumar Matta (marked in Cc) for any pointers you might have to resolve the issue.

Looking forward for your prompt help.

Thank you,

M Anand

Attachments

Updated on 2013-09-26T08:02:40Z at 2013-09-26T08:02:40Z by AnandKumarMatta
  • U4UE_xie_zhi
    U4UE_xie_zhi
    54 Posts
    ACCEPTED ANSWER

    Re: WAS CE3 With Struts2 and Quartz

    ‏2013-09-29T07:40:18Z  in response to AnandKumarMatta

    Hi, if I remember correctly, hidden-classes has been replaced by import-package from wasce 3.0.0.0. So the part of hidden-classes should be replaced by the following.

    <dep:import-package>!org.apache.log4j*</dep:import-package>

    About the exception "java.lang.NoClassDefFoundError: org/quartz/ScheduleBuilder",  it seem couldn't load quartz-2.0.2.jar.Could you tell me where did you put the jar?

    • AnandKumarMatta
      AnandKumarMatta
      11 Posts
      ACCEPTED ANSWER

      Re: WAS CE3 With Struts2 and Quartz

      ‏2013-09-29T12:36:22Z  in response to U4UE_xie_zhi

       

      Thank you very much for the suggestions. 

      I am using typical Web application structure as shown in the attachment.

       

      All the required jar files placed under web-inf/lib

      If possible can you please share what are the recommend steps and folder structure is for was CE supported web application.

      I am building the war file using ANT and IBM java 7.x

      One more doubt is I am using tomcat as of now and running application successfully in my development environment. In the application I am using request and response classes, to avoid  compilation errors I am using servlet-api.jar and which jar used in case of WAS CE( I don't ship it along with WAR file because hopefully it was already included in the server class path)

      Thank you in advance.

      Attachments

      • U4UE_xie_zhi
        U4UE_xie_zhi
        54 Posts
        ACCEPTED ANSWER

        Re: WAS CE3 With Struts2 and Quartz

        ‏2013-10-01T13:18:53Z  in response to AnandKumarMatta

        Hi,AnandKumarMatta. I have reproduced your issue in my side. I will investigate the root cause.

      • U4UE_xie_zhi
        U4UE_xie_zhi
        54 Posts
        ACCEPTED ANSWER

        Re: WAS CE3 With Struts2 and Quartz

        ‏2013-10-01T14:16:05Z  in response to AnandKumarMatta

        Got it. You should disable the copy of quartz in the server side to be loaded. So please add the following setting in your geronimo-web.xml.

         
            <sys:import-package>!org.quartz*</sys:import-package>
        • AnandKumarMatta
          AnandKumarMatta
          11 Posts
          ACCEPTED ANSWER

          Re: WAS CE3 With Struts2 and Quartz

          ‏2013-10-03T05:42:05Z  in response to U4UE_xie_zhi

          Sure expert I will try and let you know.

          I am generating the geronimo-web.xml but it would be helpful, if you provide me the Skeleton of geronimo-web.xml.

           

          I am looking in to this : http://geronimo.apache.org/GMOxDOC30/geronimo-webxml.html

          Anand Kumar,

          Thank you.

          Updated on 2013-10-03T06:15:31Z at 2013-10-03T06:15:31Z by AnandKumarMatta
          • AnandKumarMatta
            AnandKumarMatta
            11 Posts
            ACCEPTED ANSWER

            Re: WAS CE3 With Struts2 and Quartz

            ‏2013-10-03T09:48:05Z  in response to AnandKumarMatta

            One Good news :)

            Its deployed and running.

            below is the geronimo-web.xml

            <web-app xmlns="http://geronimo.apache.org/xml/ns/j2ee/web-2.0.1" >

                <dep:environment xmlns:dep="http://geronimo.apache.org/xml/ns/deployment-1.2">
             
                    <dep:moduleId>
                        <dep:groupId>App</dep:groupId>
                        <dep:artifactId>APPWeb</dep:artifactId>
                        <dep:version>1.1</dep:version>
                        <dep:type>war</dep:type>
                    </dep:moduleId>
                    <dep:import-package>!org.apache.log4j*</dep:import-package>
                    <dep:import-package>!org.quartz*</dep:import-package>
                </dep:environment>
                
                <context-root>/STPWeb</context-root>

            </web-app>

             

             

            Now up and running I need to check by changing the quartz version to upper than the version available in the WAS CE. (Quartz 2.x)

            There is no change in the tag names I confused with the tag name given by you (starting with sys).

            by considering <sys: I searched for the sample geronimo-webxml.html file and find http://geronimo.apache.org/GMOxDOC30/geronimo-webxml.html

            But It does not workout also given below errors.

             

            The application was not deployed.The application was not deployed.
            Unable to resolve reference "Container"
            in gbean STP/STPWeb/1.0/war?J2EEApplication=null,j2eeType=WebModule,name=STP/STPWeb/1.0/war
            to a gbean matching the pattern [?name=TomcatWebContainer#]
            due to: No matches for referencePatterns: [?name=TomcatWebContainer#] (no matches)
            org.apache.geronimo.common.DeploymentException: Unable to resolve reference "Container"

            and the xml content I used is 

             

            <web-app xmlns="http://geronimo.apache.org/xml/ns/j2ee/web-2.0.1"
                     xmlns:sys="http://geronimo.apache.org/xml/ns/deployment-1.2">
             
                <sys:environment>
             
                    <sys:moduleId>
                        <sys:groupId>APP</sys:groupId>
                        <sys:artifactId>APPWeb</sys:artifactId>
                        <sys:version>1.0</sys:version>
                        <sys:type>war</sys:type>
                    </sys:moduleId>
              <sys:import-package>!org.apache.log4j*</sys:import-package>
              <sys:import-package>!org.quartz*</sys:import-package>
                    <sys:dependencies/>
                    <sys:hidden-classes/>
                    <sys:non-overridable-classes/>
                    <sys:inverse-classloading/>
                    <sys:suppress-default-environment/>
             
                </sys:environment>
                <context-root>/APPWeb</context-root>
            </web-app>

             

            I am adding this content, If any one try like me the tag name should be start with <dev: only. This is just my understanding.  There could be tags missing or the xmlns urls may wrong. Experts please correct me if I am wrong.

            Any have thank you ZHI XIE for giving <dep:import-package>!org.quartz*</dep:import-package>  input. This tag ignored and started using jars provided in the WEB-INF/ lib folder.

             

            Another doubt is how to deploy the war file command-line. Because I tried different ways:

            [ [root@v52540054097b bin]# sh deploy.sh -u wasceadmin -p wasceadmin -host localhost -U /opt/IBM/APPWeb.war
            Using GERONIMO_HOME:   /opt/IBM/WebSphere/AppServerCommunityEdition
            Using GERONIMO_TMPDIR: var/temp
            Using JRE_HOME:        /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre
            No command has been provided.
             
            usage: java -jar bin/deployer.jar [general options] command [command options]
             
            The general options are:
             

             

            [root@v52540054097b bin]# sh deploy.sh -u wasceadmin -p wasceadmin -host localhost -U /opt/IBM/APPWeb.war command deploy
            Using GERONIMO_HOME:   /opt/IBM/WebSphere/AppServerCommunityEdition
            Using GERONIMO_TMPDIR: var/temp
            Using JRE_HOME:        /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre
            Command [command] is undefined.
             
            usage: java -jar bin/deployer.jar [general options] command [command options]
             
            The general options are:
             

            Any suggestions on this. The server VNC is not working 

            Thank you ,

            M Anand

            Updated on 2013-10-03T12:59:13Z at 2013-10-03T12:59:13Z by AnandKumarMatta
            • U4UE_xie_zhi
              U4UE_xie_zhi
              54 Posts
              ACCEPTED ANSWER

              Re: WAS CE3 With Struts2 and Quartz

              ‏2013-10-06T14:54:17Z  in response to AnandKumarMatta

              In the doc[1] you found, you should see <import-package> in the section <sys:environment>. If you don't add <import-package> I provided, you will find the quartz version should be 1.8.3 in your application's MANIFEST.MF when you deploy it into ce server. Because ce has a quartz copy, when you deploy your application, ce would loaded the quartz copy first. So you should ignore the server's quartz copy first.

              About "Unable to resolve reference "Container"", it is a new error. Could you show me the complete log? I guess it is very helpful for identifying the root cause.

              1.http://geronimo.apache.org/GMOxDOC30/geronimo-webxml.html

              • AnandKumarMatta
                AnandKumarMatta
                11 Posts
                ACCEPTED ANSWER

                Re: WAS CE3 With Struts2 and Quartz

                ‏2013-10-07T08:40:14Z  in response to U4UE_xie_zhi

                Sure Please find the logs.

                In server.out Line number #412

                 

                Thank you,

                M Anand 

                 

                Attachments

                Updated on 2013-10-07T08:52:52Z at 2013-10-07T08:52:52Z by AnandKumarMatta
                • U4UE_xie_zhi
                  U4UE_xie_zhi
                  54 Posts
                  ACCEPTED ANSWER

                  Re: WAS CE3 With Struts2 and Quartz

                  ‏2013-10-08T06:39:04Z  in response to AnandKumarMatta

                  Sorry, I should ask the geronimo-web.xml too. From your logs, it looks like there is some mistake in your deploy plan.

                  Please send me your deploy plan or geronimo-web.xml. If you can provide your war, it will be more helpful.

                  • AnandKumarMatta
                    AnandKumarMatta
                    11 Posts
                    ACCEPTED ANSWER

                    Re: WAS CE3 With Struts2 and Quartz

                    ‏2013-10-08T07:21:26Z  in response to U4UE_xie_zhi

                    I already posted the xml please find it below for reference. I am sorry cannot upload the war file.

                     

                     

                    <web-app xmlns="http://geronimo.apache.org/xml/ns/j2ee/web-2.0.1"
                             xmlns:sys="http://geronimo.apache.org/xml/ns/deployment-1.2">
                     
                        <sys:environment>
                     
                            <sys:moduleId>
                                <sys:groupId>APP</sys:groupId>
                                <sys:artifactId>APPWeb</sys:artifactId>
                                <sys:version>1.0</sys:version>
                                <sys:type>war</sys:type>
                            </sys:moduleId>
                      <sys:import-package>!org.apache.log4j*</sys:import-package>
                      <sys:import-package>!org.quartz*</sys:import-package>
                            <sys:dependencies/>
                            <sys:hidden-classes/>
                            <sys:non-overridable-classes/>
                            <sys:inverse-classloading/>
                            <sys:suppress-default-environment/>
                     
                        </sys:environment>
                        <context-root>/APPWeb</context-root>
                    </web-app>
                    Updated on 2013-10-08T07:43:54Z at 2013-10-08T07:43:54Z by AnandKumarMatta
                    • U4UE_xie_zhi
                      U4UE_xie_zhi
                      54 Posts
                      ACCEPTED ANSWER

                      Re: WAS CE3 With Struts2 and Quartz

                      ‏2013-10-08T08:23:48Z  in response to AnandKumarMatta

                      OK,find the root cause. Please delete <sys:dependencies/> and <sys:suppress-default-environment/> in your geronimo-web.xml.

                      I suggest to delete those tags which is not used in your application. It will make the application clean, make the deployment efficiently.

                      • AnandKumarMatta
                        AnandKumarMatta
                        11 Posts
                        ACCEPTED ANSWER

                        Re: WAS CE3 With Struts2 and Quartz

                        ‏2013-10-08T09:44:11Z  in response to U4UE_xie_zhi

                        Sure I will do that. As per WAS CE 3 we should use <sys: instead of <dep: , or it does not matters? Why I am asking this question is the application working with <dep:

                        I will remove the tags which does not contain any child values.

                        Thank you,

                        M Anand kumar

                        • U4UE_xie_zhi
                          U4UE_xie_zhi
                          54 Posts
                          ACCEPTED ANSWER

                          Re: WAS CE3 With Struts2 and Quartz

                          ‏2013-10-08T10:22:10Z  in response to AnandKumarMatta

                          It doesn't a matter to use <sys:..> or <dep:..>, The key point is you use "http://geronimo.apache.org/xml/ns/deployment-1.2" .