org.eclipse.persistence.platform.server.wls
Class WebLogicPlatform

java.lang.Object
  extended by org.eclipse.persistence.platform.server.ServerPlatformBase
      extended by org.eclipse.persistence.platform.server.wls.WebLogicPlatform
All Implemented Interfaces:
ServerPlatform
Direct Known Subclasses:
WebLogic_9_Platform

public class WebLogicPlatform
extends ServerPlatformBase

PUBLIC: This is the concrete subclass responsible for representing WebLogic-specific server behavior.

This platform overrides:


Field Summary
 
Fields inherited from class org.eclipse.persistence.platform.server.ServerPlatformBase
DEFAULT_SERVER_NAME_AND_VERSION
 
Constructor Summary
WebLogicPlatform(DatabaseSession newDatabaseSession)
          INTERNAL: Default Constructor: All behavior for the default constructor is inherited.
 
Method Summary
 void clearStatementCache(Connection connection)
          INTERNAL: Clears statement cache of WebLogic connection using the WebLogic API reflectively.
 String getApplicationName()
          INTERNAL: getApplicationName(): Answer the name of the module (EAR name) that this session is associated with.
 Class getExternalTransactionControllerClass()
          INTERNAL: getExternalTransactionControllerClass(): Answer the class of external transaction controller to use for WebLogic.
 void initializeServerNameAndVersion()
          INTERNAL: Set the WLS version number through reflection.
 Connection unwrapConnection(Connection connection)
          Unwraps the WebLogic JDBC connection wrapping using the WebLogic API reflectively.
 
Methods inherited from class org.eclipse.persistence.platform.server.ServerPlatformBase
configureProfiler, disableJTA, disableRuntimeServices, getDatabaseSession, getModuleName, getNewTempClassLoader, getServerLog, getServerNameAndVersion, initializeExternalTransactionController, isCMP, isJTAEnabled, isRuntimeServicesEnabled, launchContainerRunnable, registerMBean, serverSpecificRegisterMBean, serverSpecificUnregisterMBean, setExternalTransactionControllerClass, setIsCMP, shouldUseDriverManager, unregisterMBean, wasFailureCommunicationBased
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

WebLogicPlatform

public WebLogicPlatform(DatabaseSession newDatabaseSession)
INTERNAL: Default Constructor: All behavior for the default constructor is inherited.

Method Detail

initializeServerNameAndVersion

public void initializeServerNameAndVersion()
INTERNAL: Set the WLS version number through reflection.


getApplicationName

public String getApplicationName()
INTERNAL: getApplicationName(): Answer the name of the module (EAR name) that this session is associated with. Answer "unknown" if there is no application name available. Default behavior is to return "unknown" - we override this behavior here for WebLogic. There are 4 levels of implementation. 1) use the property override weblogic.applicationName, or 2) perform a reflective weblogic.work.executeThreadRuntime.getApplicationName() call (build 10.3+), or 3) extract the moduleName:persistence_unit from the weblogic classloader string representation (build 10.3), or 3) defer to superclass - usually return "unknown"

Returns:
String applicationName

getExternalTransactionControllerClass

public Class getExternalTransactionControllerClass()
INTERNAL: getExternalTransactionControllerClass(): Answer the class of external transaction controller to use for WebLogic. This is read-only.

Specified by:
getExternalTransactionControllerClass in interface ServerPlatform
Specified by:
getExternalTransactionControllerClass in class ServerPlatformBase
Returns:
Class externalTransactionControllerClass
See Also:
JTATransactionController, ServerPlatformBase.isJTAEnabled(), ServerPlatformBase.disableJTA(), ServerPlatformBase.initializeExternalTransactionController()

unwrapConnection

public Connection unwrapConnection(Connection connection)
Unwraps the WebLogic JDBC connection wrapping using the WebLogic API reflectively.

Specified by:
unwrapConnection in interface ServerPlatform
Overrides:
unwrapConnection in class ServerPlatformBase

clearStatementCache

public void clearStatementCache(Connection connection)
INTERNAL: Clears statement cache of WebLogic connection using the WebLogic API reflectively. Required by Oracle proxy authentication: currently connection statement cache becomes invalid on switching to/from proxy session. This method is called by OracleJDBC_10_1_0_2ProxyConnectionCustomizer before opening proxy session and before closing it.

Specified by:
clearStatementCache in interface ServerPlatform
Overrides:
clearStatementCache in class ServerPlatformBase