Ошибка при изменении чего-либо в контроллере - PullRequest
0 голосов
/ 25 октября 2018

Я использую grails 2.5.1, и моя IDE - IntelliJ, когда я что-то меняю в своих контроллерах, я получаю приведенную ниже ошибку в консоли и продолжаю происходить, пока я не перезагружаю грааль, какая-нибудь идея, что это?

spi.SqlExceptionHelper , [Thread-11] Timeout: Pool empty. Unable to fetch a connection in 30 seconds, none available[size:100; busy:10; idle:0; lastwait:30000].

У меня есть контроллер, который регистрирует в БД вот оно:

class EventLogAppender   extends org.apache.log4j.AppenderSkeleton
implements org.apache.log4j.Appender{

static appInitialized = false

String source

@Override
protected void append(LoggingEvent event) {
    if (appInitialized) {
        //copied from Log4J's JDBCAppender
        event.getNDC();
        event.getThreadName();
        // Get a copy of this thread's MDC.
        event.getMDCCopy();
        event.getLocationInformation();
        event.getRenderedMessage();
        event.getThrowableStrRep();

        def limit = { string, maxLength -> string.substring(0, Math.min(string.length(), maxLength))}

        String logStatement = getLayout().format(event);
        // use new transaction so that the log entry will be written even if the currently running transaction is rolled back
        EventLog.withNewTransaction {
            EventLog eventLog = new EventLog()
            eventLog.message = "Log4 Error Log"
            eventLog.details = limit((logStatement ?: "Not details available, something is wrong"), EventLog.DETAILS_MAXSIZE)
            eventLog.source = limit(source ?: "Source not set", EventLog.SOURCE_MAXSIZE)
            eventLog.save()
        }
    }
}

/**
 * Set the source value for the logger (e.g. which application the logger belongs to)
 * @param source
 */
public void setSource(String source) {
    this.source = source
}

@Override
void close() {
    //noop
}

@Override
boolean requiresLayout() {
    return true
}

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...