blob: e40e808a6bcfa5256f7945abbd91b8448844f53a [file] [log] [blame]
///*
// * Licensed to the Apache Software Foundation (ASF) under one or more
// * contributor license agreements. See the NOTICE file distributed with
// * this work for additional information regarding copyright ownership.
// * The ASF licenses this file to You under the Apache License, Version 2.0
// * (the "License"); you may not use this file except in compliance with
// * the License. You may obtain a copy of the License at
// *
// * http://www.apache.org/licenses/LICENSE-2.0
// *
// * Unless required by applicable law or agreed to in writing, software
// * distributed under the License is distributed on an "AS IS" BASIS,
// * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// * See the License for the specific language governing permissions and
// * limitations under the License.
// */
//
//package org.apache.log4j.db;
//
//import org.apache.log4j.plugins.Pauseable;
//import org.apache.log4j.plugins.Receiver;
//import org.apache.log4j.scheduler.Scheduler;
//import org.apache.log4j.spi.LoggerRepositoryEx;
//import org.apache.log4j.xml.DOMConfigurator;
//import org.apache.log4j.xml.UnrecognizedElementHandler;
//import org.w3c.dom.Element;
//
//import java.util.Properties;
//
///**
// * @author Scott Deboy <sdeboy@apache.org>
// * @author Ceki Gülcü
// */
//public class DBReceiver extends Receiver implements Pauseable, UnrecognizedElementHandler {
// /**
// * By default we refresh data every 1000 milliseconds.
// *
// * @see #setRefreshMillis
// */
// static int DEFAULT_REFRESH_MILLIS = 1000;
// ConnectionSource connectionSource;
// int refreshMillis = DEFAULT_REFRESH_MILLIS;
// DBReceiverJob receiverJob;
// boolean paused = false;
//
// public void activateOptions() {
//
// if (connectionSource == null) {
// throw new IllegalStateException(
// "DBAppender cannot function without a connection source");
// }
//
// receiverJob = new DBReceiverJob(this);
// receiverJob.setLoggerRepository(repository);
//
// if (this.repository == null) {
// throw new IllegalStateException(
// "DBAppender cannot function without a reference to its owning repository");
// }
//
// if (repository instanceof LoggerRepositoryEx) {
// Scheduler scheduler = ((LoggerRepositoryEx) repository).getScheduler();
//
// scheduler.schedule(
// receiverJob, System.currentTimeMillis() + 500, refreshMillis);
// }
//
// }
//
// public void setRefreshMillis(int refreshMillis) {
// this.refreshMillis = refreshMillis;
// }
//
// public int getRefreshMillis() {
// return refreshMillis;
// }
//
//
// /**
// * @return Returns the connectionSource.
// */
// public ConnectionSource getConnectionSource() {
// return connectionSource;
// }
//
//
// /**
// * @param connectionSource The connectionSource to set.
// */
// public void setConnectionSource(ConnectionSource connectionSource) {
// this.connectionSource = connectionSource;
// }
//
//
// /* (non-Javadoc)
// * @see org.apache.log4j.plugins.Plugin#shutdown()
// */
// public void shutdown() {
// getLogger().info("removing receiverJob from the Scheduler.");
//
// if (this.repository instanceof LoggerRepositoryEx) {
// Scheduler scheduler = ((LoggerRepositoryEx) repository).getScheduler();
// scheduler.delete(receiverJob);
// }
// }
//
//
// /* (non-Javadoc)
// * @see org.apache.log4j.plugins.Pauseable#setPaused(boolean)
// */
// public void setPaused(boolean paused) {
// this.paused = paused;
// }
//
// /* (non-Javadoc)
// * @see org.apache.log4j.plugins.Pauseable#isPaused()
// */
// public boolean isPaused() {
// return paused;
// }
//
// /**
// * {@inheritDoc}
// */
// public boolean parseUnrecognizedElement(Element element, Properties props) throws Exception {
// if ("connectionSource".equals(element.getNodeName())) {
// Object instance =
// DOMConfigurator.parseElement(element, props, ConnectionSource.class);
// if (instance instanceof ConnectionSource) {
// ConnectionSource source = (ConnectionSource) instance;
// source.activateOptions();
// setConnectionSource(source);
// }
// return true;
// }
// return false;
// }
//
//}