# $Id$

# language

# package org.apache.jk.ajp.tomcat4;

ajp13Connector.alreadyStarted=Ajp13 connector has already been started
ajp13Connector.allAddresses=Opening server socket on all host IP addresses
ajp13Connector.failedSocketFactoryLoading=Failed to load socket factory
ajp13Connector.failedToCreateSocket=Socket factory failed to create socket
ajp13Connector.anAddress=Opening server socket on host IP address {0}
ajp13Connector.noAddress=No host IP address matching {0}, opening on all addresses
ajp13Connector.noProcessor=No processor available, rejecting this connection
ajp13Connector.notStarted=Ajp13 connector has not yet been started
ajp13Connector.starting=Starting background thread
ajp13Connector.stopping=Stopping background thread

ajp13Processor.alreadyStarted=Ajp13 processor has already been started
ajp13Processor.notStarted=Ajp13 processor has not yet been started
ajp13Processor.start=Ajp13 processor has already been started
ajp13Processor.starting=Starting background thread
ajp13Processor.stopping=Stopping background thread
