private void reload() throws IOException {

		try {
			Properties properties = new Properties();

			File propFile = new File(PROPERTIES_NAME);

			if (propFile.exists()) {
				properties.load(new FileInputStream(propFile));
			} else {
				InputStream propFileStream = Thread.currentThread()
						.getContextClassLoader()
						.getResourceAsStream(PROPERTIES_NAME);
				if (propFileStream != null) {
					properties.load(propFileStream);
				} else {
					throw new IOException(
							"no properties for databaseconnection found: "
									+ PROPERTIES_NAME);
				}
			}
			this.host = properties.getProperty("host");
			this.database = properties.getProperty("database");
			this.username = properties.getProperty("username");
			this.password = properties.getProperty("password");
			this.port = properties.getProperty("port");
			this.embedded = "true".equalsIgnoreCase(properties
					.getProperty("embedded"));
			

			this.showQuery = "true".equalsIgnoreCase(properties
					.getProperty("show_query"));

			this.connectionFactoryInfo = "true".equalsIgnoreCase(properties
					.getProperty("connection_factory_info"));

			this.tableStructureWarning = "true".equalsIgnoreCase(properties
					.getProperty("table_structure_warning"));

			this.poolsizeMin = loadPropertyInt(properties, "poolsize_min");
			
			this.poolsizeMax = loadPropertyInt(properties, "poolsize_max");
			
			this.poolsizeBuffer = loadPropertyInt(properties, "poolsize_buffer");

		} catch (Exception e) {
			throw new IOException(
					"could not load properties for databaseconnection from: "
							+ PROPERTIES_NAME, e);
		}

	}