Oracle Java Cloud Service - SaaS Extension

All the productivity of Java, without the IT.

Examples

Install an application

  • CLI
    $ java -jar javacloud.jar
    install -user user -serviceinstance wls -identitydomain myiddomain -path oracle-javacloud-sdk/samples/apps/visitors.war -application visitor
    password: ******

  • Ant Task
    $ant -DSDK_HOME=sdk/oracle-javacloud-sdk/ -DADMIN_URL=https://javaservices.us.cloud.oracle.com -DUSER=user -DPASSWORD=pwd -DIDENTITY_DOMAIN=domain -DSERVICE_INSTANCE=serviceinstance
            <project name="sample-how-to-use-ant" default="all" basedir="."
                xmlns:javacloud="antlib:oracle.javacloud.antlib">
            .
            .
            .
                <path id="javacloud.classpath">
                    <pathelement location="${SDK_HOME}/lib/ant-javacloud.jar"/>
                </path>
                <taskdef uri="antlib:oracle.javacloud.antlib" resource="oracle/javacloud/
                    antlib.xml" classpathref="javacloud.classpath">
                            <path id="local.classpath">
                    <pathelement path="${SDK_HOME}/lib/localextension.jar"/>
                    <pathelement path="${SDK_HOME}/lib/whitelist.jar"/> 
                    <pathelement path="${WEBLOGIC.JAR}"/>
                </path>
                
                <target name="deploy">
                    <install local="${LOCAL}" failonerror="true" adminurl="${ADMIN_URL}"
                        user="${USER}" password="${PASSWORD}"
                        identitydomain="${IDENTITY_DOMAIN}" serviceinstance="${SERVICE_INSTANCE}"
                        application="${APP_NAME}"
                            path="${PATH}" jobidproperty="jobid">
                        <classpath refid="local.classpath"/>
                    </install>
                    <echo message="Install job id:${jobid}">
    
                            <job-status downloadlastlogonfailure="true" identitydomain="${IDENTITY_DOMAIN}"
                        waitfor="true" local="${LOCAL}"
                        failonerror="true" adminurl="${ADMIN_URL}" user="${USER}"
                        password="${PASSWORD}" jobid="${jobid}">
                    
                        <classpath refid="local.classpath"/>
                    </job-status>
                
                </target>
            </project>
           
               
  • Maven
    $mvn com.oracle.cloud:javacloud:install -DSDK_HOME=sdk/oracle-javacloud-sdk -Didentitydomain=iddomain -Dserviceinstance=wls -Duser=user -Dpassword=pwd -Dapplication=aap -Dpath=<path to application>

Ant - Attempt to delete only when the application exists

Ant tasks support output properties that will be set by the Ant task when it returns.

  • You can check if an application is installed.
            <project name="sample-how-to-use-ant" default="all" basedir="."
                xmlns:javacloud="antlib:oracle.javacloud.antlib">
            .
            .
            .
                <path id="javacloud.classpath">
                    <pathelement location="${SDK_HOME}/lib/ant-javacloud.jar"/>
                </path>
                <taskdef uri="antlib:oracle.javacloud.antlib" resource="oracle/javacloud/
                    antlib.xml" classpathref="javacloud.classpath">
                            <path id="local.classpath">
                    <pathelement path="${SDK_HOME}/lib/localextension.jar"/>
                  
                    <pathelement path="${WEBLOGIC.JAR}"/>
                </path>
            
                <target name="checkappifexists">
                
                    <javacloud:describe-application  debug="true" local="${LOCAL}" grid="true"
                        failonerror="false" gridwidth="120"
                        adminurl="${ADMIN_URL}" user="${USER}"
                        password="${PASSWORD}"
                        identitydomain="${IDENTITY_DOMAIN}"
                        serviceinstance="${SERVICE_INSTANCE}"
                        application="${APP_NAME}"
                        applicationexistproperty="exists">
                        <classpath refid="local.classpath"/>
                    </javacloud:describe-application>
                </target>
            
                <target name="undeployifexists" if="exists">
                    <javacloud:remove local="${LOCAL}" failonerror="true" adminurl="${ADMIN_URL}"
                        user="${USER}" password="${PASSWORD}"
                        identitydomain="${IDENTITY_DOMAIN}"
                        serviceinstance="${SERVICE_INSTANCE}"
                        application="${APP_NAME}" jobidproperty="jobid">
                        <classpath refid="local.classpath"/>
                        </javacloud:remove>
                    <echo message="Remove  job id:${jobid}">
                            <javacloud:job-status   downloadlastlogonfailure="true"
                        identitydomain="${IDENTITY_DOMAIN}" waitfor="true" local="${LOCAL}"
                        failonerror="true" adminurl="${ADMIN_URL}" user="${USER}"
                        password="${PASSWORD}" jobid="${jobid}"
                        lastlogproperty="lastlog">
                            <classpath refid="local.classpath"/>
                    </javacloud:jobs-tatus>
                    <javacloud:job-log-file identitydomain="${IDENTITY_DOMAIN}" local="${LOCAL}"
                        failonerror="true" output="${OUTPUT_LOG_FILE}" adminurl="${ADMIN_URL}"
                        user="${USER}" password="${PASSWORD}" jobid="${jobid}"
                        log="${lastlog}">
            
                            <classpath refid="local.classpath"/>
                    </javacloud:job-log-file>
                </target>
                
                <target name="all" depends="init, checkappifexists, undeployifexists .../>
            </project>
      
                       

Ant - Read data source names that are associated with a Java Cloud Service - SaaS Extension instance

Ant tasks can read the data source name that is associated with your Java Cloud Service - SaaS Extension service instance. The data source name can then be used in your application while building the application.

  • Read data source name using Ant.
            <project name="sample-how-to-use-ant" default="all" basedir="."
                xmlns:javacloud="antlib:oracle.javacloud.antlib">
            .
            .
            .
                <path id="javacloud.classpath">
                    <pathelement location="${SDK_HOME}/lib/ant-javacloud.jar"/>
                </path>
                <taskdef uri="antlib:oracle.javacloud.antlib" resource="oracle/javacloud/
                    antlib.xml" classpathref="javacloud.classpath">
                            <path id="local.classpath">
                    <pathelement path="${SDK_HOME}/lib/localextension.jar"/>
                  
                    <pathelement path="${WEBLOGIC.JAR}"/>
                </path>
            
                
            <target name="read-db-datasource" depends="initall">
                <javacloud:describe-service-instance serviceinstance="${service-instance}"
                     debug="${debug}"  gridwidth="120" local="${local}" grid="true" 
                     adminurl="${deploy-url}" user="${deploy-user}" password="${deploy-password}"
                     failonerror="true" dbserviceinstanceproperty="dbservicename"
                     serviceinstancesizeproperty="servicesize" identitydomain="${identity-domain}" apiversion="${apiversion}"
                     serviceinstancestatusproperty="servicestatus">
                    <classpath refid="local.classpath"/>
                </javacloud:describe-service-instance>
                <echo message="Properties populated into ANT: servicestatus:${servicestatus},
                    servicesize:${servicesize}, dbservicename:${dbservicename}">
                            </target>
        </project>