org.eclipse.persistence.platform.server.NoServerPlatform Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of org.eclipse.persistence.core Show documentation
Show all versions of org.eclipse.persistence.core Show documentation
EclipseLink build based upon Git transaction ecdf3c32c4
/*
* Copyright (c) 1998, 2018 Oracle and/or its affiliates. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0,
* or the Eclipse Distribution License v. 1.0 which is available at
* http://www.eclipse.org/org/documents/edl-v10.php.
*
* SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
*/
// Contributors:
// Oracle - initial API and implementation from Oracle TopLink
package org.eclipse.persistence.platform.server;
import org.eclipse.persistence.sessions.DatabaseSession;
import org.eclipse.persistence.logging.DefaultSessionLog;
/**
*
* PUBLIC:
*
* This platform is used when EclipseLink is not within any server (Oc4j, WebLogic, ...)
* This is also the default platform for all newly created DatabaseSessions.
*
* This platform has:
*
* - No external transaction controller class
* - No runtime services (JMX/MBean)
* - No launching of container Threads
*
*/
public final class NoServerPlatform extends ServerPlatformBase {
/**
* INTERNAL:
* Default Constructor: Initialize so that runtime services and JTA are disabled.
*/
public NoServerPlatform(DatabaseSession newDatabaseSession) {
super(newDatabaseSession);
this.disableRuntimeServices();
this.disableJTA();
}
/**
* PUBLIC: getServerNameAndVersion(): Answer null because this does not apply to NoServerPlatform.
*
* @return String serverNameAndVersion
*/
public String getServerNameAndVersion() {
return null;
}
/**
* INTERNAL: getExternalTransactionControllerClass(): Answer null because this does not apply.
*
* @see #isJTAEnabled()
* @see #disableJTA()
* @see #initializeExternalTransactionController()
*/
public Class getExternalTransactionControllerClass() {
return null;
}
/**
* INTERNAL: launchContainerThread(Thread thread): Do nothing because container Threads are not launchable
* in this platform
*
* @param thread the instance of Thread
*/
public void launchContainerThread(Thread thread) {
}
/**
* INTERNAL: getServerLog(): Return the ServerLog for this platform
*
* Return the default ServerLog in the base
*
* @return org.eclipse.persistence.logging.SessionLog
*/
public org.eclipse.persistence.logging.SessionLog getServerLog() {
return new DefaultSessionLog();
}
/**
* INTERNAL:
* When there is no server, the original connection will be returned
*/
public java.sql.Connection unwrapConnection(java.sql.Connection connection){
return connection;
}
}