4 Frequently Asked Questions for Oracle Java Cloud Service - SaaS Extension

This section provides answers to frequently asked questions (FAQ) about configuring and using Oracle Java Cloud Service - SaaS Extension. This technical FAQ supplements the more general Java FAQ on the Oracle Cloud website, at the following address: http://cloud.oracle.com/java.

Topics:

How is Oracle Java Cloud Service - SaaS Extension different from Oracle Java Cloud Service?

Like Oracle Java Cloud Service, Oracle Java Cloud Service - SaaS Extension provides an enterprise-grade platform to develop and deploy business applications in the cloud. The differences lie in how you will use the service: Java Cloud Service supports deployment of custom business application development while you would use Java Cloud Service–SaaS Extension to build extensions to existing Oracle SaaS products, such as CRM, HCM, and so on.

Some of the major difference between these two services are:

  • Oracle Java Cloud Service - SaaS Extension supports standard Java Platform, Enterprise Edition (Java EE) 5, whereas, Oracle Java Cloud Service supports standard Java Platform, Enterprise Edition (Java EE) 6. Both services support Oracle Application Development Framework applications.

  • While both services can be managed and monitored through their specific consoles—Java Cloud Service - SaaS Extension Control and the Java Cloud Service Console (both web-based interfaces)—Oracle Java Cloud Service - SaaS Extension can also be controlled via a command-line interface available with the Java Cloud Service - SaaS Extension SDK. Conversely, Oracle Java Cloud Service can be managed through REST APIs.

  • With Oracle Java Cloud Service - SaaS Extension, you cannot access the configuration of the underlying application server, JVM, and/or operating system for any services, while this is possible with Oracle Java Cloud Service.

  • Oracle Java Cloud Service - SaaS Extension provides out-of-the-box support for Single-Sign On (SSO) between applications deployed on it and Oracle Software as a Service offerings (like Sales Cloud, Service Cloud, Marketing Cloud, and so on). Enabling SSO capabilities requires no effort on your part. SSO is not included in Oracle Java Cloud Service but can be configured in WebLogic by using the administration console.

  • With Oracle Java Cloud Service - SaaS Extension, you deploy applications directly from Oracle Java Cloud Service - SaaS Extension Control (a web-based console), whereas you deploy applications for Oracle Java Cloud Service by using Fusion Middleware Control, the WebLogic Server Administration Console, WebLogic Scripting Tool (WLST) commands, or an IDE.

  • Currently, Oracle Java Cloud Service - SaaS Extension is available to customers in North America and Europe. Oracle Java Cloud Service is available only from North American data centers.

For more detailed information and comparisons between both services, see the Oracle Cloud Java FAQ.

How do I create an on-premise WebLogic Server environment that is comparable to an Oracle Java Cloud Service - SaaS Extension instance?

An on-premise environment is a local WebLogic Server/Java EE environment that is comparable to an Oracle Java Cloud Service - SaaS Extension instance. An on-premise environment is useful for both developing and troubleshooting applications deployed to Oracle Java Cloud Service - SaaS Extension. For more information, see Creating an On-premise WebLogic Server Environment.

Can I set Log4j or JDK logging levels for my applications?

In the current release, logging levels can only be set programmatically. Here are examples of setting log levels for the Log4j and JDK loggers in your application code.

Setting Log4j Logger Levels

Note that setting the logger to level.INFO is not enough to log a trace.

org.apache.log4j.Logger logger = org.apache.log4j.Logger.getLogger(Log4jLoggingServlet.class.getName());

        try {
            throw new Exception("Trace example: This is an exception. This
will not be logged.");
        } catch (Throwable e) {
            logger.setLevel(Level.INFO);
            logger.trace(e.getMessage(), e);
        }

Instead, you must set the logger to level.TRACE.

        try {
            throw new Exception("Trace example: This is an exception. This
will be logged.");
        } catch (Throwable e) {
           
            logger.setLevel(Level.TRACE);
            logger.trace(e.getMessage(), e);

Setting JDK Logger Levels

Note that setting the logger to level.INFO is not enough to log a trace.

java.util.logging.Logger logger = java.util.logging.Logger.getLogger(LoggingServlet.class.getName());

        try {

            throw new Exception("Trace example: I will not appear in the
log.");
        } catch (Throwable e) {
            logger.setLevel(Level.INFO);
            logger.throwing(LoggingServlet.class.getName(), "doGet", e);
        }

Instead, you must set the logger level to level.FINER.

        try {
            throw new Exception("Trace example: Level has to be finer for me
to appear in the user log.");
        } catch (Throwable e) {
            logger.setLevel(Level.FINER);
            logger.throwing(LoggingServlet.class.getName(), "doGet", e);

If I'm using the JDeveloper IDE can I use Log4j with applications deployed to Oracle Java Cloud Service - SaaS Extension?

Yes, however, Log4j is not part of the libraries available in JDeveloper, so you would need to explicitly download and include the Log4j library into your application.

Do I need to put my Log4j properties files in a particular location?

Oracle Cloud does not affect Log4j's mechanism for locating its own configuration files; therefore, the location of Log4j properties files should be by default found on the system CLASSPATH. Please refer to the Log4j documentation for configuration file information. For more information, see Guidelines for Applications When Accessing System Properties.