Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migration of unmigrated content due to installation of a new plugin
Info
indent
{color:green}Help is available by sending an email to [mailto:

Help is available by sending an email to

csf-support@mit.edu

]{color} {color:green}Have any suggestion on how improve this wiki?  Please give us your feedback at [mailto:


Have any suggestion on how improve this wiki?  Please give us your feedback at csf-support@mit.edu

]{color}

Panel

Quick Links to:

Table of Contents
minLevelmaxLevel3
maxLevelminLevel3
Panel

Converting an OC4J

appilication

WAR application to a Tomcat 7 WAR application

Warning

Any Maven project who's artifact is a JAR is Tomcat 7 complatible compatible and no conversion is required.  The   
The following instructions are for Maven project who's artifact is a WAR. These instructions should make a web application run either in Tomcat 7 or OC4J.

  1. Run Eclipse and open the Maven project that you want to contert convert to a Tomcat 7 application.
  2. Open

    the

    your project's decorators.xml file for editing.  The decorators.xml file is located in your project's WEB-INF directory.
    Your decorator.xml should look similar to the following:

    Code Block
    
    <decorators defaultdir="/WEB-INF/decorators">
        <decorator name="ajax" page="ajax.jsp">
            <pattern>/**/ajax/*</pattern>
        </decorator>
        <decorator name="ssb" page="ssb.jsp">
            <pattern>/**/*</pattern>
        </decorator>
    </decorators>
    

    In each of the <pattern> tags, remove the leading /** so that the above now looks

    similiar

    similar to the following:

    Code Block
    
    <decorators defaultdir="/WEB-INF/decorators">
        <decorator name="ajax" page="ajax.jsp">
            <pattern>/*ajax/*</pattern>
        </decorator>
        <decorator name="ssb" page="ssb.jsp">
            <pattern>/*</pattern>
        </decorator>
    </decorators>
    

    When you are satisfied that everything is correct, save the changes.

  3. Open your project's applicationContext xml that contains the mitsisDataSource bean.  The mitsisDataSource beanshould look similar to:

    Code Block
    
    <bean id="mitsisDataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
        <property name="jndiName" value="jdbc/MitsisDS" />
    </bean>
    

    Remember the value of the name property.  In this example the value is jdbc/MitsisDS (the default for most ES web apps).  This value will be the Resource Definition name used

    in the following steps.
    Change the jndiName value as shown below

    throughout the remainder of this page.
    Add a new property, resourceRef,to the bean definition:

    Code Block
    
    <bean id="mitsisDataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
       <property name="jndiName" value="java:comp/env/jdbc/MitsisDS" />
       <property name="resourceRef" value="true" />
    </bean>
    
    by prefixing the existing jndiName value with java:comp/env/.  Don

    Don't forget to use your Resource Definition name in place of jdbc/MitsisDS.
    When you are satisfied that everything is correct, save the changes.

  4. Open your project's log4j.xml for editing and find the 2 lines similar to the following (attis the project's application context root):

    Code Block
    <param name="File" value="log/att.log" />
    <param name="File" value="log/hbn-att.log" />
    

    and change them to:

    Code Block
    <param name="File" value="${logs.dir}/att/att.log" />
    <param name="File" value="${logs.dir}/att/hbn-att.log" />
    

    When you are satisfied that everything is correct, save the changes.

  5. Open your project's web.xml for editing and add the following after the <servlet-mapping> tags and before the <welcome-file-list> tag.

    Code Block
    
    <resource-ref>
        <description>Oracle Datasource</description>
        <res-ref-name>jdbc/MitsisDS</res-ref-name>
        <res-type>javax.sql.DataSource</res-type>
        <res-auth>Container</res-auth>
    </resource-ref>
    

    Don't forget to use your Resource Definition name in place of jdbc/MitsisDS.
    When you are satisfied that everything is correct, save the changes.

  6. Open your Tomcat 7 server's context.xml, located at ${CATALINA_HOME}/conf/context.xml, and verify that a Resource Definition for your application exists.
    If the Resource Definition does not exits, add the following anywhere between the <context> and </context> tags:

    Code Block
    
    <Resource name="jdbc/MitsisDsMitsisDS"
       auth="Container"
       type="javax.sql.DataSource"
       driverClassName="oracle.jdbc.OracleDriver"
       url="jdbc:oracle:thin:@//earth-vault-2.mit.edu:1523/sundev2sundev11"
       username="XXXXXXXX"
       password="YYYYYYYY"
       maxActive="20"
       maxIdle="10"
       maxWait="-1"
       removeAbandoned="true"
       removeAbandonedTimeout="30"
       logAbandoned="true" />
    
    <ResourceLink global="jdbc/MitsisDS" name="jdbc/MitsisDS" type="javax.sql.DataSource"/>
    

    Don't forget to use your Resource Definition name in place of jdbc/MitsisDS.
    When you are satisfied that everything is correct, save the changes.

  7. Open the project's pom.xml and delete the following dependency:

    Code Block
    
    <dependency>
        <groupId>oracle</groupId>
        <artifactId>ojdbc</artifactId>
        <version>1.4</version>
        <scope>test</scope>
    </dependency>
    

    and add the following dependency:

    Code Block
    
    <dependency>
        <groupId>com.oracle</groupId>
        <artifactId>ojdbc6</artifactId>
        <version>11.2.0.3</version>
        <scope>test</scope>
    </dependency>
    

    When you are satisfied that everything is correct, save the changes.

  8. Search both Project Jar Dependencies and Project Test Jar Dependencies for any ojdbc-1.4.jar dependency and exclude the dependency.
    In Eclipse, this can be done by doing the following:
    1. Open a Project Explorer View, right click on your project and select Maven > Update Dependencies...
    2. Expand Maven Dependencies and scroll through the dependencies until you find the ojdbc-1.4.jar.
    3. Right click on the ojdbc-1.4.jar and select Maven > Exlude Maven Artifact...
  9. Update APPLICATION_NAME.properties (following is for assignsupervisor property file located at:  /private/var/local/etc/assignsupervisor/assignsupervisor.properties)
    supervasgn.url=https://registration-qa.mit.edu/advisorasgn
    supervasgn.view.on.websis.date=06/09/2011
    pdf.baseUrl=http://registration.mit.edu/advisorasgn/
    websis.url=student.mit.edu
    ###############
    email.address.from=youremail@mit.edu
    email.address.test.to=youremail@mit.edu
    email.production.mode=false
    ###############
    roles.function.category=REG
    local.authentication=true
     
    local.user.password=password
    local.user.name=avsingh
    local.mitroles=ADVISOR_ASSIGN
    local.mitroles=ADVISOR_ASSIGN_REGISTRAR
    local.mitroles=ADVISOR_ASSIGN_SUPERUSER
    local.mitroles.domain=REG
     
    import.upload.dir=${user.home}
  10. Add highlighted tomcat plugin in pom.xml of maven project.

      <build>

            <plugins>

                <plugin>

                    <groupId>org.codehaus.mojo</groupId>

                    <artifactId>exec-maven-plugin</artifactId>

                    <version>1.2</version>

                    <configuration>

                        <executable>java</executable>

                        <arguments>

                            <argument>-jar</argument>

                            <argument>${oc4j.j2eeHome}${file.separator}admin_client.jar</argument>

                            <argument>${oc4j.connectionUri}</argument>

                            <argument>${oc4j.username}</argument>

                            <argument>${oc4j.password}</argument>

                            <argument>-deploy</argument>

                            <argument>-file</argument>

                            <argument>${project.build.directory}${file.separator}${project.artifactId}-${project.version}.${project.packaging}</argument>

                            <argument>-deploymentName</argument>

                            <argument>${project.artifactId}</argument>

                            <argument>-bindAllWebApps</argument>

                            <argument>default-web-site</argument>

                            <argument>-contextRoot</argument>

                            <argument>${project.artifactId}</argument>

                        </arguments>

                    </configuration>

                </plugin>

                <plugin>

                    <groupId>org.codehaus.mojo</groupId>

                    <artifactId>tomcat-maven-plugin</artifactId>

                    <version>1.1</version>

                    <configuration>

                        <update>true</update>

                        <server>tomcatServer</server>

                        <username>${tomcat.username}</username>

                        <password>${tomcat.password}</password>

                        <url>${tomcat.url}</url>

                        <path>${tomcat.contextPath}</path>

                    </configuration>

                </plugin>

                

                <!-- java compiler plugin -->

                <plugin>

                    <groupId>org.apache.maven.plugins</groupId>

                    <artifactId>maven-compiler-plugin</artifactId>

                    <version>3.3</version>

                    <configuration>

                        <source>1.6</source>

                        <target>1.6</target>

                    </configuration>

                </plugin>            

            </plugins>

        </build>

  11. TOMCAT CONFIGURATION FOR AUTHENTICATION

        A)   Update server.xml and tomcat-users.xml in <tomcat home>/conf/server.xml

     

        Add the realm inside
        <Realm className="org.apache.catalina.realm.LockOutRealm">.

            <Realm className="org.apache.catalina.realm.JAASRealm" appName="Tomcat"               

                userClassNames="javax.security.auth.kerberos.KerberosPrincipal"     roleClassNames="javax.security.auth.kerberos.KerberosPrincipal" useContextClassLoader="true" debug="99"/>

     

     

        B) In <tomcat home>/tomcat-users.xml

     

        Add the role and user details under <tomcat-users>

     

        <role rolename="users"/>

     

        <user username="mayajose" password="password" roles="users"/>

     

     

        C) Create a new file "jaas.config" in in <tomcat home>/conf folder with the below contents.

     

        Tomcat {

     

        com.sun.security.auth.module.Krb5LoginModule required;

     

        };