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/DriverManager.java
private DriverManager()
	{
	}
	
	/**
	 * Returns a <code>DriverManager</code> instance for loading drivers and 
	 * handling driver-related tasks.
	 * @return	a <code>DriverManager</code> instance.
	 * @throws IllegalStateException	if the <code>DriverManager</code> subclass 
	 * 									specified in the properties file cannot be found.
	 */
	static DriverManager getInstance() throws IllegalStateException
	{
		return sm_driverManager;
	}
	
	/**
	 * Returns the <code>IDriver</code> based on driverName.
	 * @param dataSourceElementId	the name of the driver.
	 * @return	an <code>IDriver</code> instance.
	 */
	IDriver getDriverHelper( String dataSourceElementId )
		throws DataException
	{
		String methodName = "getDriverHelper";
		sm_logger.entering( sm_className, methodName, dataSourceElementId );
		Driver driver = getDriver( dataSourceElementId );
		IDriver ret = driver.getDriverHelper();
		
		sm_logger.exiting( sm_className, methodName, ret );