Bug 152494 Support deployment of ODA Bundles in Web Application
When deploying a WAR package embedded with the ODA runtime plugins on a web application, e.g. WebLogic 9, the Stop( Shutdown Platform ) and restart service fails to restart platform correctly. This is due to instances not being released when WebLogic is shutdown. So in subsequent startup, those classes and their static variables are not re-initialized. Any objects referenced by singleton instances, such as plugin extensions objects, are thus from the previous platform instance, and are no longer valid.
data/org.eclipse.birt.data/src/org/eclipse/birt/data/engine/odaconsumer/ConnectionManager.java
/**
 * ConnectionManager manages a set of data source connections.  Calling 
 * <code>getInstance</code> will return an instance of <code>ConnectionManager</code>.
 * When the method <code>getConnection</code> is called, the 
 * <code>ConnectionManager</code> will attempt to return an opened 
 * <code>Connection</code> instance of the data source extension 
 * supported by that driver.
 */
public class ConnectionManager
{
	private static ConnectionManager sm_instance = null;
	
    
	private static String sm_className = ConnectionManager.class.getName();
	static String sm_packageName = "org.eclipse.birt.data.engine.odaconsumer";
	private static String sm_loggerName = sm_packageName;
	private static LogHelper sm_logger = LogHelper.getInstance( sm_loggerName );
	
	protected ConnectionManager( )
	{
	}
	
	/**
	 * Returns a <code>ConnectionManager</code> instance for getting opened 
	 * <code>Connections</code>.
	 * @return	a <code>ConnectionManager</code> instance.
	 * @throws IllegalStateException	if the <code>ConnectionManager</code> subclass 
	 * 									specified in the properties file cannot be found.
	 */
	public static ConnectionManager getInstance( ) throws IllegalStateException